For our physical computing project in our MA course we anatomised the classic game Asteroids and rethought its logic. Originally it is a single-player game where the user controls a spaceship shooting numerous asteroids. In other multi-player games each user always stays in her own entity and, what is more, the gamers normally play against each other.
Our concept embodies a collaboration logic where four to five users depend on each other and need one another to succeed in the game. To create that dependency we designed four super-sized controllers, every one of them with a specific function:
|Seesaw – left side||Rotate left|
|Seesaw – right side||Rotate right|
|Stairs – top||Move forwards|
|Stairs – bottom||Move backwards|
The idea is mainly to move away from social networking into a more physically connected environment, whilst still maintaining a collaborative end goal on one screen.
I was responsible for the coding part:
- Communication between Asteroids (run in Processing) and Arduinos
- Arduino and sensor assembling
- Programming Arduino boards
- XBee communication
Thanks to Troy Sandal for publishing his Processing version of Asteroids on OpenProcessing which we based our game development on.
For the best possible usability we used XBees, which would not limit the users in their mobility like wires.
Moreover, to guarantee a great user experience and to retain the “magic” in the gaming experience, we hid the technology from the public eye:
The most difficult and time consuming part was making the XBees work. But, once they work, they are gorgeous magic helpers.
I programmed them like as follows:
In the end, we had the following setup:
My team-mates Dannie and Iris built the super-sized input controllers:
We exhibited the installation in the course of the “Beyond the Blink” show in our university. Our visitors loved the game and battle for the high-score. In the following are some excerpts of the visitors’ comments:
Here is our latest high-score team: