During our course in ubiquitous computing we got the task to build something ubiquitous with the provided phidgets. We chose to build a ubiquitous version of the 80's arcade classic "Whack the Mole" since we thought it would be a fun, addictive way of integrating the computer with a really physical game.
To make the game a little more sophisticated than the original we made a multiplayer game where one person using a virtual version of our game can connect to the physical game board. Instead of attracting players just with good looks we added a motion sensor which activates a splash-screen and a attention-getting tune on the computer screen.
To see the game in action just watch this movie clip.
The requirements for this project were very loose. Every group would come up with a project idea and implement it. There were some requirements, the solution was to include as many of the following features as possible: network communication, interaction between the virtual and physical world, usefulness and/or entertainment, embedded hardware and of course it had to be related to ubiquitous computing. To do the implementation the phidgets kit was available.
Our idea came from an arcade game called "Whack-the-mole". The originally game was built in 1982 by Taito. Our project uses the game concept, and Technology available for us, to create this game where the user interacts seamlessly with a computer. The user can play on a physical board against another player over the network, or against himself (and just try to get better score than last time). The physical board has moles that pop out from holes in random order and the users' task is to hit the moles so they go back into the holes again. The project also consists of several software applications that are described later in this report.
Probably everyone has seen this game Whack-the-mole, either on some Tivoli or on the internet. It is a videogame with the same task as our game. The original design is made of a screen that has three rows of three mole holes each. Players slam the paddle that corresponds to the hole that the mole had appeared in. This implementation is not as much physical as our implementation but it is the same game anyway.
Here is another version of the whack-the-mole game that can be played directly on the internet.
The physical board consists of a box, were moles pops out of four holes in the top part of the board. The physical board must be solid to hold for some serious whacking. The popped-out mole will be put back in its original position by the player, who hits them with a hammer every time they pop out. The box consists of a bottom, a frame around all the sides and a top part that works like a lid. All the parts of the box consist of wood, the frame is of more solid wood and the bottom and the top of some lighter material.
When we were going to build the pop-out mole we first talked about using magnetic force, with a push/pull solenoid activating the device. But pretty soon we realized that that solution was no good. Instead, with some help from one of the teacher assistants, we came up with the solution of using the servo engines to pull a string of some kind. By doing that, a locking mechanism releases the mole and it pops up through the hole in the board. The mole, which is a small ball that is cut in half, is placed on a bolt. For the ball to stay on the bolt we had to use some hard cardboard that was attached to the bolt and the ball with nails. On the bolt we also attached a spring to make the mole really pop up. This bolt was placed through a piece of wood, were we also placed the locking mechanism.
To make the software aware of the moles movement we used a switch that sense when the bolt is released. The switch is placed under the bottom part and attached using some tape and cardboard.
The board has a motion sensor, seen to the right, to detect potentional players. When someone passes by the software, described below, is activated and tries to attract the person with sound and images.
To help you get a better understanding of the game we have provided the following demo for quicktime.
In this section the system is described from a more technical point of view.
Our project consists of two software client, one controlling the physical board and one simulating a physical board. Move the mouse cursor over the screenshots below to get information about the different parts of the interfaces.
The following phidgets where used in the project:
The following pictures describe how the wiring was done.
The protocol used to connect the virtual board to the physical is specified below. The virtual board is referred to as client and the physical board as server.
S -> C NEWGAME <length of game> <mole frequenzy>
This command is sent when a client is connected to the server and a new game is started. The length of the game is a number entered by the player on the physical board. The mole frequency determines how often a mole can pop up. The frequency ranges between 400 and 2000 millisecond.
S <-> C <current score>
During the game the client and server sends their current score, i.e. numbers of hits so far, every two seconds.
S -> C ENDGAME <score>
When the game ends at the server the client receives this command to ensure that the game ends for both players. To be able to calculate the winner the final score is sent with the command. When the client receives the command it sends a final message with the score, se above.
According to the specification we wrote at the beginning of the project, the relation between our "whack the mole" and the UC field is obvious.
We held our argumentation on 4 points :
Hence, regarding the specification, "Whack the mole" is an ubiquitous computer.
However, a question arises (and we come here to the Insights part), and can be said as this : is our game really an ubiquitous computer ?
After our presentation, a few students stressed the point that our game could have worked without any computer interaction.
That is true. Whack the mole can be a fully electromechanical game, and doesn't really need a computer to be interactive. Moles pop out at random, and the electronics to build such a game are to be very simple. The "player detection" and network gaming we added were more some kind of "gadgets", which moreover could have been done without a computer : two boards linked together by wires (or wireless, why not ?) can communicate over a network, and player detection can be achieved without any problem with hardware electronics (it's just a matter of capturing a component value).
To conclude this self-criticism, we could have built this project without phidgets nor any "computer link", without making any use of the "virtual world", and the remark of the students is valid.
So, is our game an ubiquitous computer ? Is it related to the field of Ubiquitous Computing, or not ?
First, what is a computer ? It is a device that automatizes a set of operations for a human being. A counting frame is not a computer. A mechanical calculator is a computer. Whack the mole is a computer because it automatizes a game, which consists of popping out devices out of a board (which, a thousand years ago, would have been done by hand) for the pleasure of its user. Moreover it is able to count the score for the player (not like on a babyfoot board where you count yourself).
Okay then, so even a purely mechanical Whack the mole would be a computer. I'd answer "yes", as long it works automatically.
But is it an ubiquitous computer ?
What is an ubiquitous computer anyway ? A definition I like is that it is a device that makes a link between two worlds : on the one hand, the physical world, made of nuts, bolts and everything else that makes it "real", and on the other hand the virtual world, made of bits, bytes and everything else that makes it "virtual". An ubiquitous computer, hence, is a kind of portal. As a computer, it realizes operations for the user, and its operands lay in the virtual world.
A word to describe the virtual world is "data". Virtual world is only data processed by computers. Data processing can be considered to be either part of the virtual world or the physical world, maybe it is part of both. Where does this data comes from ? From computers. The virtual world creates itself. The user is the initial creator, but all data is formatted for computer use.
Then, does our "whack the mole" makes use of the virtual world ? Well, indeed it does, as it is aware of its own state (which moles are popped out, which moles are pulled in, the score, and a few more parameters). This internal representation is virtual, even if the virtuality is limited to itself. And it is able to communicate a part of it to another "whack the mole" game. It is "conscious" of its own state, which for example prevents it to pop out a mole that is already popped.
There is still a problem. A mechanical "whack the mole" game would also have this "state representation" stuff too, and hence should be considered as an ubiquitous computer. We can argue for long on that subject. But think about the definition of "ubiquitous computer" above. An ubiquitous computer is a portal between the physical and the virtual world. When you turn off an ubiquitous computer, the physical world doesn't disappear, neither does the virtual world. Of course, if we turn off all the computers at the same time, the virtual world will disappear.
When we turn off our "Whack the mole" game, it works also this way. As long as there is at least one "whack the mole" running over the network, the moles virtual world is still here, even the internal state of a peculiar device is forgotten when the device is shut down. In our prototype we use a point-to-point network protocol, but we could imagine a peer-to-peer network protocol for moles, which would enable players to interact with a global community of mole-whackers.
It's a strange virtual world. But it is one, indeed. Hence "whack the mole" is an ubiquitous computer.
From the previous discussion, we can see we had a lot of insights, a lot of occasions to think about the nature of ubiquitous computers. Ubiquitous computers do not have yet a real definition, hence our proposal : devices that are a portal between worlds. Of course, there is more to that (else a magnet on a wire would also be some kind of portal between the real world and the world of electrons), but this is the idea. Even if it has no CPU, even if it is only mechanical, a device can be an ubiquitous computer as long as it acts on more than one world, as long as it enables the human being to reach things she was not able to access by herself. The other requirement is that that world should be independent from the device (and should remain if the device is shut down), hence the word "portal".
What is left is a matter of philosophy, whether for example the world of litterature disappear when you close a book, or if it remains as long as at least one book is readable (which would make books some sort of ubiquitous computers - considering they make the important computation of showing a lot of words organized in a meaningful manner, thus providing an automatic source of imagination for the user (interesting viewpoint, eh ?)).
The picture of the mole, featured on the gameboard and in the physical client, was taken from Peter Wood's homepage.
Thanks to Fabien and Akademiska hus for lending us tools to work with the wood.
Last modified 2004-01-20