Repository navigation
Games stage 4: connect the artists, theme rounds, bracket battles - #62
Merged
Merged
Conversation
Queue games run through the queue, across songs, beside the rounds: one
connect or theme game and one bracket per room, sent as game.queue and
driven under /rooms/{id}/games/queue.
- Theme and bracket entries are held out of the play order
(queue_items.game_held) and put at the front (front_at) when the game
plays them; queue.Service does it under the room's queue lock.
- Connect the artists picks two of the room's artists 3-5 links apart in
the cached music graph, checks each queued song as a link, gives hints
and races two teams.
- Theme prompts and their checks are pure (quiz.Theme): era, liner notes,
beat map and tags, with unknowns let through.
- Brackets draw with byes, play matches back to back spaced by the
room's breaks per hour, queue winners again, cut short versions at the
peak, and keep the night's bracket for the recap. The champion takes a
song-of-the-night tie and a Bracket Champion award.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A card for each queue game over now playing: the chain and a hint for connect the artists, the prompt, your entry and its fit for a theme round, and entries, the match up now and your standing in a bracket. Enter one of your waiting songs, or the next one you queue counts. - The big screen grows the chain link by link with how close each step is, shows a theme's entries with their fit marks and hearts, and draws the bracket between matches, with the winner moving on. - A Queue games dialog from the room menu starts them: teams, theme, bracket size and short versions. - Songs a game holds are marked in lanes; the recap shows the night's bracket and the Bracket Champion award. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage 4 of Phase 10 (MAD-783), the last one: queue games. These are Game night games played through the queue, across songs, while the rounds keep going. ADR 0015 has a new "Stage 4" section.
How queue games work
game_running, 409, otherwise).game.queueand driven under/rooms/{id}/games/queue: start, enter, withdraw, hint, close. Starting one needs the Start rounds permission.queue_items.game_heldandfront_at.queue.Service.HoldandPlayNextdo this under the room's queue lock.MAD-794 Connect the artists
MAD-795 Theme rounds
quiz.Theme):yes,nowith a note ("Not a cover, as far as we know"), orunknown. Without liner notes, "no cover" counts as unknown, not no. Every entry still plays.MAD-796 Bracket battles
games.Drawshuffles entries into the smallest power of two that fits, with byes for the leftover slots.queue.Service.Again, since a queue item only plays once.playback.Engine.SeekandCut. A cut song ends as finished, not skipped.nights.bracket) and shown in the recap.Web
Phones: a card per queue game over now playing (it hides while a round is up). It shows:
You can enter one of your waiting songs from the card, or jump to search.
Big screen:
Starting games: a "Queue games…" dialog in the room menu, with options for teams, theme, bracket size and short versions.
Lanes and recaps: songs a game holds are marked "In a game" in lanes, and the recap shows the bracket.
Also
waitingenum value made oapi-codegen prefix the display-pairing status constants (DisplayPairingStatusStatusWaiting/Paired). I updated the two uses.Not done here
Testing
go test -race ./...passes andgolangci-lintreports 0 issues. New tests cover:pnpm typecheck,pnpm lint,pnpm test(210 tests, including new ones forlib/queue-games) andpnpm buildpass.🤖 Generated with Claude Code