The Royal Game of Ur is solved

We have strongly solved the Finkel, Masters, Blitz, and Aseb rule sets for the Royal Game of Ur. To accomplish this, we calculated your precise winning chance from every possible position in the game, under optimal play. Our open-source library for the game, RoyalUr-Java, is also capable of strongly solving many variants of these popular rule sets as well.

We have written a technical report that outlines our method for solving the game. Read our report on solving the Royal Game of Ur here. It contains all the information about our formulation of the Bellman equations, our use of value iteration, and the game-specific optimisations we have developed. We are working to turn this into a more formal paper.

We have also written a blog post about our story of solving the game, with more approachable descriptions of the algorithms we use. Read our story of solving the Royal Game of Ur here. Look for the technical section if you want to get into details like descriptions of the algorithms, diagrams, and our conclusions about solving other games using this method.

Our new flawless Panda bot quietly considering a position.
Our new flawless Panda bot quietly considering a position.

Free and Open-Source Libraries and Tools

We have open-sourced the source code of multiple libraries that can be used to solve the game or load the perfect-play maps. If you'd like to experiment with the solved game, and you have a technical background, you might find the following resources useful:

One of our long-time community members, Raph, has also developed a website where you can explore what the Panda would do from any position in the game. It only supports the Finkel ruleset right now, but it is great for exploring positions in more detail. You can try it out on Raph's website here.

Would you like to hear about future updates?

Join our newsletter and we'll send you emails when we have new updates or Royal Game of Ur news to share 📮 We also send photos of cool boards! 🖼️