A Little Bit About Blitz

Happy New Years everybody!  I know it's been a little quite around here lately due to the holidays and what not, but I think things are going to be picking back up as we move into the new year.  ColorGuess Plus is live on the App Store so if you don't already have it, you should really go get it.  For this post I'm going to talk a little bit about the development process of the Blitz Game Mode.

Thinking back to the development I would say blitz mode was relatively simple.  We didn't run into any major issues like we did with the challenge mode (which you can read about over in Austin's Blog).  However, blitz mode did bring up the new concept of different game modes, which proved to be a bit of a challenge.  The overall mechanics were pretty simple, just start the timer backwards from ten and when you get to zero, check the score and start a new game, making sure to keep track of how many games have been played.  There were a few minor things we needed stack overflow for, like figuring out how to change screens with out any user interaction.  The main challenge with blitz mode was keeping track of the different game modes.

From our early development days of the original ColorGuess! we knew that transferring a variable from one screen to another took a few extra steps.  Since we had already worked that out previously it was relatively simple to have the player select a game mode in one screen, and carry that through the entire game.  One of the major problems, though, was how and where exactly in the code to implement the different rules each game mode created.  For example, the blitz game needed to start the decrement timer and the initial time needed to be ten seconds while the standard game needed to start the incrementing timer at zero seconds.  At first the check was performed when ever a slider was moved, however this caused the timer to stop when ever a slider was being moved.  We ended up putting the check in the start timer method, which also had an initial check of weather or not a timer was already running.  There were a couple of other places we had to put in checks for the game mode but once we got those in the right places blitz mode came together quite nicely.

Overall, a lot of these minor game mode changes came around because we wanted to keep one play view with one controller.  We could have just made copies of the play view and made new controllers for each one, but that was obviously wasteful.  I think blitz mode taught us a little bit about keeping things simple and lean.

- Matt.