← Engineering log
RobOS Party Game Party Games Roku & Smart TVs AI Host

RobOS Party Game: an AI Host That Writes the Party About Your Guests and Your House

RobOS Party Game (packages/party-game) is the first game in the new Party Games category. An AI host in a hooded mask runs the show on one or more RobOS TVs while guests play on their phones. Before the first round, the AI reads every guest's survey and the party host's description of the house, then writes the night: each guest's role and why, superlatives about this group, trivia about their interests, bluffs, and real challenges that use the rooms and things in the house. The host speaks through the TV (Roku included) and any Google Cast speaker from the RobOS Audio Player.

The Party Game lobby on a TCL Roku TV: the hooded masked AI host welcomes Quinn next to the join QR code
A screenshot taken from the living-room TCL Roku TV through Roku's developer console: the lobby, with the host welcoming each guest by name as they scan the code.

How a party runs. The host console needs at least one RobOS TV paired in Smart TV Studio and an AI agent picked with the shared <robos-agent-selector>. This is the one RobOS app where AI is required, because the AI host is the game. Guests scan the QR code on the TV and answer a survey: the basics, their interests, a few confessions and some wild cards. Until someone claims it, every phone shows I'm the party host. Whoever taps it describes the house: the usable spaces, what is special about them (guitar amps in the basement, a hot tub, a cat named Pancake), the games in the house, craft supplies, gear such as a printer, the vibe, and what is off-limits. The game cannot start until the required house answers are in. A meter on the phone encourages the party host to add more detail, because more detail makes better challenges.

Lobby with the AI host giving a house tour
The lobby once the house is described: the host's "house tour" name-drops the garage ping pong, the basement rock venue and Pancake.
Role reveal: Jordan is The Detective
Role reveal. The AI explains each role from the guest's own answers; the Mole is shown as "The Party Guest" until the finale.

The writers' room never makes the room wait. Agent CLIs take seconds to answer, so every AI call runs in the background ahead of when it is needed (lib/ai-host.js). A guest finishes the survey and gets a personal welcome on the TV. The party host finishes the house and the host gives a house tour. Once everyone is ready, three calls run in parallel: the show script (title, opening, role reasons, game intros, Who Said That? teasers, superlatives and bluffs), trivia about each guest's interests, and House Quests built from the house survey. Standings recaps are written during the last reveal of each mini game, and the finale awards during the last mini game. In a real run with Antigravity, each call took 16 to 33 seconds and all of them were ready before the host pressed Start. If a call is slow or fails, the host uses stock material, so no click ever waits on an agent.

House Quest: The Sourdough Rock Opera in the basement
House Quest: the AI sent Maya to the basement drum kit and Priya to the karaoke mic for a sourdough rock anthem. Everyone else judges on their phones.
Nerd Alert Trivia question about Fleetwood Mac for Maya
Nerd Alert Trivia: Maya listed Fleetwood Mac, so she is the resident expert on this one. Beat the expert for a bonus.

Five mini games on one template. Who Said That?, Most Likely To, House Quest, Nerd Alert Trivia and Two Truths & a Bot are each a small file built on lib/minigames/template.js. A mini game builds its rounds from the guests, the house and whatever the AI wrote, scores the answers, and supplies the host's lines. The engine (lib/game-engine.js) handles the TVs, phones, timers, scoreboard and role perks. The Detective sees one wrong answer crossed out, the Wildcard can double down, the Trickster earns a point for every guest they fool, and the Mole has a secret mission that is revealed at the finale.

Finale with the winner, the Mole unmasked and an AI award for every guest
The finale: the winner, the Mole unmasked, and an AI-written award for every guest, including one thanking the party host for the house.
Phones: the party host's house survey and the Detective's crossed-out answer
On the phones: the party host's house survey, and the Detective's perk crossing out a wrong answer.

Getting a Roku to show and speak the game. Browser TVs (LG webOS, Samsung Tizen, Android TV) simply load the game's TV page. A Roku has no browser, so the shared TV engine gained app casts (robos-lib/tv-engine.js). The party game renders each Roku's screen in an offscreen window and pushes JPEG frames to the TV portal. The RobOS TV channel, rebuilt and sideloaded on cast just as a Dashboards cast does, shows those frames on its poster layer. Sound took two fixes, both confirmed on the TV through Roku's media-player query and debug console. A Roku has a single media pipeline, so the host's lines now play through the channel's keep-alive video player as small MP4 clips. That keep-alive stops the TV from going to standby, and its once-a-second check was restarting it over every line, so the check now steps aside while the host is talking: stop the keep-alive, play the line, start the keep-alive again. The same lines can also go to a RobOS Audio Player speaker. If music is playing on that speaker, the Audio Player's new control API plays the line on it and resumes the song where it left off.

# Run the Party Game tests (engine, AI writers' room with a stub agent, mini games, LAN server, narration routing) cd packages/robos-test && node --test tests/party-game/unit.test.js # Start the game from source (pair a TV in Smart TV Studio and sign in to an agent first) cd packages/party-game && npm install && npx electron . --no-sandbox # Check what a Roku is playing: the 60000 ms clip is the keep-alive; anything else is the host speaking curl http://<roku-ip>:8060/query/media-player