DeskDot Open in browser GitHub
Four Up running on a 32×32 LED panel
32×32 · Livereal render
GamesLive2 players

Four Up

Four-in-a-row. Two AIs play until someone takes a seat: left/right aim, A or down drops your disc. A phone can join as the second player. Variants: Pop Out (up pops your bottom disc) and Stones.

At a glance

OutputLiveRendered by the engine and streamed over Bluetooth as its data changes (about 5–9 frames a second).
Settings13every one editable live in the studio, or by an agent with update_app_settings
ButtonsRestart · Autoplaystudio buttons, or app_action over MCP
Sourcegames_connect.pysrc/deskdot/apps/games_connect.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-padTap zonesGamepad

Modes

ModePlayersPlay
Vs AI default1Solo
Vs Friend2Free-for-all

Maps

ClassicPop OutStones

Themes

ClassicNeonRetroMonoTavernIce

Settings

Settings
SettingTypeDefaultOptions / range
General
Speedspeedwhole number51 – 10
ThemethemechoiceTavern
ClassicNeonRetroMonoTavernIce
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
Stones (Stones map)stoneswhole number31 – 5
ModemodechoiceVs AI
Vs AIVs Friend
MapmapchoiceClassic
ClassicPop OutStones
Playersplayerswhole number11 – 2

Try it

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

Or ask your agent: “Show Four Up on my panel”. It calls show_app with "fourup". New here? Set up DeskDot first.

More games apps