godot-genre-rhythm

Installation
SKILL.md

Genre: Rhythm

Expert blueprint for rhythm games emphasizing audio-visual synchronization and flow state.

NEVER Do (Expert Anti-Patterns)

Audio Sync & Logic

  • NEVER use Time.get_ticks_msec() for rhythm sync; strictly use AudioServer.get_time_since_last_mix() combined with latency offsets for sub-frame accuracy.
  • NEVER process song logic in _process(); strictly use _physics_process() or a conductor loop to ensure deterministic timing regardless of render frames.
  • NEVER use _process() to capture hit inputs; strictly use _input(event) to record the exact timestamp of the button press event.
  • NEVER scale engine time_scale for song speed; strictly use AudioStreamPlayer.pitch_scale to adjust speed and avoid globally breaking physics logic.
  • NEVER neglect Audio Latency calibration; strictly provide a tool for players to adjust for hardware/Bluetooth delays (~30-100ms) to prevent "unplayable" sync issues.
  • NEVER use standard _process delta for note-to-audio sync; strictly use the Hardware Clock via AudioServer.get_playback_position() + AudioServer.get_time_since_last_mix() for sub-frame accuracy.
  • NEVER move thousands of note sprites on the CPU; strictly use a Shader-Based Highway (UV scrolling) to offload track movement to the GPU.
  • NEVER use yield or await for beat timing; strictly use a sample-accurate Delta Accumulator tied to the audio clock.
  • NEVER assume a constant BPM; strictly build your conductor to handle a Tempo Map for complex track changes.
Installs
116
GitHub Stars
320
First Seen
Feb 10, 2026
godot-genre-rhythm — thedivergentai/gd-agentic-skills