← Back to Learn

The Royal Game of Ur Analysis Project

RoyalUrAnalysis is a project dedicated to the technical analysis of The Royal Game of Ur. The project uses AI to find the best strategies to use in the game to win!

RoyalUrAnalysis is an open source effort! If you'd like to check out the codebase, or just drop by to give us a star, check us out on GitHub!


This project aims to answer questions such as:

If you'd like to read about our progress in answering these questions, then you can read about our insights over on GitHub!

Meet the Agents

We currently have a small set of agents designed to play The Royal Game of Ur, and each takes a slightly different approach to picking their moves!

Agent Description
🎲 Random Picks a random move, every time!
👶 First-Move Picks the least advanced piece to move.
👴 Last-Move Picks the most advanced piece to move.
🤑 Greedy Prioritises taking pieces, and moving onto rosettes.
📒 Expectimax Does a statistical analysis to determine the best move.
🐼 Panda A cheaper variant of expectimax that skips checking some rolls.

If you'd like to delve deeper into each agent, how they function, and more statistics about each of them, then check out the agent documentation on GitHub!

Anaylsis Window

RoyalUrAnalysis provides a windowed mode for analysing specific game positions. If you'd like to setup your own positions to analyse, then download the latest RoyalUrAnalysis release on GitHub!

Example RoyalUrAnalysis Window


To use the analysis window, simply click on whatever you wish to change. For example, to change the game to "Dark's Turn", simply click on the "Light's Turn" text, and it will swap over.

Once you have your position set up, click "Analyse", and RoyalUrAnalysis will use the Panda AI from the webgame to evaluate how strong it thinks each move is!


If you find any bugs in the program, or want to suggest improvements or changes, then feel free to create an issue on GitHub.

Play The Royal Game of Ur

See if you can beat the Panda difficulty powered by RoyalUrAnalysis!