the following text is a guide to installing, running and playing stuckJunk-v1, a multiplayer music game based on the audio recording stuckJunk, which documents the process of me trying to fix my junk drawer (in which something was stuck).
to play stuckJunk-v1, each player needs a laptop with Google Chrome installed. one of the laptops will also function as the server to which the other laptops connect, and only this laptop requires the game to be installed. the steps below explain the installation process:
- download and install node.js.
- download stuckJunk-v1 (click on “Clone or download” and then on “Download ZIP”) and unzip the downloaded file.
- open the command-line (Terminal in Mac or Command Prompt in Windows).
- change directory to where you have unzipped the file using the “cd” command.
- type “npm install” and press enter.
to start a session:
- type “node stuckJunk-v1-server” in the command-line and press enter (make sure you are in the directory where you have installed stuckJunk-v1).
- create a wireless local network and set the network of the other laptops to the network you have just created.
- open Chrome and go to the following address: “localhost:3000”. also open Chrome on the other laptops, type in the address bar the IP address of the network + “:3000” (for example, if the IP address is 169.254.43.193, type “169.254.43.193:3000”), and press enter.
- choose how many players will play the game, and let each player choose her/his color and where to begin. note that it is always possible to abort the game by pressing “a” on the keyboard (then you can refresh the page to create a new game).
- when you are done, close the session by pressing Ctrl+C while in the command-line.
the screenshot below is taken from the very beginning of a 3-player game seen from the perspective of the red player. in the main part of the screen there is a board, which consists of 24 rectangles of different sizes, representing different segments of stuckJunk, the audio recording mentioned above (click here to learn more about how the recording is related to the board). after pressing 1, 2, or 3 on the keyboard, the red timer located at the top-right corner of the red-stroked rectangle will start counting down, and the corresponding segment will be played by the laptop, to which a pair of headphones should be connected. just a single headphone is to be used, as each player should be able to hear both the segment of the recording played by her/his laptop and the sounds she/he and the other players are producing.
“I”, the letter written at the center of the red-stroked rectangle indicates how the recording is to be interpreted. its meaning is explained in the abbreviation legend at the right-bottom of the screen. the green and blue rectangles represent where the other 2 players are located, and as can be seen, the letter of a given rectangle is visible only to the players who are located in that rectangle or in the rectangles adjacent to it. in this respect, it is important to mention that although the rectangles always correspond to the same segments of the recording, the letters are assigned differently each game.
the 3 rectangles with the light red fill are the rectangles to which the player can move after the red timer reaches zero, and the rectangle outlined with a red dashed line is the selected rectangle. in addition, a red line is drawn between the rectangle in which the player is located and the selected rectangle to which she/he will move. changing the selected rectangle is possible while the timer is counting down by using a USB triple foot switch or 1, 2, and 3 on the keyboard. the leftmost and topmost rectangle corresponds to the left foot switch; the rightmost and bottommost rectangle corresponds to the right foot switch; and the rectangle between them corresponds to the middle foot switch. note that with the exception of the corners, players can only move to adjacent rectangles in straight lines and always have 3 choices. therefore, one rectangle is often randomly omitted (in the case of the example above, it is the one to the left of the rectangle in which the red player is located).
to finish the game, the players need to accomplish 3 objectives: first, all should find the stuck junk, that is, find the rectangle in which the abbreviation “sJ” is written (there is only one such rectangle); second, all should play together as if they were the junk stuck in the drawer, that is, be in the “sJ” rectangle simultaneously; and third, all should reach the end, which is represented by an additional rectangle shown at the bottom-right corner of the board after the second objective is accomplished (see the screenshot below).
after everyone reaches the end, a log file is automatically generated and saved in the “logs” subfolder. log files can be used to replay games. to do so, go to the following address while stuckJunk-v1 is running: “localhost:3000/log_reader”. then, drag and drop the log file into the browser, and press 1, 2, or 3 to start replaying the game. by default, you will see an overview of the game, monitoring everyone who is playing. to view the game from the perspective of a specific player, press the first letter of her/his color: “r” for red, “g” for green, “b” for blue, “o” for orange, “c” for cyan, and “m” for magenta. to go back to the overview monitor perspective, press “v”.
for a description of the process of developing 2 performances of stuckJunk-v1, addressing some of the questions that arise while playing it, see ccloudlab1x2. chapter 5 of this book (click to open as PDF) was based on it.