Chimes and Imitari
The concept of the game shows the use of Arduino and P5 to build a simple listening/memory game to recreate fun sound patterns displayed on the screen using push buttons.
The goal of the game “Chimes and Imitatri” is to show that we can make a more fully detailed interactive system with physical controls, and that we can keep a user engaged with the system we built.
Early Product Sketch
- Arduino Uno
- Long Wires
- 5 Arcade Push Buttons
- P5 Web Editor
- DC Power Supply
Basic User Journey Map
Game Intro page- w/ INTRO sound effect
“Press to play” button [UI]
Random sequence pattern is generated with corresponding buttons at the same time
Timer is set off (5mins countdown)
Patterns display on screen:
Show random sequence on screen to the player: one by one, patterns increase 1 sec apart
Sequence disappears after showing patterns
Input patterns on display by the player:
Reads sequence input by the player
Read input sequence from push buttons
Record each button press
If all input has been made , then verify the guess
Verifying the guess:
Check player’s guess against the generated random sequence
Correct: Player was right. => Increase difficulty level and goto start game=> Reward buzz sound => level up to the next round
Incorrect: Punishment buzzer=> three tries=> game over (restart game)=> GameOver sound effect
Times up [00:00]:
When countdown has ended: Time is up sound effect
Game stops => Total points accrued for each team displayed on screen
Resets the game + timer resets
Accrued Points resets to 0
Process & Troubleshootings
Got recommended using the Arduino Button Library to make the buttons work as a keyboard system. First, we only used two buttons to test serial communication using Arduino and P5js. Button 1 is connected to digital pin 6, and button 2 is connected to digital pin 5 in Arduino Uno for testing. Then we checked the serial communication between Arduino and P5. The next step was to make a demo system of the game. The The player should guess the correct pattern of the numbers (1 and 2 for now) to go to the next stage of the game. One troubleshooting we faced was how to give a player three lives before the game over.
︎ User Testing 01
︎ User Testing 02
Since we have an index up to 4 when a player guesses a correct answer at the end,
it will not show the final shape and go to the next round, and also, we need to keep tracking the player state in P5. And also, it won’t go to the next stage when a user wins first round of the game. So, we added an argument to the newGame function in P5. We made the “shouldPlayIntroSequence” argument to be true and set it as false when the user goes to the next round.
︎ User Testing 03
1. Laser Cut the Wood Panel
Six panels for making a box for the button station. The arcade buttons will introduce users by lighting up to let them know which button is related to a specific sound at the stage's beginning.