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.
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.