Project Description:
Vocal Leap is a voice-controlled platformer game where the player uses sound to make a ball jump across moving platforms. The goal is to reach as many platforms as possible without falling.Â
What I implemented:
Voice-activated jumping triggered by sound volume.
Dynamic generation of platforms with random heights and widths that remain continuous.
Gravity and basic physics to make jumping feel natural.
A scoring system that rewards jumping onto new platforms.
Process:
Set up the canvas and microphone input using p5.js.
Created and tested a Player class with physics-based movement, including gravity and jump logic.
Built a Platform class, generating platforms dynamically and making them scroll from right to left.
Implemented collision detection to allow the player to land on platforms.
Added scoring logic to increase points when the player successfully jumps to a new platform.
Displayed the score and audio feedback to guide the player.
Challenges Encountered:
The player often failed to jump due to microphone sensitivity and threshold calibration.
Balancing jump height and forward movement was tricky to ensure the game felt playable.
Platform generation occasionally caused platforms to overlap or be too far apart, making it impossible to reach.
What I learned:
How to capture and process audio input in real-time using p5.js.
Gained experience with physics-based movement and collision detection.
Understood the importance of fine-tuning thresholds, mappings, and game parameters to achieve balanced gameplay.
Improved debugging and iterative testing skills to make the game feel responsive and playable.
Future Improvements:
Integrate Teachable Machine or speech recognition so the player can try more diverse functions.
Add increasing difficulty: platforms moving faster or having larger gaps over time.
Introduce different platform types, such as disappearing or moving platforms.
Add sound effects, background music, and visual effects like particles or motion trails for jumps.
https://editor.p5js.org/VivianaviVi/sketches/OW_2DIdgM