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.

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:
- The final trained models are available on HuggingFace.
- Our Java library, RoyalUr-Java, can read and train these models.
- Our Python library, RoyalUr-Python, can read these models.
- Jeroen's Julia implementation can really quickly train models that use a different file format.
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.