DeskDot Open in browser GitHub
Rock Paper Scissors running on a 32×32 LED panel
32×32 · Livereal render
GamesLive8 players

Rock Paper Scissors

The party classic, 1 v 1: two pixel hands pump ROCK… PAPER… SCISSORS… SHOOT! Play the AI, a friend (keyboard + phone, or two phones) or run a 3–8 player tournament — friends join by scanning the panel's QR code and pick their hand on big buttons. Plays AI vs AI when idle.

At a glance

OutputLiveRendered by the engine and streamed over Bluetooth as its data changes (about 5–9 frames a second).
Settings15every one editable live in the studio, or by an agent with update_app_settings
ButtonsRestart · Autoplaystudio buttons, or app_action over MCP
Sourcegames_rps.pysrc/deskdot/apps/games_rps.py

Game

Players1–8seat 1 on the keyboard or studio, the rest on phones over your Wi-Fi; empty seats are played by the AI
Controllers
rpsD-padGamepad

Modes

ModePlayersPlay
You vs AI default1Solo
1 v 12Free-for-all
Tournament3–8Free-for-all
AI vs AI1Solo

Maps

KnockoutRound robin

Themes

ClassicNeonRetroMonoArenaParty

Settings

Settings
SettingTypeDefaultOptions / range
General
Speedspeedwhole number51 – 10
ThemethemechoiceArena
ClassicNeonRetroMonoArenaParty
AI skillskillHow well the demo AI playsnumber0.80.0 – 1.0
Show scoreshow_scoreon/offOnon / off
Graphics
EffectseffectschoiceFull (particles, shake, flashes)
Full (particles, shake, flashes)Calm (no shake or flashes)Minimal
Game flow
Intro & results screensintro_outroon/offOnon / off
Play itself when idleattractThe AI plays while nobody does (great in a playlist)on/offOnon / off
Plays itself withpilotchoiceBuilt-in AI
Built-in AIFruit-fly brain (sees only the pixels; docs/FLY_BRAIN.md)
Game
Match lengthbest_ofchoiceBest of 3
Best of 1Best of 3Best of 5Best of 7
Seconds to pickround_timerAnyone who hasn't picked when time runs out gets a random handwhole number83 – 30
AI styleai_stylechoiceRandom (truly uniform — unbeatable in the long run)
Random (truly uniform — unbeatable in the long run)Pattern hunter (punishes your habits)Cheeky (gives away tells… mostly honest)
RevealrevealchoiceRock, paper, scissors, shoot!
Rock, paper, scissors, shoot!3-2-1 countdownInstant
ModemodechoiceYou vs AI
You vs AI1 v 1TournamentAI vs AI
MapmapchoiceKnockout
KnockoutRound robin
Playersplayerswhole number11 – 8

Try it

render a frame to PNG (no panel needed)
$ uv run deskdot preview rps --settings '{"theme":"classic"}' --out rps.png
show it on your panel (engine running)
$ curl -X POST http://127.0.0.1:8765/api/apps/rps/activate

Or ask your agent: “Show Rock Paper Scissors on my panel”. It calls show_app with "rps". New here? Set up DeskDot first.

More games apps