Docs
Getting started
The essentials: install, run a first solve, read the numbers. The full manual ships with the app (Help → User Guide) — this page is honestly just the on-ramp.
1 · Install
Unzip and run
Prism Solver is a native desktop app with no runtime dependencies —
no browser stack, no server, no account. The download contains the app
plus the command-line tools (plo_cli,
plo_browse, plo_equity). Beta builds
currently ship to the beta list
(support@prismsolver.com);
Windows and Linux installers are on the
roadmap.
On first launch the app shows short getting-started cards; you can reopen them any time via Help → Getting Started.
2 · First solve
Spot → Build → Solve
Everything about a solve lives in the Spot panel: players, board, pot and stacks, bet sizes as pot fractions, and one range per seat. A live cost meter shows the betting-tree size and implied memory before you commit. Then:
- Build constructs the tree and the card abstraction (seconds for postflop spots; cached on disk).
- Solve starts training. The status bar streams iterations, speed, memory, and the stability metric.
- Tick solve until stability < 0.01 and the app pauses itself when the strategy has settled, with a Converged readout.
Browse while it trains: click actions and runout cards in the Browser; ranges update live. Pause training to get per-hand EVs with error bars.
3 · Reading the metrics
Four numbers to watch
| Metric | Meaning | What to do with it |
|---|---|---|
| iterations · it/s | Training progress and speed. | Postflop spots typically want 10⁷–10⁸ iterations; preflop solves want long runs on a big machine. |
| infosets (MB) | Memory actually in use, ~64 bytes per infoset. | Cap it with max_infosets; past the budget, unseen
nodes play uniform while existing ones keep training. |
| bound/pot | Sampled regret bound per player. | Should trend toward 0. Early values are exploration noise — ignore the absolute number at the start. |
| stability | How much the average strategy still moves between reports. | The practical stop signal: below ≈ 0.01, frequencies have largely settled. Judge convergence by this, not by any single node. |
4 · Spot files
A solve is a JSON file
The GUI reads and writes the same format the CLI solves, so every spot is scriptable and shareable. A minimal 3-way flop spot:
{
"players": 3,
"board": ["Ts", "9s", "3d"],
"starting_pot": 10,
"effective_stack": 100,
"raise_fractions": [0.5, 1.0],
"ranges": ["uniform", "uniform", "uniform"],
"buckets": [2000, 2000, 2000],
"checkpoint": "flop3way.plck"
}
Range syntax, briefly: uniform (every unblocked hand),
explicit hands (AsAdJsTd), rank macros
(AAKK), wildcards (KKxx), suit tags
(:ds, :ss, :r) and weights
(AAxx:ds:0.75). NLHE spots use standard hold'em syntax
(QQ+, AKs).
With checkpoint set, progress persists and re-running
resumes. The spot file plus its checkpoint is a
solution pack — send both files and any copy of the
app (including the free Viewer) opens the solved strategy for
browsing, no training needed.
This page covers the basics only. The complete manual — every spot-file key, tournament models, locking, the range editor, deep links — ships with the app.