Fact or Fiction

Fact or Fiction is a live, image-led party game about strange truths and convincing nonsense. A shared display presents 100 surprising statements in ten rounds of ten while players vote True or False directly on the viewer, from their phones, or both.

Open the Fact or Fiction display Open the Fact or Fiction controller

Play

  1. Open /fact-or-fiction/ on the shared display.
  2. Start on the viewer, or scan the QR code to join from a phone and begin the game.
  3. Viewer players can also use T/1 for True and F/2 for False.
  4. Phone players enter a name and vote once before the timer ends.
  5. Read the answer and explanation, then watch the scores update.

Before the first game, an attract screen cycles through the square artwork until somebody starts locally or joins from a phone. The game contains 50 facts and 50 fictions, shuffled into ten balanced rounds with five of each in every round. Statements and artwork fade between questions. An answer reveals as soon as every connected player has voted, or when its 25-second timer expires. A leaderboard appears after each ten-question round, then all player scores reset before the next round. The complete game restarts after round ten.

Display support

The viewer is designed for 1920×1080 and 960×540 landscape displays, and also adapts to 1080×1920 and 450×960 portrait screens. The bordered artwork stays square: it is one viewport-height square in landscape and one viewport-width square in portrait. Landscape isolates the QR code over a text-free image corner; portrait hides that panel and provides a small Show QR link that opens the large QR modal. Portrait questions, controls and the collapsible player row form a compact stack beneath the artwork. The layout follows the browser's visible viewport so mobile address bars do not introduce scrolling, with a shorter portrait treatment for constrained heights. A lean-paint mode removes expensive effects on older signage devices.

State and reconnects

The viewer is authoritative: it records its own optional local player, validates phone joins and one vote per player, calculates scores, and sends private snapshots to each controller. A returning controller keeps its participant ID and name in local storage and receives the current round, locked vote and score after reconnecting.

Artwork and sources

Each of the 100 statements has original generated artwork saved as a 1254×1254 JPEG at quality 85. Reveal screens link to the educational or scientific source used to check the statement.

DocumentationServer TelemetryServer StatsServer HTTP LogServer WebSocket Log