BackgammonDB
by BGDB4 min read

Analyze Any Position, Create Your Own Notebooks

BackgammonDB adds GNUBG engine analysis, a slick new position editor, and Notebooks to store them all in.

Three notebook pages, each with a variation of the same position and its evaluation

Today we are rolling out three big new features: position analysis, a position editor, and Notebooks to store collections of positions. All this still comes completely free, no account needed.

Here is the whole thing in three minutes, or read on for each feature with its own clip.

Underpinning all of this is a new server-side engine, powered by the mighty GNU Backgammon (GNUBG). It's not quite as strong as XG, but the open source license allows us to integrate it into the backend quickly. I'm not here to reinvent the wheel nor try to replace offline engines like XG: GNUBG is a superhuman-level engine that's more than good enough for me to learn from. If you want XG, you can always import those files: a decision the file has already scored keeps the file's numbers, and the engine is only offered where the file has none.

But what a built-in engine unlocks is the feature I'm most excited about: a fast, instant position editor. I've always wanted to be able to quickly, intuitively edit a position and see how analysis changes as you change the score, the dice, or the checkers. What if the point was on the 6 not the 5? What if I had a 4-prime, not a 3? What if there was no blot? What if it was a 7-point match? What if it was the Crawford game?

I want to be able to explore a position to find the "break-even" reference positions — where it becomes neutral race or hold, take or drop. Current apps make this difficult. Go to edit mode. Click to remove a point. Click add it. Click a button to analyze. Repeat. And when you finally find something interesting ... take a screenshot?

Here's the BackgammonDB pitch: Take any position to the editor with one click, or build a position from scratch with a few more. Drag and drop checkers to change the position; select multiple points or checkers to move them as a group. Proper undo/redo. Then get instant engine analysis. One click for deeper analysis. Then one click to save it to a notebook, where it stays forever.

Where Notebooks Come In

All these positions can be starred, tagged and annotated, just like in normal match review, and can be found in your positions browser and can appear in studies. But what makes this super powerful is Notebooks.

Notebooks are very simple: a collection of analyzed positions, optionally with a name and description. That's it. But that unlocks a lot: Start exploring a certain position, and you can quickly add each interesting variation to a notebook. You're building up a neat, categorized set of reference positions around a specific topic you can later review and study.

In the future, I think there's some really interesting ideas about sharing notebooks that I want to explore. Publish notebooks on BackgammonDB and import shared notebooks into your database. Even turn them into single documents with full analysis and comments between each one, effectively creating a chapter of a book.

What comes next

There are some other engine features that are not yet available in this release.

  • 4-ply analysis (what I'm calling "Deep" and GNUBG calls 3-ply). The Deep button is visible but disabled for now.
  • Full match analysis. If you import a .mat file (the plain-text format Galaxy, XG and GNU export as .mat or .txt) you will get Quick analysis as you browse through the moves and each position can be analyzed deeper. But there's no full match analysis on import and no match PR.
  • Rollouts.

These three features could all put a big drain on the server; single position 3-ply analysis takes a fraction of a second while 4-ply is multiple seconds. Full match analysis at a high ply can take minutes. I will enable these features once I have an idea of load. Full disclosure: they may go behind a paywall to cover the cost of building out better server infrastructure.

Another feature I want to add: using your own computer and engine for analysis, within the app. Of course, you can import an XG file with any analysis in it, but in the future, if/when there's a desktop app for BackgammonDB, I'd love to add the ability to let a user connect an engine (e.g. GNUBG, potentially another) and drive everything offline. That's a way down the line.

Review your matches with BackgammonDB.

Import eXtreme Gammon and GNU Backgammon match files, find your blunders, and quiz yourself on the positions you got wrong. Free, no account required — your matches stay in your browser.