With the 2011 Global Game Jam coming up next weekend, I wanted to take some time to help those who would like to try their hand at HTML5 game development at this year’s GGJ. In this article, I will explain why Akihabara is a good candidate for game jamming and how to set yourself up in the days before the jam (or at the very least right at the beginning of the jam) to be an effective jammer with Akihabara.
A lot of the advice I’ll offer in this guide is generally relevant to having a happy, fun, and effective game jam as a programmer regardless of whether you use Akihabara, but I will tailor this guide to working with Akihabara. This guide will be geared toward helping those who plan to act as programmers in their jam team, but I will try to not assume too much advanced programming understanding.
What to learn
Here are some things that will be useful to learn or learn more about to prepare for jamming with Akihabara.
Akihabara’s graphical capabilities are all based upon the CANVAS element, as introduced in the HTML5 spec.
If you’d like to learn more about HTML5 tech, including audio, check out the excellent website HTML5 Rocks. It’s a completely free site that provides 100% developer-oriented tutorials, samples, and even a “code playground” to help you learn pragmatic HTML5.
If you’re programming on a Mac, I cannot recommend TextMate strongly enough. Unlike all the other tools I recommend in this guide, it is not free, but it is well worth the cost.
Obviously, if you plan to use Akihabara at a jam, it pays to learn it ahead of time.
Start by going to the Akihabara website and reading up on the framework there. In particular, check out the demos Kesiev (the author) provides to give you a taste of what Akihabara can do without too much trouble, right out of the box.
After that, I recommend going through the tutorials that Darius Kazemi & I wrote on this site, which you can find here. They walk you step-by-step through creating a simple game from scratch in Akihabara.
Setting up a great environment
Here are some tips for setting up a great collaborative environment to reduce friction in development and let your team always focus on the work at hand and getting as much fun/awesome into your game as possible.
Git (source control)
First of all, let me be very clear: USE SOURCE CONTROL. Full stop. It’s not hard to setup or use and I’ve seen several projects fail because major amounts of code were lost when no source control was in use. USE SOURCE CONTROL.
Now that that’s been said, I strongly recommend you use Git. Git is a simple, flexible, and (once you get to know it) straightforward source control system that is especially well-suited for loosely-structured collaborations like game jams. One huge advantage of using Git is that you can set up a repository in minutes, for free, on GitHub.com. GitHub makes it easy to share your source code with others after the jam as well as see changes that each team member has made in a nice visual format.
If you’re working with any artists, writers, or sound engineers, it will help to have an easy way for them to share their files with you. Dropbox is an excellent solution for this (thoroughly field-tested at recent Boston Game Jams, I assure you!), and you and your team members can make a free account there in minutes. It’s easy to learn how to share directories, as well.
I’ve found that the zen of file sharing with Dropbox comes from the fact that team members can drop their files in there and can also update them whenever they want without any need for direct technical intervention. I used to trade around files via USB thumbdrives, but that required both team members to interrupt what they were doing… every time! With Dropbox it’s as simple as saying “hey, new file is dropped [or updated]”.
What’s more, you could share your entire project directory in your Dropbox space, thus allowing your artists, writers, and sound engineers to add and update content that can then trivially be added to source control by the programmers.
Good luck on your game. I hope this guide helps you hit the ground running and keep your process fun and creative. Have a great Global Game Jam!