Project documentation/trailer:
Project development progress :
Processing program running on the central computer:
http://dl.dropbox.com/u/5328204/sabotage/sabotage.pde
Arduino program running on the AVR in the box of the team 1 player:
http://dl.dropbox.com/u/5328204/sabotage/Xbee_PlayerBox_Team1.pde
Arduino program running on the AVRs in the boxes of the team 2 players:
http://dl.dropbox.com/u/5328204/sabotage/Xbee_PlayerBox_Team2.pde
Web App running on the iPhones of the players:
http://dl.dropbox.com/u/5328204/sabotage/sabotage_webapp.zip
We are amidst a war between two fractions. Fraction A holds and defends certain area that is attacked by fraction B. The defense stations of that area rely on power provided by a power plant that fraction B managed to sabotage. In order not to lose, fraction A sent his best engineer to reactivate the power plant to hold the enemy at bay, since it only can hold the fort for a few more minutes without power . Fraction B however is aware of that and also sent a team to prevent the engineer from doing so. So a race against time begins.
Sabotage is a game that is played by two teams. Team one consists of only one person, team two of three people. Multiple power stations that are distributed on several floors across the EV building need to be activated one after the other by team one in a certain time to win the game.
Team 2 however has to prevent team 1 from activating the stations by catching the person, who activates the stations. It can do that by finding the person and coming close to him or her.
In order to make the game not too easy for team 2, only the player of team 1 knows where the next station is that must be activated. Team 2 however knows where the last station is that has been activated by the player of team 1.
Since the game is settled in the present, each player has a smartphone displaying a web page that shows the game status, for ex. where the certain stations are, when they were activated, if a player was deactivated, if a team has won, if the time is over etc. Also, each player has a device that indicates if another player is nearby. That makes it easier to look for the player of the opposite team.
Additionally, the player of team 1 has a portable trap that can be placed somewhere to deactivate a player of team 2.
The stations can only be activated by the player of team 1, since only he has the key for them and only he knows where they are, but if a player of team 2 finds one of the stations by accident, he can wait there for the player of team 1 to arrive to catch him. The stations however are pretty small and inconspicuous and therefore not easy to find.
The stations and player devices send their data to a central game server that interprets the game rules and refreshes the web page on the smartphones. The players are therefore every time informed about the game progress.
With this project, we are trying to make something that is fun and useful, but never is experienced in the same way. The game transforms a familiar space into a fictional scenario and in doing so, it lets the player see and experience their environment in a different way. The game features a pretty large-scale playing field, which poses a challenge to us to realize it. The target audience are mainly the students that study in the EV building and are interested in technology, but the actually the game can be played by everyone who has access to a smartphone and is in a good vital condition.The game also has a social aspect, since people have to team up to achieve their goal. Another interesting characteristic of the game is that the artifacts associated with it are barely noticeable for outsiders. With the game, a new reality is created in the existing reality that only the players can see. So we have a combination of virtual and physical spaces here.
As for most games, the main purpose of “Sabotage” is to have fun, but it also highly involves the user, it demands physical as well as psychical effort.
The game is in a way based upon the results and experiences that we got with the communicate project and uses many techniques and technologies learned throughout the CART360 class, such as switches , sensing, communication, and kind of wearable computing. The animated objects in this case are the players.
Apart from the game experience, Sabotage encourages people to reflect on how they interact with the environment. It shows how networked our surroundings are and makes people experience their environment in a new way and lets them think about it, it displays the high degree of interconnectedness and dependency on technological devices that we face today. Sabotage highly uses technology and networks, but gets the people away from sitting in front of a computer what I think we do far too long nowadays. It also created and interface to a world or scenario that only exists in our imagination, so basically every player has its own game experience that depends on the personal creativity. And also, as mentioned at the beginning, because the game experience is different every time, you can play it more than once and since the power stations and the whole electronic equipment is portable and powered by batteries, it can be installed in every desired location.
Sabotage is related to virtual reality games as well as to location based games, such as the games by Blast Theory like “Ulrike and Eamon Compliant”
http://www.blasttheory.co.uk/bt/work_ulrikeandeamoncompliant.html
or Location-based games from the research group “Gangs of Bremen” like the game “On the Streets” http://www.gangs-of-bremen.de/
What distinguishes Sabotage from these kinds of games is that neither special equipment like virtual reality glasses nor GPS devices that mostly don’t work in buildings are needed to play it.
After we got our idea, we were looking on which technology could ensure a reliable measurement of distances between moving objects. We looked at AM radios first to transmit a signal and measure its strength, but there were no reliable sources that could prove that this is actually working. Another problem was the large range that needed to be provided, because the playing field should contain several floors of the building. Since we already made positive experiences with the XBees in the Communicate-project, we decided to get additional five XBee Pros to meet the range requirements.
When trying to set up the software for the boxes, the Xbee-Arduino Library caused us big problems, since it was not not made intuitively and also not documented at all, so it took hours to figure out how certain functions work. Our plan to send AT commands to change the ID and Destination of the Xbees via an ATMega328 chip didn’t work at all, because the library caused very confusing casts between decimal, hexadecimal and character values, so it was not reliable to work with.
As a solution we put a second Xbee inside this box and control it with an output pin of the AVR.
To provide the real-time updated webpage, we were thinking of using an Arduino Ethernet Shield first, but then we found a cheaper solution:
The Xbee is not connected to an Arduino, but to a PC running Processing. Processing analyzes the values of the Xbee and writes HTML files into a Dropbox that syncs them to be online. The webpages refresh themselves every second.
For our game, we first built the basic functionality and then added features that would be nice to have like a noticable signal when you get caught.
Actually, we wanted to have vibrations motors inside the boxes that the players wear, but we couldn’t get them running somehow, although we used a mosfet to provide enough power, so we just put an additional blinking LED inside that signalizes that the player has been deactivated. The purpose of the motor was to give a noticable feedback, but this is also ensured by the LED, since it is in the field of view of the player all the time.