Skip to content

apobyte/BananaGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎸 Bananana Rhythm Game - Developer Guide 🎵

📌 Overview

The Bananana Rhythm Game is a music-based rhythm game where players hit notes in sync with the beat to earn bananas 🍌. This short guide is intended for developers working on the game, providing insights into its architecture, key components, and setup instructions.

⚙️ Game Mechanics

🎼 Note System

  • Notes are generated based on predefined patterns. For example, in /data/default/easy.json, each row represents a sequence of notes: 1 indicates a note, while 0 represents the absence of a note in that row.
  • Each note corresponds to a key press (A, S, D, F, G) or on for mobile devices tap on the screen.
  • Notes travel down the fretboard towards the hit zone.
  • Timing accuracy determines the score.

🏆 Scoring System

  • Hit Notes ✅ → Adds points & increases streak.
  • Miss Notes ❌ → Reduces score & breaks streak.
  • Multiplier System ✖ → Consecutive correct hits increase score multipliers.

🎮 Game Modes

  • Classic Mode: Predefined note patterns.
  • Remix Mode: Allows playing remixed versions of the song.
  • Record Mode: Allows players to create and publish note sequences.

🛠 Key Technologies Used

  • Three.js for 3D rendering.
  • Web Audio API for sound processing.
  • Node.js for backend logic.

🔧 Setup & Development

📥 Installation

  1. Install dependencies:
    npm install
  2. Run the development server:
    npm run start
  3. Open the game in your browser at http://localhost:3080.

Here’s an improved and expanded version of your Game TODO List, providing more clarity and detail:


Game TODO List

Recording Mode Improvements

  • Ensure Recording Mode functions correctly by fixing any bugs and inconsistencies.
    • Implement support for uploading recordings from a JSON file, allowing developers to import custom recordings seamlessly.
    • Improve the built-in recording editor to modify and fine-tune recordings directly within the mode, enhancing user flexibility.
    • Create a default set of recordings tailored for each difficulty level (Easy, Medium, Hard) to provide players with a starting point and a smoother gameplay experience.

Game Gauge & Multiplier Fixes

  • Fix the game gauge multiplier behavior so that it spins correctly when moving backward instead of resetting in a full circular motion when a multiplier is lost.
  • Adjust the positioning of the game gauge to ensure it displays properly across different screen resolutions and aspect ratios, preventing visual misalignment.

Game Balance & Mechanics Adjustments

  • Fine-tune the game-difficulty balance by determining a fair number of missed notes before the player fails, ensuring a challenging but enjoyable experience.
  • Improve hitbox accuracy and tapping sensitivity on mobile and touch devices, ensuring precise and responsive note detection.
  • Implement multi-line (holding) notes, allowing players to hold down a key for several seconds instead of requiring multiple taps, enhancing note variety and complexity.

UI & Performance Optimization

  • Optimize UI scaling to ensure smooth and consistent visuals across various screen sizes, including mobile devices and ultra-wide monitors.
  • Fix the button light-up animation when pressing on mobile/touch devices, ensuring correct visual feedback when interacting with buttons.
  • Investigate ways to reduce memory usage by optimizing assets, such as:
    • Reusing icons instead of duplicating them.
    • Removing icons from the fretboard if they are already in use elsewhere, preventing unnecessary resource consumption.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors