Skip to content

Head-to-head teaser in the lobby: "Anna vs Ben 3-2" #613

Description

@mholzi

When two returning players are in the lobby, the TV shows the head-to-head: "Anna vs Ben: 3–2".

The code says it wants to do this. analytics.py:302 justifies the lobby standing by saying the line is "supposed to start a rivalry" — but only the solo view exists.

Anchor

analytics.py:296get_player_standing is strictly solo. Grep for rival|head.to.head|h2h: that one comment and nothing else. Pairwise wins are computable per game from GameRecord.player_scores.

Smallest valuable slice

The TV lobby (not the phones) shows the duel for the most-frequently-co-playing present pair.

The catch

Two, and the second is a decision rather than a detail:

  1. Detailed games prune at RETENTION_DAYS = 90 / MAX_DETAILED_RECORDS = 1000. Labelled honestly it is "last 90 days"; anything longer needs a pairwise rollup in the unpruned map, which grows quadratically in players.
  2. House Championship — persistent all-time leaderboard on lobby + TV #371 deliberately sent the standing only to its owner. A head-to-head on the TV broadcasts two people's record to the whole room. That is a conscious reversal of that decision, not an extension of it, and it should be decided as one.

Effort: small for the 90-day version, medium with a rollup.

From an automated ideation pass; anchors verified against the source.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-decisionNeeds a product/UX decision before it can be implemented

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions