|Sometimes You Just Can't Win - Behind the Scenes|
With Behind the Scenes, I hope to document some of the development process, some of the challenges and other background info that happened when making this game, strictly from a development standpoint. I'm not sure how technical it will get, but I hope you'll find it interesting.
Making an iOS Game from scratch
Choosing to work on iOS was an interesting decision, with both really good and bad consequences falling out of it. As someone who hasn't officially written code for a while (and was never that fantastic with it), it didn't really matter whether I went Flash, XNA, etc... Part of the decision was really jumping on the iOS bandwagon, the potential audience size, and forcing myself to learn a programming language again. Learning Objective C was interesting, if not challenging at first. Yet it's kinda like riding a bike, it's something that I eventually remembered how to do it.
Other decisions were much more hit and miss. For one, deciding to do a game on a platform that I've never worked on before was already a risky decision, but I managed to compound it by saying "hey, let's support the iPad by making it a universal app" and "I still got a 3G Phone, so I want to support that too". These decisions really dragged out issues that hasn't been pleasant to deal with.
The decision on choosing cocos2d over other frameworks though? That's a pretty fuzzy one for me right now. It's definitely saved me a ton of time and headaches trying to learn more about how to implement stuff, but would choosing something else (like Corona or Unity) have been better? I really can't tell.
Designing game components
Someday I may dig up the crudely drawn sketches, but it's interesting to note that the basic design was had stayed pretty constant right form the start. I knew that the core game was based around the idea of buying things, which affects a set of basic meters, and the meters were what players had to manage. Early on in the process, people kept on asking me what kind of game it was, and all I had for like the first 5 months were menus. It's a game about menus, and if you strip it down right now, that's still what the game is all about: click on some box, which affects your bars.
Part of me had always likened the concept as like a virtual pet simulation, and it was pretty clear that the game itself is in managing resources and forcing players to choose an order of operation. As the game concept got more and more refined, I started describing to people that it's like The Sims, but more frantic. It's somewhat surprising that it's stayed that close to the original plan.
Building a playable game system
The game really had two main hurdles as far as design goes: 1) An event system, something that allows me to trigger messages to the player, and something to trigger things to happen on the screen for players to react to; and 2) The User Interface, how people interact with the game.
The event system was more of a technical challenge for me, and it's a fairly simple queue system with data written in XML so that I could generate new events and conditions easily (there's a good ending to this). The UI though, was something that I had spent a long time second guessing myself over. At one point, all buttons would retract, leaving only the most active layer, but it then became to restrictive as players may not be aware of the other choices available to them. The current method shows the current selected branch, but uses up more screen space and makes it feels too clutter-y. I ended up with the current solution only because I believe playability still trumps aesthetics when it's down to a tiebreaker.
One of the things I had insisted on right at the start was for me to do all the artwork and music for the game. Restricting myself to an "pixelized" artstyle was a deliberate move that paid off, with the game feeling consistent with it's own setting. Outside of the message bubbles that "emote thoughts", the visuals just serve as a way to "jazz up" the screen, essentially the icing on the cake.
Most, if not all the assets were hand-drawn and created from reference photos and memory. Is the office scene a depiction of the desk I worked at? Not exactly, but pretty damn close, as far as I remembered.
And then there was the music...
As I had mentioned in the credits, the music and sound effects was also done by me, and they were generated with either GarageBand (YMCK 8-bit plugin) or with KorgDS-10 synthesizer. Did I have any musical training? Sort of, a long time ago, and it wasn't worth much. Yet as bad as it sounds right now, I still had to do it and leave it in the game. Sound effect, for better or worse, is vital to the feel of a game: when you press a button, you expect both a visual and an audio feedback, and when that feedback is missing, you know something is wrong.
Oh, and the actual game...play?
Ironically, the part that should have had the most time actually ended up with the least amount of work. In my mind, I had roughly mapped out the 12 stages, and the general flow of the game from the start, but actual event scripting never happened until 24 hours before the game was submitted.
My design and testing phase was a very quick and simple iterative loop, and it went like this:
1) Plan out the objective of the stage, what the expected "resource" will be the crux of the stage.
2) Draft up a quick event scenario with some quick numbers, play test it, see how it feels.
3) Normally, it won't even work, so using what I have, revise numbers, adjust timing of events, and iterate over it.
4) Repeat step 2-3 until it plays "right".
5) Now, play the game with a much slower response/make sub-optimal choices, and see how the game plays. The idea is to make sure that it's at the right difficulty for most people to be able to pass the stage.
6) Playtest all stages so that it can be completable.
One final thing to note: The "Overtime" gift, as it exists right now, is both the "win" button, and it serves as the "oh I get it" part of the design. Yes, it's there to guilt trip you into using it. Yes, it's there to make you feel bad, but it's also there to set you in the emotions that I wanted to get out of it. However, all stages are completable WITHOUT ever using it.
No, I don't have an achievement for that. Maybe I'll add it in at some point.
Thanks for letting me ramble on. If you have any questions, comments, whatever, feel free to contact me on twitter @HaroldLi or email me: harold.hf.li [at] gmail.com