Skip to content

Optional auto-advance between questions #201

Description

@Rouzax

Problem or motivation

Running a pub quiz, the manager screen needs a click twice per question: once to go from the answer reveal to the leaderboard, and once to start the next question. Everything inside a question is already on a timer, so those two clicks are the only thing tying a person to the laptop for the whole evening.

In a living room that is fine. In a pub it means the host is standing behind a screen instead of being in the room with the players, and every round stalls for a few seconds while somebody walks back to click.

Proposed Solution

An optional auto-advance, configured per game rather than per question:

  • after the answer reveal, wait a configurable number of seconds, then show the leaderboard
  • after the leaderboard, wait again, then start the next question

The manager screen keeps a visible countdown so the host knows when it will move, plus a button to go now and not wait out the timer. Pausing the game holds the countdown, which lines up with the play and pause controls already planned in #200 and with the break feature in #155.

The game settings modal in the lobby redesign looks like the natural home for the toggle and the delay, since it is a property of how you want to run tonight's quiz rather than a property of the quiz file itself.

As far as I can tell from dev after #199, this stays inside RoundManager: the only two transitions that wait on a human are the ones handling MANAGER.SHOW_LEADERBOARD and MANAGER.NEXT_QUESTION, and CooldownTimer already does abortable countdowns that could drive both. No REST work, since in-game actions stayed on the WebSocket.

One interaction worth flagging: if answer explanations (#85) land, the delay after the reveal needs to be long enough to actually read the note, which is another argument for making the delay configurable rather than fixed.

Alternatives Considered

Per-question delays in the quiz JSON would give more control, but it is tedious to set per question and in practice you want one pace for the whole night.

A fully unattended mode is not what I am after. A human still needs to be able to step in for disputes, late joiners and breaks, so the manual controls should stay exactly as they are and auto-advance should just be something you can switch on.

Happy to implement this if you like the shape of it, though I would rather wait until the lobby redesign lands so the setting has somewhere to live.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions