Last week we had a very full office. Our .net team had four new(ish) starters: Tom and James and Sava and Plamen visiting from our Bulgaria office. The .net team spent the week getting to know the newbies as well as having a lot of great discussions about “The Pebble Way” our new protocol for developing world class software.
As we had a packed office we figured this was a great opportunity to have another hack day. After the success of the last hack day we decided to go for something a little different - games.
With the theme set everyone arrived bright eyed and bushy tailed at 8am at pebble HQ. After scoffing a tasty breakfast courtesy of al desco we got to work. A few people got up to pitch ideas they had for games and everyone got into teams.
After a little deliberation the teams were…
- WTF : Tak & Matt
- Keyboard demon : Vince & Mark
- Battleships : Joseph, Akash, Sava & Toby
- Hangover hunt : Daniel, Tom, & Plamen
- Campfire quiz : Alex & James
Then it was time to get stuck in. Some teams dived straight into the code, some did a fair bit of planning with pen and paper and some people even started writing tests! Professor Kliq on the stereo and everyone got to working hard.
There was a quick break where everyone stuffed their faces with more al desco delicacies before more hard work hacking. It was great to see the office at capacity and to see teams of people who hadn’t worked together before.
After 10 hours of hacking we all downed tools and relaxed with a slice of pizza and a cold beer. When all the pizza was gone everyone crowded round monitors one group at a time as everyone showed off the fruits of their labour. At the the end of the day we had 5 working games which was more than any of us hoped for. Here’s a list of what the pebblers got done in just 10 short hours.
Tak & Matt
WTF is a simple image guessing game. At the moment it supports guessing cities and movies. It uses the flickr api for getting images.
The initial idea was to create a taboo-style guessing game in a google hangout https://developers.google.com/+/hangouts/, but the xml format seemed restrictive and we couldn’t figure out how to load external files, so we decided to just do a simple web site for now.
Try it live here
Vince & Mark
Keyboard Demon is a simple keyboard based game about mashing keys as quickly as possible. Based on Hacker typer.
Joseph, Akash, Sava & Toby
Hack-ships is an extended idea of Battleships. This game is designed for two players to play in a multi-user environment. A player can create a game and invite his/her opponent via email. Instead of a square board on a plane surface we’ve chosen to play the game on a Google map.
Both players get notified of the circular target-zone enclosing the opponents location. Players can shoot anywhere in the circular area in order to blow up their opponent. The game is turn-based. Hack-ship is a C# MVC3 application with the core game-host being hosted as a WCF service.
Daniel, Tom, & Plamen
The game works by asking the player a series of questions. They then have to go to the location (a pub!) and answer the question with either location specific information or using location data from their browser or phone. In this way it leads the player around various pubs in a treasure hunt style.
Technologies we used; App: Java/Android SDK Website/API: C#/MVC
Both the website and the phone app were basically wrappers for the API, using JSON to send and receive questions and answers.
“The day went really well, it was good fun. It was surprising how simple it was to create an android app, even implementing geolocation was fine to get done in a day (with no prior experience). There were a few gotchas at the start, like not realising that everything had to be done on a separate thread from the UI thread. However, the Android documentation was good and there was a wealth of information on Stack Overflow so nothing posed too much of a challenge. Some of the code got a bit grubby at the end when we were rushing, but that’s the point of a hack day!”
Git repo is here
Alex & James
The Campfire Quiz project set out at 9am with the aim to create a game which would run a question and answer game over the web-based real-time group chat tool Campfire. After some initial investigation we decided to make a general use quiz Gameplay engine capable of consuming any generalized question provider and outputting to any chat API. Having decided on a rough plan we then go to work writing Tests for the Game Engine, thats right we decided to use TDD on a hack day :O, to compound this we were also taking an Extreme Programming approach. In this way we progressed through the day writing a failing test here, refactoring production code there, swapping keyboard every half an hour and making tea on the hour, the pace was truly blistering and by mid afternoon the fruits of our labour were revealed, 2 nay 3 thoroughly tested expertly implemented classes and no less than 20 lovingly crafted unit tests, exercising ALL of the functionality, i.e. Asking and Answering a question… ahem.. anyway we took the decision to split off and create a question provider and a wrapper for the campfire API. By 6 we had both in place and were ready to rock well apart from some small bugs causing the api to die after a few seconds. By 7.30 however we had these bugs “mostly” conquered.
The result of this project was a reusable game engine which with a few extensions could be used to:
- Alert the team that some build has broken on CI and award points for delegating responsibility / fixing
- Spout general knowledge questions from several providers including: Stack Overflow, IMDB and from team members
The project also produced a working C# Chat API for Campfire which could (with polish) be used to to build a desktop campfire client for windows. More to follow on this…
After a round of show and tell we all had a vote on who’s project we liked most. Drum roll, And the winner is…
Keyboard Demon. Well done Vince and Mark!
By this time it was pub o’clock so we all celebrated with a cold one at the pub.
Some of the teams will be writing up more detailed posts about their games and source code to the games will be available on github shortly.
If you’ve got any ideas for the theme of our next hack day or would like to get involved please let us know in the comments section or on twitter.