Wednesday, April 8, 2009

The week of no sleep

Based on how hard I consistently push myself, one might begin to wonder if I was perhaps a little bit insane.

Let's review the facts: I am developing three games at the moment: one full time (Gwabs), when on the side when I have the time (Population Control) and one is awaiting some feedback from our desired distributor before I have anything to do (NaviBlast).

So why is it, then, that I would think it would be perfectly okay to start a new game project? Using new technology I'm not familiar with?

And why would I set the goal of completing that game by midnight, next Wednesday?

The Plan

The game I am making is currently untitled. The reason that I feel that it can be completed is because of two very simple facts:

1) I was able to program the core gameplay / prototype in 7.5 hours on Sunday. Giving myself 8 days to polish it into a product does not seem unreasonable, as long as I am able to dedicate enough time to it.

2) I am working with Josiah, an old friend of mine, who I have worked on games with in the past. Him and I are both able to put in a fair amount of hours on this project to ensure that it succeeds as quickly as possible. Josiah is amazingly talented - he has been on several game projects, doing game design, level design, audio work, and pixel art. While every one of the games he's worked on was an indy game available for free, his work ethic is superb. Currently, his main project is a computer game called Worlds Beyond. Josiah also does music, and has his own band, Swimfail, under which he has released 3 LPs and 3 EPs.

The Pitfalls

Alright, so it sounds like we have a dedicated team. But that's not enough, and there are several pitfalls that need to be considered.

1) We have two people doing the job of 4. Josiah is doing all the art and audio; I am doing all programming and business side of things. At the same time, both of us have been involved in the game design process.

2) We have 8 days. But that doesn't mean that we each have 8 days to contribute. As previously mentioned, we are both actively involved in other projects. I have to give Gwabs precedence over this game, and will have to spend time on Population Control. Josiah probably has other commitments of his own.

3) Josiah does not have an iPhone. We are developing for the iPhone, but everything that we build, he is not going to be able to see. Only I am going to be able to see our final product, and he's going to have to rely on screenshots and screen captures to help him know what tweaks he needs to make.

4) Josiah lives in Victoria. I live in Calgary. In short - we are not even going to see each other in real life during the course of this project.'

5) It's on the iPhone. That means that the game is going to have to gracefully handle the player quitting at any time, incoming phone calls, etc.

The Method

So how are we going to overcome the above obstacles?

1) Rapid Design Process - almost as soon as we agreed to this project, Josiah and I spent about 3 hours fleshing out the design, figuring out how we want things to look / what we want to accomplish, and by the end of it, we had what was roughly a full on design, fleshed out as rough notes. Feature Lock has already been implemented.

2) Tiered Design - Our design allowed us to separate different gameplay elements into different categories of importance. If we don't have units that can collect resources, our game cannot work. If those units don't have an animation for harvesting resources, we can still make it clear to the player what's happening. Perhaps we don't need to include every unit; flying units, for example, add an extra layer of balancing that we may not need if time does not permit.

3) Constant Communication - We have to ensure that we are both up to date on what is going on. There can be no confusion about who is doing what, or when we can expect art assets.

The Tools

1) XP-Dev: XP-Dev is a free subversion host (up to 1000 MB) and also provides the ability to create and assign tasks, create wiki pages, report bugs, etc. We are using XP-Dev for our tasks, to sort them by priority, and estimate how much time the project is going to take.

2) Messenger - In order to remain in constant communication, we need to be able to communicate constantly. Using Windows Live Messenger (for Josiah) and Adium (for myself), we are able to constantly be available to each other.

3) Drop Box - For easy transfer of files

4) XCode / iPhone SDK / Cocos2D: These are the tools that I will be using to write the code and test it. I am using the Cocos2D engine to allow for quick development, so I don't have to spend a lot of time mucking about in OpenGL to get things on screen.

5) Josiah is using some less than standard software: where many artists would turn to photoshop, Josiah is using what he describes as "a weird obscure piece of engrish software that I can only assume is named "character mucker 1999" but otherwise seems to have no title", and modplug tracker for music and sfx. He is also using 'Cool Edit Pro 2' for mixing and mastering.

The Final Words

Is what we are attempting even possible? Can two individuals really give up all of their free time, and perhaps much of their sleeping time, for 8 days, just to make a single product on the side of their other commitments? Success or not, it's going to be a wild ride - but Josiah and I are determined to push ourselves and prove to ourselves we are capable of anything.

182 hours remain between now and the end of our project cycle. Time allowing, there may be more blog posts outlining our processes, where things take less time than we expected, where they take more. With luck, next Thursday there will be a post mortem here describing, in high level, just HOW we turned a quick prototype to a full fledged product in just 8 days.

1 comment:

Owen Ransen said...

The link to Josiah's blog is broken... :(