7

Hack Cambridge, A Lesson In Recursion

Making something fun and making friends, even when your project doesn’t go to plan

On the weekend of the 28th January, me and three hundred-ish tech enthusiasts descended upon Cambridge’s Corn Exchange for the second edition of Hack Cambridge. Here’s a little review of how it went.

The nice thing about Cambridge is that it’s only an hour away on the train, which, while it isn’t the cheapest method of transport, does the job reasonably well. And since this was my first hackathon in the UK since March, it was great to be able to bring a suitcase that didn’t need to fit into an overhead locker — this weekend, I had the luxuries of comfy clothes, a blanket, a pillow, and toiletries that didn’t have to be less than 100ml in volume.

It was clear from the moment I arrived that the organisers iterated on their first event last year to improve their event’s formula this year. They invested heavily in more wireless access points as well as dedicated Ethernet switches, meaning that whilst the Internet connection was a little slow at times, it survived the 1,000+ devices we threw at it.

Also, if there’s any hackathon organisers reading this, bring bean bags to your event please. Seriously, they’re fantastic for both relaxing on and sleeping on. Also, healthy food options were a great sight to see. Finally, I can safely say that I had the best night of sleep at any hackathon at this event!

Cup stacking highlights

Anyway, enough about the event itself. What did we make? My team, consisting of Matt, Yuvesh, and myself, spent a few hours brainstorming (ideas are hard okay) before settling on a project of choice — a multiplayer game aimed at being played by a large audience or crowd on a big screen or projector, which would be controlled by the audience’s smartphones or other devices. We planned on working without any server for our game; instead, we implemented Pusher’s upcoming feeds API, which allows clients to send data items to and receive from named feeds. We then used a simple jQuery-based web app for the controller, and Unity for the onscreen game.

Unity was where we started to have our main problem — since the feeds API wasn’t yet completed, it only came with a limited set of language bindings (off the top of my head, JavaScript, Swift and Android), none of which would work with Unity. However, we did find out about Pusher’s REST API, which allowed us to poll every half a second for any new feed items. We had a little trouble getting the API to work for our use case (new items rather than historic items), but we got the demo working just before judging started, so I was very happy that we had something to show to the judges.

You can check out our source code here, and also our Devpost listing here. Many thanks to the hard-working organisers, mentors, volunteers and sponsors for making the weekend brilliant for us attendees!

Walking through Hack Cambridge Recurse