|From the BlastZone 2 v0.95 demo released Sept '07|
I needed to take a break from the game for a few months while I finished my Computer Science degree. I figured it was a good time to take in all the feedback and decide what direction I wanted to take the game from there while I devoted most of my time to other things in my life. Around that same time, the demo release of my game got quite a bit of attention, including a freelance sound designer who wanted to help with the game. I graciously accepted his offer and he supplied a wealth of great new sound effects for the game.
By December '07 I was done with school and could finally devote much more time to my game. At that point I decided to take a long break from the technical side of the game and solely focus on level design for the rest of mission mode. I had a goal of choreographing a half hour long experience for it. I knew it would take a long time for such a task, but I knew it would be worth it in the end and really make my game stand out from other shooters out there. Most shooters I played only had a handful of standard enemy types and each level would throw handfuls of them at the player, only varying where and when they would appear. This I thought would detract from other shooter games that were otherwise very well designed. My goal was to hand animate every individual enemy in the game to make the experience completely unique from beginning to end. While I made sure the game had cool weapons and abilities for the player to use, I made the conscious decision to focus the vast majority of my gameplay design on level design. I knew there would be players out there who would look for the kind of level design many other shooters have, so I addressed that with the "Enhanced Survival" mode, which used a dozen or so base enemy types and generated levels on the fly, but with the extra speed and intensity I wanted to maintain in the game to keep its identity.
My process for designing each level was to create storyboards scene by scene, then animate them all out using 3D Studio Max. I did this to save time over creating my own level editor from scratch. I created several 3DS Max plugins to export to the level file formats I created for the game and effectively turned 3DS Max into a level editor.
Progress on level design went very well and most of it was done until November '08, which was a big turning point for the project from the technical side. I had an interview with a bigger game company in NYC. I was happy with where I was working at the time, but I wanted to test the waters and see what other opportunities were out there for me. Since BlastZone 2 was the center piece of my portfolio, I had them analyze parts of my codebase. The response I got was rather jarring, pretty much saying that while I was able to accomplish amazing things, my codebase was poorly designed. Looking at my code, this response made sense to me, since BlastZone 2 initially had a very small scope, then was expanded later on. The basis I started with was not designed to manage such a huge game and adding new features was getting more painful to do and maintain. In the end I did not get the position I interviewed for, but the lesson I learned from that experience was extremely beneficial. At that point, I decided it would be worth while to redesign my entire codebase from the ground up and do it right this time. This process took about 11 months to complete, ending in October '09, but the benefits were huge. Now I could add new features and polish existing ones with much less effort and I even created an alternate render path for OpenGL ES support, which is used for iOS and Android devices. In the end, I was able to create a much better and more polished game from the redesigned code.
Stay tuned for the next blog entry for BlastZone 2 and its continued development!