What it is
Ludo Royal is a phone version of Ludo, the board game most families already have in a cupboard somewhere. Two to four players race four coins around the board, sending each other home a square before safety. You play it on one phone with the people sitting next to you, or on your own against bots. It is in development and not yet on either store.
What it does
Pass the phone around. Two to four people type their names, pick how many coins each, and play a full match on a single device. No account, and no connection.
Play alone against bots. One sits across the diagonal from you the way a second person would on a real board; ask for more and they fill the table. There is also a practice mode that softens the bots and speeds the rules up.
Set the house rules to the ones you grew up with. Whether a coin leaves home on a six, or a one, or any roll at all. Whether three sixes in a row forfeits the turn. Whether stars are safe squares. Whether two coins standing together are safe from being cut, and whether they block anyone trying to pass. Whether you need the exact roll to finish. Fourteen of these live in the settings screen, and the match you start uses whatever you saved.
Pick the pace before you start. Classic plays the full game. Quick loosens the entry roll and lowers the win target, aiming at a match that ends in five to seven minutes rather than half an hour.
Check the dice. Before the first roll, the match shows a short code. When someone wins, the app replays every roll of that match against that code and tells you whether they match.
There is no advertising anywhere in it, so nothing interrupts a turn.
How it's built
Flutter and Dart, one codebase for Android and iOS. The rules are data the app reads rather than branches in the code, which is why the settings screen can rearrange the game so far and why a fresh install can start from the variant that is normal where you live.
The dice are the part I care most about. Every roll of a match is derived in advance from one secret number, and before the first roll the app publishes a fingerprint of that secret. It cannot go back and change a roll to favour anyone, because any change would no longer match the fingerprint it already showed you. At the end of the match the app checks the whole sequence against that fingerprint and reports the verdict on the results screen. Bots roll from the same stream as you do and get no look at it.
One deliberate exception is disclosed rather than hidden: after eight rolls without a six, a six gets more likely, capped and damped so it cannot run away. It applies to bots identically, and the settings governing it are baked into the fingerprint too, so they cannot be quietly retuned mid-match.
Where it is now
In development. Matches against bots and pass-and-play matches run start to finish, with the rule engine and the dice proof covered by tests.
Online multiplayer is not built. The lobby screen creates a room and takes a six-character code, but rooms live only on the device that made them, and matches started there fall back to bots.
The app is English only so far, and there is no sound yet — the mixer and the volume controls are in place, waiting on the audio itself. The regional rule defaults for Nepal and Pakistan are drafts I want to put in front of players from each country before shipping them.
The server that will run online matches is what I am building next; sound and the other languages follow it.