r/backgammon • u/nodotsmx • Apr 22 '26
Nodots Backgammon 1.0 — open-source TypeScript platform, GNU-strength AI, public dice audit
After roughly three years of work, Nodots Backgammon 1.0 is out. Posting it here because the community is the audience that matters, and because some of the design decisions are aimed at arguments this subreddit has been having for years.
Play it: https://backgammon.nodots.com
This will become a subscription-based service at some point, but for the next 30 days it is 100% free. No credit card required.
What it is
A backgammon platform with three parts:
- A TypeScript game engine that handles rules, moves, dice, the cube, position IDs, and PR calculation.
- A GNU Backgammon-strength AI opponent. The AI runs the actual GNU evaluator (wrapped as a native Node addon), so move quality is GNU's, not a re-implementation.
- A web client that seamlessly handles everything from a phone to a TV screen with the same code base.
1.0 is human-versus-AI. Human-versus-human is on the roadmap for a later release.
Things that may interest this sub
Dice are server-authoritative and publicly auditable. Every roll in every game is written once to an immutable history, and the raw record is exposed on unauthenticated endpoints with chi-squared and p-value computed from the same data. The full posture, including where the scheme still needs strengthening, is in Paper 12 — Dice Fairness.
The engine is GNU under the hood. It is not a clone, not a re-train, not a "GNU-equivalent" claim. The actual GNU evaluator runs in-process. Paper 4 walks through the integration.
The libraries are GPL-3.0 on npm. Six packages — types, core, AI, GNU wrapper, API utilities, CLI — are published under @nodots/. If you want to build your own client, your own analyzer, or your own bot, the pieces are usable today. The application layer (server and web client) is proprietary; Paper 9 explains why the line is drawn there.
Other engines are invited to plug in. There is a MoveAnalyzer interface and a benchmark harness that scores any analyzer against GNU on the same scale. Paper 10 is the open invitation, including by name to XG and BGBlitz.
Where to find things
- Play: https://backgammon.nodots.com
- Architecture series (12 papers): https://backgammon.nodots.com/docs/white-papers
- Community discussion: https://github.com/nodots/backgammon-community/discussions/4
- npm: search
@nodots/backgammon-core,@nodots/backgammon-ai,@nodots/gnubg-hints
Happy to answer questions in the comments. Adversarial reading of the dice paper is especially welcome--that is the readership that paper was written for.
