Every day I am getting closer to being able to release Single-player Zombies, as well as the first Droid version of BlitzBotz. The most recent updates were the completion of the remaining action buttons. Up until now, the shield, while animated, did not actually protect the player at all. I have since added scripts that now block any attacks that come from the direction the player is facing. Rather than taking damage, the attack gets blocked and the player lowers the shield and has a few moments to get away from the zombie before the next attack comes. A little adjustment on my scripts will allow the same to happen in player vs. player arenas, but that work is for another day.
Next, I found the jet-pack's automated movement setup to be frustrating. Previously, when using the jet-pack, the player would automatically be moved a set distance as they were flying. The problem with this was that, on occasion, the player would land on an approaching zombie. Not always being able to see where you would land before using the ability was becoming more of a hindrance than a help. My solution was to rework the entire jet-packing setup, which now allows the player to move the flying BlitzBot manually, and flight time has also been increased. While flying you have complete control of where your zombie goes, and with some practice, complete control of where you land as well.
Last but not least, I reworked the waypoint & movement systems. The original system detected collisions on a plane that was the same shape as the arena, only slightly smaller, which would allow the player to walk up to a wall, but not into or through it. That worked as expected, but I quickly found the system to be a bit annoying, as it would cause me to die on occasion. The problem was that, when a zombie drew near and I needed to get away quickly, I would sometimes inadvertently click just outside of the designated collider, which would keep me standing in harms way and the approaching zombie I was trying to escape from would attack me before I had realize what happened. I solved this by extending the collider to well beyond the size of the actual arena, allowing the player to [temporarily] walk through the walls. Then, to ensure they stayed in the designated play area, I used the colliders surrounding the arena and cast a ray between the player and the requested waypoint. If the ray hit a bounds collider before reaching the waypoint, I simply moved the waypoint to the position of that collision (where the wall starts) and the players can now only move within the bounds of the arena, but the player can click anywhere on the screen to move in the desired direction. This makes escaping danger much easier, faster, and feels more natural all around.
The list of things I have left to complete before releasing single-player zombies is growing shorter. The current list is as follows:
* Add status text to the login screen (for bad login credentials, etc.)
* Add ammo limitations and reload functionality for weapons
* Add shield recharging (shield will begin recharging x seconds after an attack; armor will never recharge)
* Version checking, to ensure all clients are running the latest update
Once those four items are completed, I should be ready to release single-player zombies as well as a Droid version of the game to the public. The web-player available via blitzbotz.com will also be updated to reflect the new changes. There may be a few small things that I need to add to the list as I progress, but I am still confident that I can have this release ready for the first half of August. For now, it's back to multiple cups of coffee and long nights of programming.