Ludo Strategy Board game

Wikipedia says about this game:

Ludo (/
ˈljuːdoʊ/; from Latin ludo, meaning 'I play') is a strategy board game for two to four players, in which the players race their four tokens from start to finish according to the roll of a single die. Ludo is derived from the Indian game Pachisi, but simpler.
The game and its variations are popular in many countries and under various names, such as

In Italian: Ludo non t’arrabbiare
In Dutch: Mens erger je niet
In German: Mensch ärgere dich nicht
In French : Ne t‘en fais pas
English : Ludo (‘Don’t get annoyed’ would be better)

Ludo has been built for the Windows platform in Microsofts Visual Studio .Net and requires Microsoft .Net Framework 4.
[Summary] [Origin] [Menu] [Rules - Game play] [The Opponents] [Ludo Options] [- For the Human Opponent] [- For the Computer Opponent] [- Message Language] [- Speech Language] [- About the Die] [Educational value] [About the author]

The game of Pachisi originated in India somewhere around the 6th century. The illustration of playing boards on Ajanta caves are the earliest proof of this game to be played in India. In India, Pachisi was also played by the various Mughal emperors.
The Menu is a so called floating content menu and is activated by a click with the mouse on the Menu picture.
It gives access to the several game options and looks like this:
A quick way to start a new game is to simply click the die. If no game is running you can start a game that way instead of using the floating menu
Rules – Game play

This game has its own variation of the rules to the game and differs in certain ways from other established game rules.
(Whether you agree or disagree, this is how this game operates)

Each player rolls the die, the highest roller begins the game. Players take alternate turns in a clockwise direction.

To enter a token(pawn) into play from its yard to its starting point, a player must roll a 6.
The player has to draw a token from its yard every time he gets a 6 unless the yard is empty.
A new token on start has to be moved immediately with a compulsory second throw.
After one has thrown for this compulsory move, the game moves that token automatically.

If the player has no tokens in play and rolls other than a 6, or when none of the tokens in play can move, the turn passes to the next player.
Tokens that are safely at its home destination may also be moved within the boundaries of the four home circles.

Players must always move a token according to the die value rolled. This may not be divided between tokens.
Once a player has one or more tokens in play, he selects a token and moves it forwards along the track the number of circles indicated by the die.
If no token can move the number of circles indicated by the dice, the player loses his turn.

Moving a token is compulsory if you can, you may not voluntary forgo a turn (for instance to stay out of harms way). If you land on an opponent’s token, it will be sent back to its yard by the shot of a bullet.

The returned token can be re-entered into play only when the owner rolls a 6.
When choosing a token to play, you cannot choose a token that would cause it to land on a position, held by the same colour.

The only exception is when a new token initially has to be moved from its starting point. This is a compulsory move and will strike any pawn that resides in its destination, even those of the same colour.

Even if a move takes you passed an opponent’s token, you must do so although it will make you vulnerable to be hit by the opponent.
This is considered to be part of the thrill. If that is the only move you can make, so be it.

If the player cannot draw a token from the yard, rolling a 6 earns the player an additional or bonus roll in that turn.
If the bonus roll results in a 6 again, the player earns again an additional bonus roll. There is no maximum in this variation of the game.

The player's home circles are always safe since no opponent may enter them. In the home circles, you can and must jump over other tokens if the only move you can make is a position change at home base.

Tokens count back and can move to and fro within the boundaries of home base and must do so when that would be the only allowed move during ones turn.
For instance, a token that resides on position one, will end up in position two when the die indicates five. This is because it would advance three steps forward to position four and two steps back, causing it to land on position two.

The game is won when a player brings all his tokens safely home. The game will allow the remaining players to complete the game for second and third place.
Contents of Help:
The  Opponents

It is more fun to compete and this is a game for up to four players.
There may not always be other persons available so this game can let you play against up to three other computer opponents. These opponents do not need your interaction and play completely automatically. They throw the die themselves and make their own moves. Mind you, you will have a hard time playing more than one opponent, even a virtual one.

If you choose only computer opponents, the game will run like in demo mode. It runs on its own until the game ends with a winner.
Ludo Options

For the Human Opponent

Option: Move automatically when there is only one single token that can move.

When during your turn only one single token can move, you could decide to let the computer perform that move for you (less clicking, less chance for a carpal tunnel injury or RSI).

However bear in mind that when you play against two or more computer opponents, who by their nature perform all their moves automatically, you could be a spectator to the game for a long time until such time you are required to make a tactical decision and choose between two or more tokens.

You run the risk of becoming a passive bystander but the option is there if you want it.

Option: An Alias name for the tokens

Replace ‘Red’ for an such as one’s own name.
- For the Computer Opponent

The computer opponent has no other options than an alias name when the game is setup.

-Message language
This game registers all the actions in an action list.
This is useful when playing against a Computer Opponent and the actions follow up quicker than the user may be able to perceive. So all actions are logged in this list.
Although this game has an English language interface, you can opt to receive the game
information in either Dutch, English, French, German, Spanish and last but not least, the Greek language.
Although we are reasonably sure about the Dutch, English and Greek phrases in the game, the other rely heavily on computer translations and may sound strange in the ears of users of these languages.
It is not our intention to abuse the idiom of these languages, if you send us your comments, we will correct the offensive entries in new releases of the game.

-Speech language
There is also a possibility to have the computer read out the actions as they appear in the action list.
This option is only available if your system has voices installed. Ludo searches for all the voices found on your system and presents them in the Speech language Option panel.  Mind you this will only work well in conjunction with the message language setting in the Message Option panel.
If they disagree, your computer voice will read out phrases not of its own origin. Having said that, it may be nice to hear English phrases being read out with a French accent.

There is a bit of a drawback using the speech option. Speaking all the phrases takes time and delays the game significantly. You may also experience some lag in the game, causing the die to mismatch shortly with the number thrown with this dice. But the option is there if you want it.

As of now, support of other languages is not planned.
If you need it, you must contact the author who will sent you a list of phrases to translate into the desired language so that it can be incorporated in a new release.

The interface is not affected by the choice of language.
It remains English as the author holds the view that most people will be able to work with these simple English words.

About the die

Of course it is not a real die, it is a virtual one. Actually it uses a machine algorithm to determine the outcome of a cast of the die.

We have to get a bit technical, in Ludo, this is the code used:

Dim Die As Integer = CInt(Math.Floor(6 * Rnd())) + 1

Rnd() uses a mathematical operation to produce the next "random" number. Because the actual operation is known, given a specific value, you can predict the next value. However, given an arbitrary start value the numbers have good distribution - these are "pseudo-random" numbers.
To keep Rnd() from starting at a predictable number (and consequently give it the same sequence of "random" numbers every time), Randomize() should be called to use the machine clock to set the initial value ,called a seed).

So this virtual die behaves as a real one. It mimics a “roll” when the user clicks the die although this is only pretence. The outcome has already been determined by the formula. For the Computer opponent, the outcome is immediate. It does not care about suspense.
When speech is set to ‘on’ though, you might experience a slight lag in de the dice presentation of the outcome.
This is an event driven game and handling of events may take time, depending on the speed of your system.

Of course, as in real life you may have several goes at the die before you hit a six in order to start the game. It will give you a nice real head start when you hit six and can start the game and your opponent cannot. Blame it on the formula. The sixes are there for sure!

Educational Value

This game is basically a children’s game and by means of this game, or any other board game for that matter, children  learn that they cannot always win and learn how to deal with loss and to handle frustration when things don’t go their way. There will always be a new opportunity to do better.

Having said that, we have seen adults play this game with great enthusiasm and delight when they knock an opponent off the board. So there is something in the game for every age.

About the author

Ben Kalkhoven is a retired Dutch ICT professional with years of experience as Oracle DBA and Developer with additional skills in Visual Studio Visual Basic .Net and Web Development.
After retirement Ben had too much free time on his hands and started to build FreeWare applications under de name of ‘Nice SoftWare!’ with an web presence at
This is a non-profit sort of a hobby horse with no other goal as to keep the OAP busy.
All programs that Nice SoftWare! create are Freeware and are donated to the Public Domain.