Short songs game mode (e.g. 30 seconds per song) #30

Closed
opened 2026-01-01 11:57:16 +01:00 by Sansan · 0 comments
Owner

A faster game mode where every song only plays for a short time (30 seconds by default), so more songs fit in a game.

Plan

  • Quiz settings. A new "Short songs" toggle and a length (default 30 s) in QuizSettingsCard, saved in settings.cfg like the others (Settings.SAVED_SETTINGS["quiz"]): Settings.short_songs: bool, Settings.short_song_seconds: int.
  • Playback (player/music_player.gd).
    • _process stops the song when the position passes the length, and then does what _on_finished() does today (repeat, stop, or wait for Next).
    • Songs shorter than the limit play as usual.
  • Seek bar and time. The seek bar and the time label use the limit as the song length, so "0:12 / 0:30" is shown, and seeking past it isn't possible.
  • Other settings.
    • Hide beginning. With both on, the hidden part counts inside the 30 s, or the 30 s start after it? See the questions below.
    • Auto repeat. Repeats the same 30 s part.
  • Where the part starts.
    • From the start of the song, or from a random point. A random start must be chosen once per song (stored on SongObject), so repeat and restart play the same part.
    • Many songs have a quiet intro, so a random start between 10% and 60% of the song is probably more fun.
  • Prepared quizzes and offline mode. Work the same.

Tests

  • With short songs on, the player stops (or repeats) at the limit. Use a short limit in tests and step _process, or drive the position.
  • The random start is the same after restart.
  • The time label shows the limit as the length.

Questions

  • Play from the beginning, or a random part of the song?
  • After the 30 s: stop and wait for Next, repeat the part, or go to the next song by itself (a real "rapid" mode)?
  • Only a setting, or a separate "game mode" picker (normal / short / prepared quiz)?
A faster game mode where every song only plays for a short time (30 seconds by default), so more songs fit in a game. ## Plan - **Quiz settings.** A new "Short songs" toggle and a length (default 30 s) in `QuizSettingsCard`, saved in `settings.cfg` like the others (`Settings.SAVED_SETTINGS["quiz"]`): `Settings.short_songs: bool`, `Settings.short_song_seconds: int`. - **Playback** (`player/music_player.gd`). - `_process` stops the song when the position passes the length, and then does what `_on_finished()` does today (repeat, stop, or wait for Next). - Songs shorter than the limit play as usual. - **Seek bar and time.** The seek bar and the time label use the limit as the song length, so "0:12 / 0:30" is shown, and seeking past it isn't possible. - **Other settings.** - **Hide beginning.** With both on, the hidden part counts inside the 30 s, or the 30 s start after it? See the questions below. - **Auto repeat.** Repeats the same 30 s part. - **Where the part starts.** - From the start of the song, or from a random point. A random start must be chosen once per song (stored on `SongObject`), so repeat and restart play the same part. - Many songs have a quiet intro, so a random start between 10% and 60% of the song is probably more fun. - **Prepared quizzes and offline mode.** Work the same. ## Tests - With short songs on, the player stops (or repeats) at the limit. Use a short limit in tests and step `_process`, or drive the position. - The random start is the same after restart. - The time label shows the limit as the length. ## Questions - Play from the beginning, or a random part of the song? - After the 30 s: stop and wait for Next, repeat the part, or go to the next song by itself (a real "rapid" mode)? - Only a setting, or a separate "game mode" picker (normal / short / prepared quiz)?
Sansan added the feature label 2026-05-14 11:40:43 +02:00
Sansan added this to the 1.8.0 milestone 2026-05-14 11:40:46 +02:00
Sansan removed this from the 1.8.0 milestone 2026-05-14 12:00:52 +02:00
Sansan changed title from New game mode that only play like 30 seconds to Short songs game mode (e.g. 30 seconds per song) 2026-10-09 16:36:48 +02:00
Sign in to join this conversation.