Square of the Dead

or “28 check-ins later“…

This week-end, I participated to the foursquare global hackathon. I worked with Jean and Olivier on

I’ve been having an idea for a long time: imagine a virtual virus that is spreading due to our social interactions. Wouldn’t it be great to see it spread and to see how people react? Foursquare was the ideal product to build upon. So I pitched a crazy idea about virus and zombies, saying that a game mechanism was still to be defined.

Inspired by zombie movies, we worked a long time to define a simple game pluggable on foursquare. After a couple of iterations, we came up with a simple system:

Square of the Dead, rules

Players can either be survivors or zombies.

  • When you are a zombie, you contaminate every place you check into. Your goal is to spread the virus.
  • When you are a survivor, you get contaminated if you check into a contaminated place. Your goal is to survive, for this you can find guns in non-contaminated places. These guns will allow you to de-contaminate places and transform zombies from these places into survivors.

The game do not require so much actions from the players, they just have to keep using foursquare to play. We minimized the problems by adopting a cross-platform notification system that everyone is already using: emails.

Technically, we used the Play! framework deployed on App Engine using Siena. I ran into a bug that made us lost some precious hours.

We will polish the game and maybe come up with some nice other features (like a map to see the virus spreading all over the world!).
Try “Square of the Dead” now.

Olivier, designer, also blogged about his experience.

Working on the project, picture by Le Camping

I really enjoyed the hackathon. Other projects were really great. here are my favorites:

  • 4sqBox: receive files when you chek-in somewhere
  • fstalk2her: check the boy/girl ratio before going into a bar and see what you have in common with these people :D
  • Check Me In: Check-in just by facing your smartphone in front of the venue’s iPad (use case: you have no network)
  • Gettogether: very slick mobile app to organize something with friends.

AnyDance

I’ve been hacking on a little project during the summer. The idea is to use the phone as a remote controller for a game displaying on a screen. I’m building a dance game, where the players’ goal is to follow a dance seen live in a video.

I’m using the accelerometers of the phone to record the movement of the players. Then I compare this to the reference movement of this video. If the movement match, the player earn points. The best dancer win at the end of the game.
Technically, the main challenges are the processing of the accelerometer data and communicating in real time.

Accelerometer data from the phone: I could use the native APIs and build a native app, but Phonegap is providing an accelerometer API, so I could build my app once and use it on many platforms.

Data comparison: I have to use well thinked descriptors to compare the recorded data to the reference. I will start by detecting the “bumps”, their direction and their amplitude.

Live communication: I’m using some real time technology to make all the device communicating with a server in real time: my choice is to use node.js and the socket.io library (and to ideally use web sockets).

Data store: the library of dances will be stored in a no-SQL database. My choice is to use mongoDB.

Record a dance: one last challenge is to record the reference dance for a given video. I will try to use some simple machine learning algorithms to extract the reference from a set of records.

You can follow the development on my github.