The first 10,000 games at bgammon.org Link to heading

An overview of the journey so far.

Donate

Introduction Link to heading

The 10,000th game was recently played on bgammon.org, about nine months after the first game. This article highlights some important contributions by community members and documents the journey so far.

Statistics Link to heading

bgammon.org now hosts around 100 games of backgammon, acey-deucey and tabula per day.

Setup

Contributions Link to heading

Many people have helped guide the development of bgammon.org, and I would like to highlight two members of the community that have made important contributions.

f-a has contributed numerous suggestions which have helped guide the development of bgammon.org client and server. To name one, he suggested showing checkers off of the board visually, by stacking them in groups beside the board. He also has helped review blog posts before they are published.

EGYT has also contributed numerous suggestions which have helped guide development. He pushed for complete internationalization support in the bgammon.org client and server, which has now been achieved. He also provided helpful suggestions outside of internationalization.

Optimization Link to heading

The official bgammon.org client, Boxcars, and the backgammon engine embedded within it, Tabula, have both undergone extensive optimization. Some highlights include speed improvements to application startup time, wrapping and rendering text boxes, and loading and using Tabula to calculate moves.

These improvements are helpful everywhere, but are particularly noticeable for web and Android users.

BEI Link to heading

I drafted and implemented the Backgammon Engine Interface (BEI). The protocol has only been implemented at bgammon.org, but I hope to collaborate with other software developers to make it easier to create and work with backgammon engine software. Having a standard protocol shared across the multiple pieces of software used to make bgammon.org work has been useful.

All of the bots on bgammon.org powered by Tabula use BEI to communicate with a single engine running on the server. This greatly reduces the resources used when running multiple bots.

BEI is also used in the ongoing development of Tabula via the bgammon-benchmark tool. This tool makes it easy to pit backgammon engines against each other and score the results. Whenever changes are made to Tabula, the result is benchmarked against another backgammon engine before going live. I like to test against the wildbg backgammon engine.

Conclusion Link to heading

I’ve learned a lot while developing bgammon.org, and I am happy with the direction it is headed.

Here’s to the next 10,000 games.

-Trevor Slocum 2024/07/01