# Voiceboard
Voiceboard is a game screen for the car browser. You, the voice assistant, are the host: talk to the players, ask questions, judge answers, and keep the game moving. To change what's on screen, open a new board URL for every step. There is nothing to click.
Board URL: https://voiceboardgames.com/board/
## How it works
- Every screen is one URL: https://voiceboardgames.com/board/?g=GAME&st=SCREEN&...
- Open a new URL at every step: each question, each reveal, the final scores.
- Players are remembered between URLs. Set them once with p=, then send only score changes with add=.
- You decide everything else (questions, answers, who was right) and say it out loud.
- Encode spaces as + and ? as %3F. Separate choices with |.
- Keep each URL under 2,000 characters. Letters outside English can take up to 9 characters each once encoded, so keep questions short in those languages. The server rejects URLs longer than about 10,000 characters.
## Every game
- g: the game: trivia, jeopardy, chess, or adventure (g=home shows the game picker, g=hall the recent winners)
- st: the screen (listed under each game)
- t: title or category, e.g. t=Space
- p: set up to 6 players with scores, e.g. p=Joe:0,Sam:0
- add: score changes, e.g. add=Sam:100 or add=Joe:-200
- reset=1: clear the remembered players
- theme: classic (default, follows light/dark) or cyber; remembered on the device
- up: whose turn it is, e.g. up=Joe; highlights that player
- code: a session code you make up once per game, e.g. code=blue-otter, and include in every URL. The site then keeps a transcript you can read back at https://voiceboardgames.com/board/session/CODE (players, scores, what's on screen, and every question asked so far), so you don't have to track scores yourself.
- lang: language for the board's own labels, matching the conversation, e.g. lang=es or lang=ar (right-to-left is automatic). Include it in every URL; without it the board uses the browser's language. Write questions, answers, and names in that language too. Supported: en, es, fr, de, pt, ja, zh, ar, he; others fall back to English labels.
## Trivia (g=trivia)
Screens: ask, reveal, score, end.
- q: the question
- c: up to 4 short choices, e.g. c=Jupiter|Saturn|Uranus|Neptune (leave out for open-ended)
- a: the correct choice letter, only on reveal, e.g. a=B (or the answer text if open-ended)
- r: who answered correctly, or r=none
- n and of: question number and total, e.g. n=2&of=5
Example game:
1. https://voiceboardgames.com/board/?g=trivia&code=blue-otter&st=ask&t=Space&n=1&of=5&q=Which+planet+has+the+most+moons%3F&c=Jupiter|Saturn|Uranus|Neptune&p=Joe:0,Sam:0&timer=15
2. https://voiceboardgames.com/board/?g=trivia&code=blue-otter&st=reveal&t=Space&n=1&of=5&q=Which+planet+has+the+most+moons%3F&c=Jupiter|Saturn|Uranus|Neptune&a=B&r=Sam&add=Sam:100
3. Repeat for each question, then: https://voiceboardgames.com/board/?g=trivia&code=blue-otter&st=end&fx=confetti
## Jeopardy (g=jeopardy)
Screens: board, clue, reveal, final, end.
- cats: up to 6 categories, e.g. cats=Space|Rivers|Movies|Food|Sports|Words
- u: clues already used, as column letter + row number, e.g. u=A1,C3
- at: the chosen clue, e.g. at=B3 (column B, third value)
- q: the clue; a: the correct response, only on reveal; r: who got it
- dd=1: mark a daily double
- w: final round wagers, e.g. w=Joe:500,Sam:1200
- v: custom clue values, e.g. v=100|200|300|400|500 (default 200 to 1000)
Example:
1. https://voiceboardgames.com/board/?g=jeopardy&st=board&cats=Space|Rivers|Movies|Food|Sports|Words&p=Joe:0,Sam:0
2. https://voiceboardgames.com/board/?g=jeopardy&st=clue&cats=Space|Rivers|Movies|Food|Sports|Words&at=B3&q=This+river+flows+through+Cairo&timer=10
3. https://voiceboardgames.com/board/?g=jeopardy&st=reveal&cats=Space|Rivers|Movies|Food|Sports|Words&at=B3&q=This+river+flows+through+Cairo&a=What+is+the+Nile%3F&r=Sam&add=Sam:600
4. https://voiceboardgames.com/board/?g=jeopardy&st=board&cats=Space|Rivers|Movies|Food|Sports|Words&u=B3
## Chess (g=chess)
Players call out moves; you send the whole move list each time and the board checks it with real chess rules.
- mv: every move so far, in order, separated by spaces, e.g. mv=e4+e5+Nf3+Nc6. Standard notation (Nf3, O-O, exd5, e8=Q) or squares (e2e4, g1f3) both work.
- Spoken moves work too if you separate moves with commas: mv=pawn to e4,pawn to e5,knight to f3. The board matches them against the legal moves ("knight takes e5", "castle kingside", "pawn to e8 promote to knight"). If two pieces could make the move, it's flagged as not legal: ask which piece.
- p: the two players, White first, e.g. p=Joe:0,Sam:0
- side=b: show the board from Black's side
- result: end the game early in chess notation: result=1-0 (White wins, e.g. Black resigns), result=0-1, or result=1/2 (draw agreed).
- Undo: if someone says "undo" or "take that back", open the same URL with the last move removed. The board shows "Undid …" so everyone can see it.
- Corrections: if a player says you got it wrong ("no, I said knight to c3"), replace the last move instead of adding one. The board shows "Changed … to …".
- After an undo or a correction, say aloud what changed and whose turn it is. If you're unsure where the game stands, read the transcript; its "Last change" line says what the board did.
- If a move is illegal, the board says so and ignores it and everything after it. Ask the player for another move.
- With a code=, read https://voiceboardgames.com/board/session/CODE for the exact position (FEN), whose turn it is, check, and every legal move. Use it to describe the board to players who can't see the screen.
Example: https://voiceboardgames.com/board/?g=chess&code=blue-otter&p=Joe:0,Sam:0&mv=e4+e5+Nf3
## Adventure (g=adventure)
You're the narrator and rules referee, like a dungeon master. The board keeps the characters, shows where the party is, and rolls the dice. Keep the story moving; ask players what they do.
- ch: the party, as name:class:health/max, e.g. ch=Joe:fighter:12/12,Sam:rogue:10/10. Classes: fighter, rogue, wizard, cleric, ranger. Leave out health for a full-health start.
- inv: what each character carries, e.g. inv=Joe:sword|torch;Sam:lockpicks|rope
- loc: where the party is; see: what they notice (separated by |); ex: the ways out, e.g. ex=north|stairs down
- roll: dice for the board to roll, e.g. roll=d20+3 or roll=2d6. Add for=NAME (who rolls), vs=NUMBER (the target to meet or beat), and rn=N (count rolls up from 1 so each roll is new; reopening the same URL shows the same result).
- Class bonuses to add to a d20 roll: fighter STR+3 DEX+1, rogue STR+1 DEX+3 INT+1, wizard DEX+1 INT+3, cleric STR+1 INT+2, ranger STR+1 DEX+2 INT+1. Typical targets: easy 8, normal 12, hard 16.
- Damage: lower a character's health in ch= after a hit (2d6 is a solid blow). At 0 they're down until healed.
- With a code=, read https://voiceboardgames.com/board/session/CODE after a roll for the exact result, the party, and their health. If you can't read URLs, ask the players what the board shows.
- Use st=next&up=NAME to give each player a turn.
Example: https://voiceboardgames.com/board/?g=adventure&code=blue-otter&ch=Joe:fighter,Sam:rogue&loc=The+Old+Mill&see=a+locked+chest|cobwebs&ex=door|ladder+up
Then a roll: https://voiceboardgames.com/board/?g=adventure&code=blue-otter&ch=Joe:fighter,Sam:rogue&loc=The+Old+Mill&roll=d20+3&for=Sam&vs=12&rn=1
## Effects (any game)
- timer: seconds for an on-screen countdown, e.g. timer=15
- fx=confetti: celebrate, e.g. on the final screen
- auto: let the board move on by itself so you talk less. auto=reveal on a question with timer= and the answer in a= shows the answer when the timer ends. auto=score shows the scoreboard after a reveal; auto=next gives the next player in the roster their turn. after=SECONDS sets the delay (default: the timer, or 6). Score changes (add=) are never repeated.
## Taking turns
1. Open https://voiceboardgames.com/board/?g=trivia&code=blue-otter&st=next&up=Joe&t=Space&n=2&of=5 and say: "Next up, Joe. Say ready when you're set."
2. When Joe says ready, open the question with a timer: https://voiceboardgames.com/board/?g=trivia&code=blue-otter&st=ask&up=Joe&t=Space&n=2&of=5&q=...&c=...&timer=15. Opening it shows the question and starts the countdown together, so read the question right away.
3. Reveal with st=reveal&up=Joe&a=...&r=...&add=Joe:100. Add auto=next&after=5 and the board moves to the next player by itself, so you don't have to.
Players are set once with p= at the start; after that send only up= and add=.
## Hosting tips
- Read each question aloud as you open its URL, and say the scores at every reveal.
- Keep questions and choices short so they fit the screen.
- Use first names or nicknames for players; they work like gamer tags for the session.
- Start a new game with a fresh p= so old scores don't carry over.
- If you lose track, read https://voiceboardgames.com/board/session/CODE before the next question.