After all the setup mentioned in my previous post, and several talks from Simon Grey and the Global Game Jam 2013 keynotes, my team and I found an empty room downstairs, plugged in, turned on and started coding about 5.15pm on Friday 25th January. We each started with the basics, myself working on a menu and splash screen, utilising a menu class I had previously built based on my experiences with menus in the past. Making classes for the things you do a lot in your code does speed up a lot of copy-and-pasting that you would have done otherwise.
As a group we decided to address the challenge in shifts, with two coding and two sleeping/on a break at any given time. This was a sensible set up as, unlike a 24 hour competition, there is no way you can stay awake for 48 hours and code sensibly at the end.
We worked long into the night, my break being delayed until 12.30am on the Saturday, before a 5 our break back home (for which I slept 2 hours of) then worked almost all of the Saturday before a break at 5. During this time I was able to code the heart beat tracker, the centrepiece of the game architecture/fitting the theme.
When I left at 5 we had a tile system, a moving character, a camera system, a character on the tiles, a background, an enemy (though not fully functioning) and a menu. For the two of us going on break everything seemed to be going well, but for the two staying to code they had an issue with the camera class and it’s functionality, so we left to words of “rewriting the whole thing” and “fixing the massive issue”.
We were woken by a phone call at 9.30 to say they had given up on the camera and for us to return to work on it, which we did to find that the other two were abandoning the project because they didn’t understand the camera. They left and we sat down to fix what had been broken and code until hand in time at 1pm the next day (with a 2 hour sleep break in between each).
I spent many hours trying to fix the issue the wrong way then found a reasonably simple solution, before my partner found an even simpler one, rendering the issue that had caused the other two to depart moot. During the night my partner created a level while I created the collision logic for the player and game.
The morning was spent merging files and adding the final touches to get a working level to show to the judges, but I will talk more about that in the final part. Before that however I’ll summarise what I learnt from this period of the Global Game Jam:
- Work hard, work well, work fast: getting things done quickly is a key, particularly when under a time constraint, but if they aren’t done well they may cause issues later on.
- Things will go wrong: working code will break, people will leave, you won’t sleep, expect a lot of things to go wrong, so stay flexible to change things and scrap things to keep your game going.
- Check for a simple solution: sometimes hard coding is the only option, but often there is a much simpler solution, you just don’t know it yet. Try searching for issue first before coding a giant work around, it’ll save you a lot of time and effort.
I’ll leave the story here, speeding into the final few hours, and will conclude this story in the next few days. Keep an eye out for Global Game Jam – After coming to a blog near you.