The utility game is a customizable web-based game which can be used to demonstrate the effects of network externalities on the adoption of new technologies. The game is freely available and can be played in a networked lab setting or via the Internet.
The Game Master application requires a recent version of Java, e.g. 1.4, available at java.sun.com. The application can be downloaded from:
tom.portegys.com/research/UtilityGame/GameMaster.jar
The jar file contains all the source code, associated files, build command, HTML files, and the Master executable code. It can be started on most Windows systems by simply double-clicking the jar file; otherwise, the following command will start it:
java –jar
GameMaster.jar
The source files can be unpacked from the jar file with the jar tool that comes with Java, or with an archiving tool such as WinRAR, available at www.rarlab.com. The system can then be built by clicking the buildgame.bat file, and tested with the rungame.bat file.
The Game Player is a signed Java applet that will run in most browsers, including Internet Explorer. It is available at:
tom.portegys.com/research/UtilityGame/gameplayer.html
If you want to install the Player applet on your web server, copy gameplayer.html (included in the jar file), and GamePlayer.jar to the server. The MasterHost parameter in gameplayer.html can be set to the IP address of the Master host, which will allow players to connect to it.
The Player applet communicates with the Master via Java RMI (Remote Method Invocation), necessitating the signing of the applet with the jarsigner command, invoked from the buildgame.bat script. The jarsigner command expects to find a public/private key pair on your computer having the alias “ugame”. This can be created with the keytool command as follows:
keytool -genkey -alias ugame -keypass your_password
Upon connecting to the Master, your computer may prompt you to unblock a network connection to allow RMI to proceed.
Figure 1 – The Game Player Applet.
Figure 2 – Game Master Application.
Figure 1 shows the Player applet after initialization. Figure 2 shows the Master application after initialization.
A possible scenario goes as follows:
The player’s and master’s screens might now appear as shown in Figures 3 and 4.
Figure 3 – Player During Round 2 of Game 1.
Figure 4 – Game Master During Game.
Choice Release Fee: The Master can use this to set a fee that players can choose to pay to release their submitted item choice, thus freeing them to make another choice.
Noise: The Master can introduce noise into the S values visible to the players by using this control. As an example, suppose the Master sets this value to 50%, and a particular item S value has a value of 10. In this case 10 coin tosses (representing the 50% noise) are made and the number of heads become the visible S value; so on average the player would see S as 5. Notice that at a noise level of 100% all players see S equal to 0 and thus have no idea of what items have been chosen (other than their own choice). The noise determination occurs independently for each player which will likely result in different visible S values for each.
The Y Parameter: Initially this is set of NA (not available), which means that the Y and D values are not visible to players. Setting Y to a numeric value results in the screen views shown in Figures 5 and 6. The D value represents the number of players who have not chosen an item. This is multiplied by the value of Y and added into the utility value of the item.
Figure 5 – Y and D Visible to Player.
Figure 6 – Master Sets Y Parameter.