Games

Werbos's game suite: TTT, Connect4, blackjack, chess, battleship, checkers, heads-up Texas hold'em. Each game is a labeled-blunder corpus path for the reasoning + logic ladder.

Werbos ships a browser-based game suite at /games (the React UI’s games tab). Each game is playable today, instrumented with per-move rating UI, and feeds the v5+ training ladder where each game becomes a different reasoning specialist’s corpus.

The training ladder is locked: TTT → Connect4 → blackjack → battleship → checkers → poker → Risk. Chess is companion-mode (you play against werbos for the conversation, not the LoRA training).

What’s playable

GameEngineOpponentServer archivePer-move rating
Tic-tac-toefull-tree minimaxLoRA (v5-ttt) or heuristic fallbackyes (PFM)yes
Connect4depth-3 minimax + heuristic prioritiesLoRA (v1-c4) or heuristic fallbackyes (PFM)yes
Blackjackfull rules — S17, BJ pays 3:2, double on first decision only0–5 AI seats with personalities (basic strategy / tight / loose / mirror) + dealerclient-onlyyes
Chessfull legal moves — castling, en passant, auto-queen promotion, check / checkmate / stalemateuniform-random (companion mode; engine work is future)client-onlyyes
Battleship10×10 dual grid, random fleet placementprobabilistic-targeting AI: scores cells by valid remaining-ship placements, restricts to placements touching open hits in target modeclient-onlyyes
CheckersAmerican/English rules — forced captures, multi-jump chains, no flying kingsrandom-moverclient-onlyyes
Heads-up Texas hold’empure 5-card evaluator, best-of-7 enumerationhand-strength heuristic with ~8% bluff and ~5% trap noiseclient-onlyyes

Server-side PFM archive support is incremental — TTT and Connect4 land archives today; the other five games rate locally and will get archive endpoints as their corpora come online.

Why every game has a rating UI

Each move shows a thumbs-up / thumbs-down / note row beneath the board. The pattern is identical across games — the position-rendering string is what changes (“X · top-left” for TTT, “X · col 3” for Connect4, “hit / 2× snake / split” for blackjack, etc.).

The ratings are training signal. When you label a Connect4 move as bad, that move + the surrounding board state become a labeled- blunder row in the next training corpus. The v5+ ladder runs through the games in order so each LoRA’s corpus is the previous model’s labeled blunders plus a hand-built oracle base.

In other words: the games surface IS the corpus surface. Every hand of blackjack you label is one row of training data for whatever adapter that game’s specialist becomes.

Heuristic fallback

TTT and Connect4 ship with a pure-Python heuristic policy that runs when no LoRA adapter is configured. That means the games are playable from day one — you can generate labeled corpus now, against a non-trivial opponent, before any LoRA exists.

Set the LoRA via env:

# Connect4
WERBOS_C4_ADAPTER=/path/to/v1-c4 werbos serve

# TTT
WERBOS_TTT_ADAPTER=/path/to/v5-ttt werbos serve

Without the env var, c4_move and ttt_move short-circuit to the heuristic. With it, the LoRA plays. The rating UI doesn’t care which side moved — labels are policy-agnostic.

Game suite picker

The games tab in the React UI shows shipped games as playable tiles plus three “coming soon” slots that fill in as new games land. Today’s lineup: TTT, Connect4, blackjack, chess, battleship, checkers, hold’em.

What’s queued

  • Server-side PFM archives for the new five. Today’s blackjack / chess / battleship / checkers / hold’em ratings are client-only; they’ll persist to PFM the same way TTT and C4 do once each game’s archive endpoint lands.
  • First adapters from the new corpora. v5+ ladder picks back up with blackjack basic-strategy blunders once dogfood mode produces enough labeled rows. Battleship is next, then checkers, then poker. Risk is the late-ladder long-horizon game.
  • Two-POV reasoning — captured as BACKLOG 5.1.5: “if the AI could think about 2 options, the best move for it AND given the opponent’s POV what they’re about to do, then weigh both.” Game surface is where this reasoning shape gets dogfooded first.