Whack the Mole

An ubiquitous computing project, fall 2003

The Physical Device

Abstract

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.

Introduction

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.


Back to top

Related works

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.


Back to top

"Whack the mole"-howto

The physical board

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.

Whack the mole game board The physical board and the pink hammer in the background.

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.

The locking mechanism, locked The locking mechanism, open
The locking mechanism. On the left the bolt is locked and on the right it is released.

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.

Switch under the game board Servo engines
To the left is a picture of the switch. To the right the servos that release the moles.

The motion sensor
The motion sensor

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.

Video demonstration

To help you get a better understanding of the game we have provided the following demo for quicktime.


Back to top

System description

In this section the system is described from a more technical point of view.

Software

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.

Physical client


Move the mouse over the screenshot above to get more information about
the different parts of the interface.

Virtual Client


Move the mouse over the screenshot above to get more information about the different parts of the interface.

Wiring scheme

The following phidgets where used in the project:

The following pictures describe how the wiring was done.

Connection of the servos Servo motor one control mole 2 and 3 while motor two control mole 1 and 2.

Connection of the switches Switches attached under the game board. When the mole is realeased the switch register it and alerts the computer.

Connection of the Interface Kit The interface kit has a motion sensor connected to anlog input 1 and four digital switches connected to the digital inputs.

The Protocol

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.


Back to top

Discussion: relation to ubiquitous computing and insights

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.


Back to top

Concluding remarks

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 ?)).


Back to top

Acknowledgements

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.


Back to top

Last modified 2004-01-20


Start a new game.
Information about the current game. The time remaing and moles whacked so far.
The score of the potential opponent.
The high score is only stored until the program ends, then it is reset.
Information about opponents connecting or disconnecting.
Set the length of the game, default is 60 seconds.
This controls the delay between the moles. The time unit is milliseconds.
Start a new game. A new game can only be started when not connected to the physical board.
Time remaining of the current game.
The virtual representation of the game board.
This controls the delay between the moles. The time unit is milliseconds.
Current score, i.e. whacked moles.
The score of the potential opponent.
The high score is only stored until the program ends, then it is reset.
To connect to the physical board enter the name of that computer. The port number used is 4321 and it is set by default.