Saturday, June 15, 2013

Killing Zombies Never Felt So Good

As a fan of zombie levels from just about any game that has them, I'm pretty excited to have played the first of BlitzBotz's zombie Arena. The appeal for me has always been that the games mechanics stay relatively the same, but the goal is completely different, providing an opportunity to take a break from pwning noobs online in the case of FPS games, for instance. The concept for BlitzBotz zombies runs pretty parallel to other game's zombie levels, in that in order to survive, you need to be accurate. Missing too many zombies in any given time frame will soon leave you overrun, and although the zombies generally move relatively slow when compared to the movement of the player, the sheer number of spawns can make short work of anyone with bad aim.

The zombies arena wasn't done just for the fun of it, though. There is a method to my madness that goes beyond the scope of wanting to drop the living-dead over and over until I can best my high score. Since I am programming this game single-handedly, it can become a bit of a pain to constantly be logging into and controlling two BlitzBotz at the same time. As I was working on the server's damage calculation algorithms, I found that I was spending more time trying to move the players into and out of shooting range than I was actually getting work done on the formulas. The solution just so happened to have killed two rocks with one cockatoo... a zombie level would provide me with a never-ending supply of AI-controlled NPC's to shoot down while also providing the game with a level-theme that a lot of players are familiar with and enjoy playing. Now, as I calculate damage functions and tweak weapons data, it is much easier for me to test the results of this work, while also allowing me to have a little fun while working.



First and fore-most, a huge amount of recognition is due to the creator of the zombie model itself, which I found in Unity's Asset store (https://www.assetstore.unity3d.com/#/content/6474). Chances are we will be replacing this model with our own for the official release of BlitzBotz, but this model was done so well that it has made working on the zombies arena much, much more rewarding. The model itself looks awesome, and the animations that it came with work perfectly with the game. So, thank you too BITGEM for not only creating this awesome game model, but for providing it in the Asset store for such an incredible price!

Moving on, the concept for the zombies was the same as everything else for the game: we want a zombies high-score board, and we want to ensure that every score on that leaderboard is legit. This required that the server constantly track the movement and position of all zombies to ensure that manipulation of the network data could not be achieved. The zombies movement is handled much like the players movement, with the exception that it, as well as attacks, are handled server side. As with everything else, the client is merely a graphical representation of the data on the server. My hope is that this will ensure an accurate leaderboard.

There's still work to be done, however. The zombies do not attack yet, and although I am confident I can get this done relatively quickly, I have a lot of work to do in the next few days (work that is not BlitzBotz related, but keeps the bills paid). The game is also limited to the first wave of zombies, but again, finishing this will not take long as the majority of the work has already been completed. Each wave you will face more zombies, and they will have more health and move faster. There will also be 'raging' zombies that move much faster than the standard zombies, and although they will be few and far between, they should be a bit a wrench in the players plans as they get higher and higher scores. After that I will be programming damage for grenades and then making the shield work for blocking attacks as well.

Considering how much this new zombies arena has helped me with testing the movement and attack systems thus far, it is already well worth the time I've put into it. The fun of playing the finished arena in the future will be icing on the cake, and I'm excited to start getting some scores up on the leaderboard in the coming weeks. I'm hoping to go live with the zombies Arena soon, so keep your eyes peeled on our dev blog if you'd like to be one of the first to make the leaderboard!

* Note: I tried ezvid for the first while capturing this screen recording and already regret it. The coloring is off and for some reason the program does not allow you to export the video at all... I was forced to upload the video to Youtube, then download, edit it, and then republish to Youtube manually. I am still looking for a better solution for my screen recordings, and hope to be purchasing a new graphics card soon to increase frame rates in the future.

No comments:

Post a Comment