Skip to content

asdfaqer/4k-downscroller

Repository files navigation

4K Downscroller Rhythm Game

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.


Key Features

Gameplay

  • 4K Core Engine: Responsive 4-lane gameplay using D, F, J, and K keys.
  • 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.

Mapping Editor

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.

Controls

In Menu

  • Dropdown: Select your song.
  • Sliders: Adjust global volume.
  • Buttons:
    • START: Launch the gameplay scene.
    • EDIT: Open the Mapping Editor.
    • ADD SONG: Import a new .mp3 into the game directory.

In Game

  • Lanes: D, F, J, K
  • Reset: R to return to the main menu.

In Editor

  • 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: P to toggle music playback.
  • Menu: M to save and exit to the menu.

Running the Game

Options

  1. Executable: Run dist/rhythmgame.exe (Standalone).
  2. Python Script: Run python rhythmgame.py.

Requirements (for script mode)

  • pygame-ce
  • numpy
  • zstandard (maps are compressed for storage efficiency)
  • Pillow (for GIF processing)

Adding Your Own Songs

  1. Click ADD SONG in the main menu.
  2. Select any .mp3 file from your computer.
  3. The game will automatically handle the file copy and update the list.
  4. Enter the EDIT mode to start creating your first beatmap!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages