Run 04 · Diversions · field test
Backgammon: 44 rule checks passed, and a computer that is only honest company
We ran the rules engine's own self-test, read how the dice are drawn, and put the table beside GNU Backgammon and Backgammon Galaxy.
Brief
What it is, and who it is for
Backgammon on labs.llc is a drawn board with the rules enforced: entering from the bar, hitting, the duty to use both dice (or the higher one when only one can be played), bearing off, gammons, backgammons and the doubling cube. Two people can share a screen, one can play the computer, or two devices can join through the site's own relay with an invite link and a spectator link.
There is no account; the match is saved in the browser. It is for casual players who want a correct game quickly, and friends who want one game across two phones.
Wiring
Where the work happens
Nothing is fetched from anyone else. The engine is a block of pure functions in app.js (lines 31–394) with its own self-test exposed as BG_SELFTEST(). Legal turns are generated so only plays that use the most dice are offered. At one screen the dice come from crypto.getRandomValues; the match lives in localStorage. Across two devices, backgammon-sync.php records moves one ply at a time and rolls the dice itself with PHP's random_int().
Sources it reads
- None from outside labs.llc. The optional two-device mode uses the site's own relay, backgammon-sync.php.
Run table
The run, row by row
| # | Time | Probe | Returned |
|---|---|---|---|
| 01 | Loaded /backgammon/ from the local copy | HTTP 200, 56,162 bytes; app.js is 87,560 bytes. | |
| 02 | Cut the ENGINE:START–END span from app.js and ran selfTest() in JavaScriptCore | {run: 44, failed: 0}. Opening pip count 167 for each side. | |
| 03 | Two-device relaynot run | Not run: opening a game writes a file into the build tree, which this review may not change. Claims about it rest on the source. | |
| 04 | Read GNU Backgammon's siterival page | Rated over 2000 on FIBS; rollouts with variance reduction; annotation; Python scripting. | |
| 05 | Read Backgammon Galaxy's siterival page | Live matches, friends, a computer AI; analysis reports; lessons; tournaments; rankings; iOS and Android. |
Findings
The lengths it goes to
- The engine carries its own test battery that anyone can run from the browser console. We ran it outside a browser and all 44 checks passed.evidence · app.js 10–14, 196, 392; run row 02
- The dice are fair by construction: random bytes of 252 and above are thrown away and redrawn, so each face comes up exactly one time in six rather than nearly.evidence · app.js 415–424
- Across two devices the server throws the dice, because a roll made in one player's browser is a claim the other cannot check; a double-tapped Roll is refused by the one-ply-per-entry guard.evidence · backgammon-sync.php 5–22, 337
- House rules are printed, not buried: Crawford off, the cube capped at 64, gammons and backgammons read from the final position.evidence · index.html 783–792; app.js 584–591
- The computer chooses only from the same legal turns a person is offered, and the page calls it 'honest company, not a champion'.evidence · app.js 610–616; index.html 794–802
Against the field
Set beside 2 rivals
GNU Backgammon
Free software for playing and analysing backgammon games and matches, with 2D and 3D boards, for POSIX systems and Windows.
Where it is ahead
- A far stronger opponent and far better cube handling.
- Rollouts and annotated analysis of every move and cube decision.
- Match-file import and export, and scripting.
Where Backgammon goes further
- Nothing to install: a correct board in any browser, phones included, with the match remembered.
- Two-device play from a shared link, with dice neither player's browser can choose.
Backgammon Galaxy
An online platform for live matches against people or an AI, with analysis, lessons, tournaments and apps.
Where it is ahead
- A pool of live opponents, ratings and tournaments.
- Engine analysis reports and lessons for getting better.
- Native iOS and Android apps.
Where Backgammon goes further
- No account at all, at one screen or over the wire.
- A rules engine and self-test open to inspection from the console.
Faults
Where it falls short
- The computer is a hand-written heuristic with a pip-count rule for the cube — far below GNU Backgammon, which its site rates over 2000 on FIBS.
- No analysis: no hints, rollouts, error rates or reviewed games.
- No Crawford rule, which tournament match play expects.
- No ratings, tournaments, lessons or opponents to find; online play is one game between two people who share a link.
Sign-off
Log closed at
- Held up
- Every rule check passed, and the dice code does what its comments claim.
- Fell short
- A weak opponent and no analysis at all.
- Reach for it when
- You want a correct game with a friend, on one screen or two, without signing up.
- Look elsewhere when
- You want to get better or find opponents — GNU Backgammon or Backgammon Galaxy.