How to prepare for a hackathon

Over the weekend, I took part in my first Hackathon, Manchester Open Source Hackathon aka MOSH. It was a 24 hour event which turned out to be an incredibly rewarding experience in which I learned a lot, gorged on free food, made some new friends, and got back in touch with some old ones.

As I had never done anything like this before, I wasn’t sure what to expect and therefore had no idea how to prepare. So in the spirit of sharing, I’ll pass on some knowledge I gained from completing my first Hackathon.

Have an idea

This may sound obvious, but the Hackathon I attended was very open-ended; there was no set theme or limitations, which can be worse than imposing too many limits. Fortunately they posted a list of ideas before the event started, but little more specific than ‘something using a card reader’ or ‘an educational game’. Having an idea and especially having a team chosen before the event would have allowed us to start coding a lot earlier than we did. I turned up at the event on my own, and though this turned out alright in the end (I got to work with some great people I’d never worked with before), if we’d met before the event and started planning, we could have got stuck in much sooner.

Get your gear ready

I had a large number of technical difficulties. I don’t have a laptop, just an old and partially repaired netbook with an extremely temperamental wireless card, so I had to use the University machines, where I obviously don’t have a large number of permissions. This prevented me from installing the game library, so I essentially couldn’t work directly on any code regarding graphics or gameplay. I could however still work on many other vital pieces of code which didn’t require these libraries. I also didn’t bring my graphics tablet as I didn’t know I’d be working on a game (See above Re: Have an idea), so I had to wait 11 hours for my flatmate to finish work so he could deliver it (which he very generously did). Even when my graphics tablet finally arrived, I couldn’t install up-to-date drivers on the University machine, essentially reducing the functionality of my £500 tablet to that of one casting £20, little more than a mouse. A large amount  of this could have been avoided if I’d been more prepared or if I had a suitable laptop *the sound of loud hinting*.

Also, as none of us were particularly prepared, and had never really done anything like this before, we weren’t really sure how to go about starting. We easily spent 3 hours coming up with ideas, choosing a language and choosing a game library to use. We eventually rejected C++ in favour of Python, as we all had at least a rudimentary knowledge of the language and because it is so quick to write due to its undeniable simplicity. I would highly recommend using Python for prototyping designs, or quickly creating simple and readable code that works for a Hackathon.

Get enough sleep beforehand

This probably depends on the event, but this was a 24 hour event and we were all flagging towards the end, despite the massive quantities of free caffeine we were supplied with (many thanks to the sponsors).

Enjoy it

Don’t take it too seriously, it’s a learning experience, but you won’t learn anything if you don’t take it for what it is.

I’d definitely recommend going to a Hackathon to anyone interested in coding. No amount of theory can compare with getting stuck in and actually making something from start to finish, either on your own or in a small team.

I’ll write more about our actual project another time, featuring the online debut of my first sprite animation (a walking androgynous volcanologist).