A modern, high-performance 4-key rhythm game engine built with Python and Pygame-ce. Featuring a robust Map Editor with dynamic snapping and a clean, responsive gameplay experience.
- 4K Core Engine: Responsive 4-lane gameplay using
D,F,J, andKkeys. - Dynamic Note Rendering:
- Normal Notes: Rounded rectangles for a modern aesthetic.
- Hold Notes: Featuring translucent sky-blue bodies and rounded endpoints.
- Accuracy System: Real-time accuracy tracking and combo counter.
- Confetti Victory: Animated celebratory confetti when you complete a song with a high score.
The editor is designed for high-efficiency beatmapping:
- Placement:
- Left Click on a lane to place a note.
- Drag Left Click to create a hold note.
- Snap-to-Grid: Adjustable grid snapping (configurable via slider).
- Brush Eraser:
- Right Click and swipe across lanes to instantly "paint away" notes.
- Dynamic Snap Lock:
- Left Click the Soundwave (left side) to set a red "lock line".
- Auto-Sync: Adjusting the snap slider while a lock is set will automatically recalculate the map offset to keep the grid perfectly aligned with that musical moment.
- Waveform Visualization: Real-time background waveform to help align notes with musical transients.
- Dropdown: Select your song.
- Sliders: Adjust global volume.
- Buttons:
START: Launch the gameplay scene.EDIT: Open the Mapping Editor.ADD SONG: Import a new.mp3into the game directory.
- Lanes:
D,F,J,K - Reset:
Rto return to the main menu.
- Movement: Mouse Wheel to scroll through the timeline.
- Place Note: Left Click (in lanes).
- Brush Eraser: Right Click + Drag (in lanes).
- Set Snap Lock: Left Click the Waveform area.
- Clear Snap Lock: Right Click the Waveform area.
- Pause/Play:
Pto toggle music playback. - Menu:
Mto save and exit to the menu.
- Executable: Run
dist/rhythmgame.exe(Standalone). - Python Script: Run
python rhythmgame.py.
pygame-cenumpyzstandard(maps are compressed for storage efficiency)Pillow(for GIF processing)
- Click ADD SONG in the main menu.
- Select any
.mp3file from your computer. - The game will automatically handle the file copy and update the list.
- Enter the EDIT mode to start creating your first beatmap!