Hi I’m James. I want to make a game, and the game is Ludo.

Background on me:

I had an idea for making a Ludo game back in January when I started my website (due to some personal trouble I had taken time away from Uni). I had the Idea ruminating since, had started a Game Design Document, then got incredibly anxious. A few months of working on other things, starting a YouTube Channel, writing some music, playing music and other things, I’m here, rearing to get this done. This is more for keeping my sanity and keeping myself accountable. I’m just dragging whoever is watching along for an emotional saunter.

Background on Ludo:

Ludo is a game I played a lot as a kid in Ghana (though there it’s pronounced “Ludu” and is more based on Uckers…). Explaining it all will be a bit confusing, so I’ll stop here. You can Google-fu some of this stuff. Basically, It’s a little board game that feels like someone took monopoly and killed all the chance cards, buying land, etc. and left in all the home wrecking and seething resentment. I’ll go into detail later.

Planning the Game:

Now for any game, planning is essential. The quickest way to get something half-baked is to go in blind. A bad idea is to go in and over do it with the plan as well. Putting in all your ideas in it as though you would be able to accomplish it all.

The original, incomplete, 11 page silliness… Le shame.

Case in point, I mentioned a Game Design Document earlier(also in one of my provious posts). This is a Document to detail how you want to design, construct, market and maybe even publish your game. It’s similar to an architecture sketch for a new house. It’s to show what it may look like, but it’s not the Technical Schematics (by the way, there is a Technical Design Document that is sometimes used for the more detailed stuff in gaming… google-fu). I ended up not finishing it because I was putting too much into it at once. Some things where necessary —like game-flow, look-and-feel, scope and boundaries — but It became increasingly bloated till it too went over scope.

So I’m going strip it all back, keep it simple and try a different approach. A nice little question and answer procedure to deal with planning. Because in the end, you can’t solve a problem without first asking the right question.

Question 1: What does the game require?

Another way of asking this would be: What do I need for the game to be a game?

Gaming, like any story telling medium requires character, setting, plot and conflict. The addition of User agency is what makes gaming unique. So, what does Ludo need to be able to play it?

  • 2 – 4 players: Just one player wouldn’t provide conflict based on the rules to be discussed later. These players are our characters.
  • Dice: Usually one die is needed, two can be used as a variant. This is both plot and supplies agency in choices made after the die is cast.
  • Player pieces: 4 pieces per player provide player agency by allowing players to pick which piece to move. They are also the agents of the players’ conflict.
  • The Game board: This is the setting of the game. This is where all the action happens.

To be honest when I was thinking of an answer to this question I only thought, “Players, dice, board and pieces.” Everything else is some slight pretentious revisionism… slight.

Now we know what the game needs…

How Do You Play Ludo?

Time to get into detail about Ludo as I remember it.

Objects

Objects game include:

  • Player pieces: Four for each player.
  • Dice.
  • Game Board.

The Game Board:

The game board is described as follows: 4 shells made of 6 x 3 square cells; 6 of these square cells in each shell colour coded (1 starting cell, 5 home stretch cells); 4 Start Bases to house 4 game pieces each; 1 Home Base/ Goal.

Movement in Game:

The Game is turn-based. The pieces, once on the field must move clockwise to the base of their Home Stretch, then inwards home. In order to move a piece:

  • The player must roll a sufficient dice roll to move.
    • A six allows all players to move either out of Start or along the game board
    • The magnitude of the dice roll (excluding failed rolls / flubs) will determine the distance travelled by a selected piece.
  • Said player must have space to move the number of dice rolls (in reference to blockades and having enough spaces in Home Stretch).
  • The player can also move, provided they made the corresponding roll, to an opposing piece in range for a kick.

Kicking Rules:

Combat is performed by “Kicking” opponent pieces to their respective Jails/ Start Bases. A kick is a manoeuvre whereby the player (provided they have the current dice roll amount and are in range to do so) can move one of their pieces into the same space as an opponent piece. There are three basic kicks (with Variants):

Standard Kicks

Standard Kicks: A kick performed in forward or backward motion that immediately sends an enemy piece back to their Start Base.


The Slide Kick

Slide Kicks: In positions where player movements are parallel to each other, if two players land on opposite tiles (in the same plane), one player can slide into the opposite tile and eliminate the piece. This can be done in a forward or backward manner.


The Pain in the Butt Kick… or Home Kick

Home Kick: A special case where a player can enter an opponent Home Stretch before their piece reaches the Home Space, and eliminating the piece (provided they produce the required dice roll.

Blockades:

If a player has two or more of their pieces on the same space, no other enemy piece can cross over. This can be bypassed if an enemy player has a blockade equal or greater than the initial blockade within the initial blockade’s vicinity. For Example, Blue has a blockade of 2 Pieces, Yellow needs two pieces in the space before Blue’s pieces in order for one of Yellow’s to cross over.

A blockade cannot be kicked, under any circumstance.


After all this dry talk, we move on to the next question…

How the Heck Do I Design This?

This is where design becomes both fun and infuriating. Take a look at the game board. How would you design a video game to move pieces in a predetermined path in increments towards a goal? There may be many an approach to this problem, but here is mine. Also, this is going to be Jargon filled so if I don’t explain anything, I hope you have that search tab still open.

The Board

Firstly, look at the board. At first glance, it looks like 4 grids and 5 Squares put together. In practice, It is an Array (or list) of 73 elements, or 74 if you count the Start Bases.

Before you say the Maths does not add up, let me explain.

Position -1 or 0 can be the Start Bases for each player piece. Since they won’t be on the field of play yet, we can give them all the same index.

Position 73 or 74 can be used for the Home base for the same reason.

Now, all we need to do is set the indices for the Start Bases for each player, and we have a board ready.

The Dice:

This is easy, one function to roll a random die between 0 and 6 and another to test is a Re-roll is necessary… Okay, this is too simple. We can make this fancy. How about we store the history of dice rolls for all players? Why do this, you may ask? Well, instead of randomly generating the dice rolls, there is a function that takes a list of percentages for each value, and shifts the chances of rolling a value to… … You know something? Let’s stick with simple.

The Pieces:

The pieces need to handle the following variables:

I knew modelling these pieces would come in handy!
  • It’s identifier (be it colour or player ID)
  • It’s location (whether it’s in Jail, in the field or home)
  • Boolean values for:
    • Whether the piece is in Jail,
    • In the field,
    • On the Home Stretch,
    • Capable of Kicking,
    • Blocked in some way,
    • Or Home.

The Player:

The Player would contain 4 Pieces, access to the Dice and functions to select and move pieces and select kick actions. That might be about it, I think.


The problem with planning is, without prototyping specific aspects, you may never know how well your strategy will go without actually implementing the game.

I have left a lot of things out on how I would implement the game, like functions, NPC players and other stuff. That’s a bridge I’ll cross when I get there. There is one question for you all, though:

How would you track Players going into the Home Stretch? Only Players that belong there can go, unless they are planning on Kicking their opponents. So how can you implement this? Leave your onpinions in the comments on this, or anything else about the game. I’m eager to know what you think. It might help keep me a little saner.

Published by James Agbotta

Software Engineer and Game Designer (Watch this space)

Leave a comment