Description: In this four-player communication-based game, teams must work together in order to fix a defective spaceship and escape from an apocalyptic world.
Exhibit: ITP Winter Show 2019
Tools: P5.js, Arduino, Illustrator
Team members: Nicholas Grant, Tirta Rachman, Mingxi Xu, Paulami Roy Choudhury
Phase One: Brainstorming
My group began by identifying the overall structure of the game. We envisioned four consoles perpendicular to each other. The users would not be able to see each other’s consoles, heightening the collaborative tone. We created a list of interactions and identified the serial communication between the Arduino and p5.js.
My team organized the story and the feedback of the game. The first column represents audio, the second represents the monitor, the third represents the game mechanics, the fourth represents an optional projection, and the final column is the feedback from our team to improve the game.
Phase Two: Prototype for Playtesting
We divided the consoles with long pieces of cardboard and began user testing with four players. In the test rounds, we gave the users fixed directions to follow. The timing for the rounds decreased. Each of my team members analyzed the players with a carefully constructed script, which allowed us to identify the rounds in which the game proved too difficult. The users could not see each other, but successfully spoke loudly to communicate their actions.
We discovered that users usually struggled with completing tasks when the time limit became 15 seconds or shorter. Once the games were completed, we handed feedback forms to the users. The biggest complaint was the fact that the rounds did not contain feedback. In the final version, we employed audio and text feedback in the monitors of the consoles.
Phase Three: Fabrication
We tested all of the components using an Arduino Nano with 5V power. The consoles were created with MDF boards. We tested out all of the components on cardboard with the laser cutter and then began the design process for the four consoles in Illustrator. We created more paper prototypes that resembled the final version. Once the designs were finalized, we created the circuits. For the code, our project used six different kinds of sensors. The microcontrollers received digital and analog inputs. The Arduino read the incoming data while the p5.js code consisted of customized classes that processed the readings from each sensor.
Our final project consisted of pushbuttons, flip switches, mono jacks, sliding potentiometers, ultrasonic distance sensors, and rotary encoders. Since four microcontrollers connected to p5.js, four different serial communication objects were created. More importantly, since each microcontroller sent different sets of readings, customized function to parse each data were created.
After four instructions were generated, each of them were pushed to a random LCD screen. Each console detected player actions. Three variables affected the control of the flow, which were the group lives, progress to victory, and the timer for each round.