Rusty Rhythm
Rusty Rythm is a simple rhythm game where you press buttons to the beat of a track of your choosing from the game's catalogue.
Author: NEDELCU Ioana
GitHub Project Link: https://github.com/UPB-PMRust-Students/project-ioqnq
! - to fill in
? - subject to change
Description
When booting up the game, you will be prompted to pick one of the available songs and the difficulty which you wish to play on. You can then input a 3 character username. The gameplay itself consists of pressing the buttons to the rhythm of the song you selected with the aid of the visual interface. Hitting the correct button(s) at the right time adds to your score. If it is high enough, your score will be registered to the leaderboard (for the song and difficulty that you played), which shows the username of the 5 top scoring users.
Motivation
While being more familiar with mobile, touch-screen based rhythm games, I've always been fascinated by the larger-scale arcade machines, which offer more of a physical, tactile response. I hope to put the technical knowledge I have gained throughout the semester to use by bringing to life a pocket-sized version of the arcade experience.
Architecture
Log !
Week 6 - 12 May
Week 7 - 19 May
Week 20 - 26 May
Hardware
- Raspberry Pi Pico W Microcontroller: Coordinates all of the components.
- Buttons: Game input.
- Buzzer: Audio feedback for game inputs.
- MP3 Player Module: Reads song from a microSD card.
- Speaker: Ouputs song.
- Display: Visual output device, displays the game elements (falling notes, score, menus).
- Breadboard: Used for building the circuit.
- Wires: Used for connecting the components.
Schematics !
Final Look !
Bill of Materials
Device | Usage | Price |
---|---|---|
Rapspberry Pi Pico 2W | The microcontroller | 39,66 RON |
Male-Female Wires | Electronic Components | 4,45 RON |
Jumper Wires Set | Electronic Components | 7,99 RON |
Breadboard 400 | Electronic Components | 4,56 RON |
Breadboard 830 | Electronic Components | 4,99 RON |
Push Buttons | Game inputs | 1,44 RON |
MP3 Player Mini | Reads song | 13,99 RON |
LCD SPI Module Screen | Display | 43,58 RON |
Speaker 2W | Outputs song | 4,98 RON |
Passive Buzzer Module | Game feedback | 1,69 RON |
Rapspberry Pi Pico | Debugger | 31,50 RON |
Software ?
Library | Description | Usage |
---|---|---|
embassy-embedded-hal | Embedded I/O | Manages buttons, PWM for buzzer |
embedded-graphics | 2D graphics library | Used for drawing to the display |
st7735-lcd | Display driver | Controls the display |
embedded-time | Durations, clocks, rates | Beatmap timings |
fugit | Precise timing utilities | Beatmap timings |
heapless | Static data structures | Beatmap storing |