Survival Tactics Developers Blog
This game is my own concept; a multiplayer first person shooter in the style of arena shooter games such as Quake 3. The main mechanic is the bunnyhopping movement and the fast firing projectile weapon.
The initial prototype development of this game proved easier than I anticipated, though not without any challenge at all. First, I implemented a Unity prefab made by TheAsuro on GitHub based on the concepts and mathematics of this blog post.
Though it may have been better to figure this out myself, I saw it more as using my resources, and I made sure to study how the script works, so that any bugs or issues related to the script I could figure out myself instead of relying on another programmer to fix it for me.
One such issue was the player's view spinning out of control whenever you hit a wall or other object. This was fixed by simply constraining all the rotation of the ridgidbody on the player, though I'm embarrassed to say it took me a while to figure that out. It's a simple fix and doesn't prevent the player from looking around with the mouse controls, since the camera rotation is independent.
Though it may have been better to figure this out myself, I saw it more as using my resources, and I made sure to study how the script works, so that any bugs or issues related to the script I could figure out myself instead of relying on another programmer to fix it for me.
One such issue was the player's view spinning out of control whenever you hit a wall or other object. This was fixed by simply constraining all the rotation of the ridgidbody on the player, though I'm embarrassed to say it took me a while to figure that out. It's a simple fix and doesn't prevent the player from looking around with the mouse controls, since the camera rotation is independent.
The weapon, ammo, and health systems all were easy to implement, and worked pretty much as intended. The only issue was with the weapon not firing after depleting all the ammo, then picking up more. The issue was where I was checking whether or not the weapon could fire, and it would be stuck to false after the player ran out. I was able to quickly fix this, though, and it now works fine.
|
Implementing the multiplayer functionality still proves to be a challenge, as Photon, the system I'm using, is a little beyond what I'm used to. I am slowly getting the hang of it, though, and hopefully once I test it, I should be able to iron out any issues pretty quickly.
This video is from earlier in development, but the main mechanics of movement, the weapon, and ammo system are all shown.
We now have a map, and some UI. Credit to my teammates Wyatt and Serge for creating those. Development has been progressing smoothly, but I wish we had a bit longer to flesh out this game. If I worked on this game beyond the end of this class, it probably won't remain singleplayer, it'll evolve more to match the concept I had in my GDD; a singleplayer retro shooter set in a cyberpunk world.
As for what I've actually been doing, here's a sample of the respawning ammo/health box code
As for what I've actually been doing, here's a sample of the respawning ammo/health box code
This works really well, and allows for the map designer to simply place down spawn point prefabs where they want.
For the ammo boxes themselves, I changed them to actual 3D boxes instead of cheap looking sprites. Well, the art is the same, but they look much better. Additionally, I added this line into their code to make them rotate:
For the ammo boxes themselves, I changed them to actual 3D boxes instead of cheap looking sprites. Well, the art is the same, but they look much better. Additionally, I added this line into their code to make them rotate:
This makes the boxes look so much better, even if my artwork on them still leaves something to be desired.
As for the networking, some testing has ironed out virtually every bug I could find, and multiple players are able to run around and shoot each other quite easily. If we were able to put in some sound design and some indication of being hit, it'll start to shape up to be actually a pretty fun game. Unfortunately, I don't think time will allow for it, the game's due the first week of December. My priority right now is implementing a scoreboard so we can have an actual game that has a winner.
As for the networking, some testing has ironed out virtually every bug I could find, and multiple players are able to run around and shoot each other quite easily. If we were able to put in some sound design and some indication of being hit, it'll start to shape up to be actually a pretty fun game. Unfortunately, I don't think time will allow for it, the game's due the first week of December. My priority right now is implementing a scoreboard so we can have an actual game that has a winner.
The End Result
We were constrained by time and unable to implement all of the features we wanted, but the game's foundation is solid. The biggest accomplishment is that the multiplayer works great, and players are able to move around and shoot each other with little to no latency or connection issues. If we had more time, we would polish the game to make it more gamified - adding a scoreboard, more detailed HUD, and sound effects, as well as art assets for the characters and map.
Overall, while the game did not come out exactly as we wanted, we are still proud of what we could accomplish.
Overall, while the game did not come out exactly as we wanted, we are still proud of what we could accomplish.