The Global Game Jam 2017

Over the weekend of 20-22 January this year, the Spark Games development team took part in the Global Game Jam (GGJ) for the first time. For those that don’t know, a game jam is a challenge, for professionals and hobbyists alike, to build a game in a limited time frame, in this case 48 hours.

 

The team consisted of myself (Unity developer), Rob Traynor and Steve Sandbach (web developers), Andy Bellass and Danny Hill (artists/designers), and James Marshall (sounds, ideas, and testing (which we never got round to)). The theme was announced on Friday at 5pm, ‘waves’, so we quickly got to work on an idea which would involve all of us as evenly as possible. This is easier said than done, but we soon came up with an idea involving a pirate ship with several job roles, a pilot, a lookout, and an oarsman.

The build would include the Unity game, the top down view of the ship, game world and HUD, which would be controlled remotely by players using a web client on their phones browser, effectively acting as a controller. To top this off, Rob T would have to bridge the two using a node.js server. We made a few quick diagrams, agreed on an art style, wrote a few task lists and got to work.

 

Well, we went to a pizza place round the corner for beer and pizza. ‘Fuel’, right?

 

            After the much needed fuel stop…

we got back to the office and sunk in for a long shift. I started working on the ship, using squares and circles, making it move and beginning the world generator. Steve began working on the web client controller, using the Pixi.js library, with the remote help of another of our developers, Joe Westwood (honorary mention). Rob started on the server, and as I recall, had a lot of problems getting Unity to talk to the web client. The artists plugged on with their lists, and as the night went on we gradually started replacing the squares and shapes with ships and ‘pretty’ graphics.

By day 2, we had a lot of the Unity functionality working, but Rob and Steve were having a lot of problems getting the web side of things working as intended. (This is why I was never overly interested in web development…). At this point, we wanted to be able to test the full spectrum and make sure it was fun, and our idea wasn’t a waste of time. Sadly, nothing goes to plan in a game jam, or in a development cycle in general, for that matter. We worked the whole day, stopping in the evening to go to Manchester’s finest burger stop, Almost Famous, (and trying NOT to overeat and ruin the rest of the nights work for us!).

By 5am, after about 15 McDonalds coffees (we had run out in the office), I finally crashed, with about 90% of the Unity game working, and still no ability to test. I managed 2 hours sleep on the sofa, before being woken up and forcing myself to continue.

almost famous trip during the global game jam

Then there was doubt.

It was at this point I started regretting using my weekend off in such a destructive manner. Luckily though, when I walked over to the desks, where Rob was STILL plugging on without any sleep, he informed me he had managed to get it working.

 

So, we had a working, sketchy game  for the Game Jam and we had a functional albeit barely consistent server/controller setup. 8 hours til deadline, we were beginning to think we had made it a bit too complicated for ourselves! Tight deadlines, I find, have a way of pushing every last bit out of people, and in that 8 hours, we solidified everything, and then polished it. Graphics were given another pass. A few bugs were fixed, although we still hadn’t played the game the way it was intended.

 Final Touches

Meanwhile, James had been sourcing sounds and writing up the description and all the other additional bits we needed to submit, but the game still seemed a bit dull. This was about the time he had the grand idea to record some real life pirate sounds on his iPhone, 10 minutes later they were in the game and with that one little change, we were loving the gameplay!

all hands on deck, our game for global game jam

So, with a little over an hour to spare, we gathered round, hit play, and actually managed to play an entire game without any crashes or significant problems! (This is akin to witchcraft in the development world).

I have a tendency to spend too much time on individual components when developing a game, I like to have things working properly before moving onto the next. This format of development stripped us of that pleasure though. Every time I started an item on the list, I had to remind myself, ‘get it working, that is all’. So that’s what I did. Every time my mind started to wander, I had to immediately reign it in to the task at hand. I know the artists had to adopt a similar method, especially with three developers constantly badgering them for more assets, and I’m sure the other developers did as well.

           We did it!

I believe that this Game jam served as a great tool for the team, it had a group of us working together directly on the same project for a start, which was new and fun, we all learnt a little about the others areas of expertise, and the most important part is that we actually managed to ‘finish’ a game and of course submit within the required deadline. I’m looking forward to doing the Game Jam again in the summer, hopefully with a bigger team!