DeskDot Open in browser GitHub
X and 0 running on a 32×32 LED panel
32×32 · Livereal render
GamesLive2 players

X and 0

Tic-tac-toe for 1 or 2 players. Play X against the AI (arrows move, A places), or let a friend join from their phone on your Wi-Fi as O by scanning the panel's QR code. Variants: vanishing marks and misère.

At a glance

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

Game

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

Modes

ModePlayersPlay
Vs AI default1Solo
Vs Friend2Free-for-all

Maps

ClassicVanishingMisere

Themes

ClassicNeonRetroMonoChalkboardArcade

Settings

Settings
SettingTypeDefaultOptions / range
General
Speedspeedwhole number51 – 10
ThemethemechoiceChalkboard
ClassicNeonRetroMonoChalkboardArcade
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: first tofirst_toRound wins needed to take a match started from the menuwhole number31 – 9
ModemodechoiceVs AI
Vs AIVs Friend
MapmapchoiceClassic
ClassicVanishingMisere
Playersplayerswhole number11 – 2

Try it

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

Or ask your agent: “Show X and 0 on my panel”. It calls show_app with "tictactoe". New here? Set up DeskDot first.

More games apps