Assemble your team. Invent a never-before-seen game. Art all the art. Code all the code. It's a no holds barred, non-stop, game dev battle royale, face to face—IN THE OCTAGON. (Okay, the computer lab wasn't technically octagonal.)
Oh yeah, and you have just 48 hours.
That's the setup for Global Game Jam. From their website, GGJ is:
the world's largest game jam event (game creation) taking place around the world at physical locations. Think of it as a hackathon focused on game development. ... In January 2016, we had over 600 locations in 93 countries create 6866 games in one weekend!
While I've participated in a number of game jams (including Ludum Dare and Adventure Jam) this was my first in-person jam and my first jam with a team. It was such a great experience and I can't recommend it enough. It really doesn't matter where you're at in your game development career (or hobby!), everyone can get something valuable (or lots of things!) from participating.
Forming the team
If you didn't come with a team and you're as introverted as I am, the first part's going to be tough. In my head the conversation went a little something like this:
me: Hi! I'm a programmer with no demonstrable skills. The unfathomable depth of my incompetence has claimed the lives of many brave souls, crushed by the pressure and lost to darkness. Letting me join your team will spell certain disaster for you and everyone near me.
them: Um... sure.
Standing around in a bunch looking for teammates is going to be awkward. But as all the networking gurus will tell you, you've got to just break right through that awkwardness head first. I lucked into a fantastically kind and talented team; Natalie and David from Fancy Fish Games, Sara from Sun Labyrinth, and Quinn from Ramble House Games. So with two artists, three programmers, and a coffee machine, we set to work.
The theme for the jam was "waves", which seasoned our brainstorming with "making waves", brain waves, the superposition of waves, and all sorts of delicious ideas. Eventually we honed in on a design for a 2D puzzle game with classic "doors/buttons/crates"-style mechanics, but with four characters across four boards simultaneously, each taking input from the previous, putting their own spin on it, and passing it down the chain. Our protagonists are telepathically linked, but their anti-conformist minds alter their interpretation of the brain waves like a game of telephone. This amounts to some devilishly complex puzzles!
(Yes! You get to swap the order of the rooms. And, yes! This does become necessary to solve the game. I did say "devilish", didn't I?)
Enriching these mechanics we've also got a lovely story told entr'acte about this band of misfits helping each other escape from the evil Magistrate's prison to put an end to the mind-control of an entire world. This is where you really get to see the art shine.
It's tough to pick one thing to highlight for a lesson-learned, but the weekend was a wealth of experience working on a team. The need to coordinate the efforts of three programmers under such a tight timeline is huge, and we occasionally found each other stepping on toes or fighting with the technology so as not to overwrite each other's work. To some extent these are skills a team builds over time: common language and established practices makes rapid and precise communication possible. Time is not a luxury during a jam, so unless you're bringing an established team, difficulties here are probably just inevitable.
What you can do, though, is spend time planning before diving in. Sketch out a rough architecture. Clearly delineate the areas of responsibility, and decide how systems will communicate across those lines. In retrospect, we didn't do quite enough of this and it contributed some amount of chaos, duplicated efforts, bugs being fixed and re-introduced, people trying to figure out what to do next, and so on. Our submission came down to within minutes of the deadline, scrambling to panic-fix bugs way past the time to do so safely and rationally. Much of the credit has to go to the quality of the team and their ability to work under pressure that we managed to turn in anything at all.
Yet we must wonder if we could have done more with better organization. Lest I sound too doom-and-gloom at this point, let me just say that without self-criticism there can be no learning. And learning is what jams are all about!
Additionally, as a programmer it's easy to put your head down, crack through some devious bugs, and forget about what is arguably the most important part of your game: the art and sound. Have a plan for integrating assets from your artists. If they're comfortable with the tech and can do it on their own, great! Get them into the software workflow. If they'll need to rely on a programmer for that, decide on a go-to and be willing to jump in if the go-to is swamped. Just don't bottleneck your art team or make them wait forever to try a playable build: that's just not fun.
After a (slightly) stressful and a sleep-deprived weekend, it was amazing to see a finished product. And I am super proud of the game we put together. Yeah, there are a few bugs, but all of the important ideas are there and playable. We had a few players who were absolutely determined to get through the puzzles and that, I think, speaks volumes. (If you would like to try your hand, you will find a Windows build here.)
Lastly, stay in touch with your team after the jam. Before we even left the jam we were talking about shaking out the last few bugs and getting all of the art in the game and where it was supposed to be for a real release. Don't worry, I will keep you informed when I have more news on that front.
Here's a much-deserved shout-out to Game CoLab for hosting the jam in Phoenix and doing so much to promote the video game industry in Arizona. Thanks to UAT for the space, and the judges and sponsors for making it possible. And thanks to all the other jammers for bringing great competition, for sharing their games and playing ours, for words of encouragement and overall being awesome even in tight quarters.
See you all—and more—at the next jam!