Bomb Defusal Game: Defuse Dash
Concept
The bomb defusal game is an interactive physical and digital game where players must complete a series of tasks using a combination of hardware components and a computer interface to “defuse” an Arduino bomb within a set time limit. Each task involves different components such as buttons, a potentiometer, and an ultrasonic sensor, providing a variety of challenges that test the player’s reaction speed, precision, and problem-solving skills.
Responsibilities
- P5.js
- Visual Display: Renders the game interface, including task instructions, status updates, and timers.
- User Interaction: Processes and displays inputs received from the Arduino, allowing players to see the results of their actions in real time.
- Game Feedback: Provides immediate visual feedback based on player actions, such as changing colors or displaying messages to indicate success or failure.
- Arduino
- Input Reading: Collects and processes inputs from physical game controls (buttons, potentiometer, ultrasonic sensor).
- Logic Handling: Executes the core game mechanics based on player interactions and sends the status to P5.js.
- Output Control: Manages physical outputs like sounds (buzzer or servo) to enhance gameplay interaction.
Game Mechanics
Task-Based Gameplay: Players face multiple tasks that they must complete to defuse the bomb. Each task uses different components:
- Button Presses: Used for tasks like code entry, where players must press the correct sequence of buttons.
- Potentiometer Adjustments: This might involve setting a dial to match a specific level displayed on the P5.js interface.
- Ultrasonic Sensor: Requires players to move an object to the correct distance from the sensor as shown by the computer interface.
- LEDs: Used to provide visual feedback on task status (e.g., success, warning, error). The Arduino controls these LEDs based on the game state and player inputs.
- Piezo Speaker: Can emit different tones or alerts based on game events like task success, failure, or warnings.
Time Limit: The game is timed, adding pressure and requiring quick thinking and fast responses. Failing to complete tasks within the time limit results in a game-over scenario.
Current Progress
- Circuit Setup: Configured a basic circuit with 2 buttons, 1 potentiometer, and 1 ultrasonic sensor connected to an Arduino Uno.
- Arduino Programming: Developed code to read inputs from the hardware components and send this data to the P5.js application via serial communication.
- P5.js Programming: Set up a P5.js sketch to receive data from Arduino and visually display game elements such as task instructions, player inputs, and a timer.