Skip to main content
Version: FILS English

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.

info

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

Architechture Diagram

Log !

Week 6 - 12 May

Week 7 - 19 May

Week 20 - 26 May

Hardware

  1. Raspberry Pi Pico W Microcontroller: Coordinates all of the components.
  2. Buttons: Game input.
  3. Buzzer: Audio feedback for game inputs.
  4. MP3 Player Module: Reads song from a microSD card.
  5. Speaker: Ouputs song.
  6. Display: Visual output device, displays the game elements (falling notes, score, menus).
  7. Breadboard: Used for building the circuit.
  8. Wires: Used for connecting the components.

Schematics !

Final Look !

Bill of Materials

DeviceUsagePrice
Rapspberry Pi Pico 2WThe microcontroller39,66 RON
Male-Female WiresElectronic Components4,45 RON
Jumper Wires SetElectronic Components7,99 RON
Breadboard 400Electronic Components4,56 RON
Breadboard 830Electronic Components4,99 RON
Push ButtonsGame inputs1,44 RON
MP3 Player MiniReads song13,99 RON
LCD SPI Module ScreenDisplay43,58 RON
Speaker 2WOutputs song4,98 RON
Passive Buzzer ModuleGame feedback1,69 RON
Rapspberry Pi PicoDebugger31,50 RON

Software ?

LibraryDescriptionUsage
embassy-embedded-halEmbedded I/OManages buttons, PWM for buzzer
embedded-graphics2D graphics libraryUsed for drawing to the display
st7735-lcdDisplay driverControls the display
embedded-timeDurations, clocks, ratesBeatmap timings
fugitPrecise timing utilitiesBeatmap timings
heaplessStatic data structuresBeatmap storing
  1. Additional project inspiration
  2. Raspbery Pi Pico 2W with DFPlayerMini MP3 Player
  3. DFPlayer Raspberry Pi Pico Audio Player Project