It has been a long time since I've posted anything of what I've been working on, but then again it's been a long time since I've worked on anything! I have retitled my project a few times over the many ports
The project I've worked on off and on over the years has taken many different forms and has grown into something far different than when it first started. This post will be two fold. First it will serve as an announcement. I'm moving forward with Steam Greenlight! Go. . uh vote and what not. . please. You can find it's Steam page here.
Next, I will attempt to summarize several years worth of progress and setbacks.
Take a peek of the video here as well:
At the time of inception zombies were still fairly popular among. . well pretty much everyone. Zombies have come and gone, but I've put in too much time in to call it quits. Despite the worn topic, there are a number of things that I done worth noting. If you happen to remember my old blog on Ninja vs. Zombies, then you remember the augmented movement and aiming which allows for fast paced gameplay. I have since smooth out the movement and added upper body transitions for other animations. Being able to switch between full body and upper body animations on the fly is immensely helpful.
There are some additional methods of animating which help out as well. Animations have the ability to accurately animate position if needed. As you can imagine, this has a number of practical applications. Rolling and melee animations are handled this way. I can set optional position and rotation offsets for when I need someone to end an animation in just the right position.
Speaking of melee animations, my melee system is one area that gave me way more trouble than I ever anticipated. I don't use anything fancy to accomplish it (just some ray casts and distance checks), but it never seemed to fit quite right with this style of gameplay. The biggest issue was trying to make it worthwhile to use a melee weapon. If you stop to swing a weapon everyone catches up and kills you very quickly. Running out of ammo was a death sentence. Skipping a few failed trials, I ended up implementing per shape time scaling which allows me to put everyone other than the player into slow motion for a moment. The amount of time is an upgrade that can be purchased for each melee weapon as increasing the speed of the attack. Not only does it look super awesome, but it gives the player a chance to use their melee weapon effectively and bolt before getting hit.
The AI of individual enemies makes them all work really well together, and keeps you on your toes while playing. Small variations in speed keep them well spaced, each will lead their target by random amounts, and how they respond once reaching their target is based on their aggression level. Zombies can either attack or grab. Slower zombies are more likely to grab the player for a second, and the likelihood to succeed is modified by the player's speed. I currently have four other unique enemy types that I won't go into great detail about here, but I will mention one of my favorites that did not make an appearance in the video. There are small little troll people that turn up every now and then. They're very aggressive, but not very strong. Their thing is breaking of the chase to go after dropped items. There's nothing quite like someone dropping some much need ammo only to have one of these buggers get to it first.
I have learned so many lessons over the years, but these two are probably the most meaningful for me. First, having a solid direction isn't just a good idea, it is essential! I have burned so much time just trying to figure out the layout of a particular mission or menu. The next thing is to avoid "cool ideas" in favor of good ideas. An example of this would be the limb damage I spent a long time implementing. In Hell Scout you can shoot zombies in the foot if you are so inclined. Will you ever try to while you're running for your life? Not likely, but it seemed like a cool idea at the time. And it IS cool! Instead of the of bounding box, bullets can fly between a zombie's legs and hit the kneecap of the one behind him.
The next steps for me are to finish up the last of the levels, animate the attacks for the last of the melee weapons, and improve the sounds effects. There are about a million other little things here and there, but I think I've ranted enough for one blog. The biggest issue is that I have about a month and a half left before I begin medical school! It's very exciting but doesn't leave much time for my hobby computer game. I hope I can make it in time, but honestly I'm just happy to have made it this far.
I'm open to suggestions and have pretty thick skin to blunt opinion. . . compliments are also accepted.