We have been playing Ludo since childhood. It's a very famous board game in India. Getting a chance to convert the board game into a web-based game was an opportunity we couldn't resist.

Derived from the Indian game Pachisi, ludo is a popular game. Having spent our childhood in India, we have played this game a lot of times. This is our attempt to convert the board game into a web app.

What it does

There are 4 players and each player has 4 tokens. The tokens start from the start square and finish in the home block after navigating through the track in a clock-wise manner.

A player must throw a 6 to move a token from the start square onto the first square on the track. Each throw, the player decides which token to move. A token simply moves in a clockwise direction around the track given by the number thrown. If no token can legally move according to the number thrown, play passes to the next player.

A throw of 6 gives another turn to the same player.

If a token lands on a token of a different color, the token jumped upon is returned to its starting block. A token is safe from attacks when it is on a cell marked by a star.

A winner is declared when all 4 tokens reach the home block.

How we built it

We used javascript framework called React to build the web app. We also used google-auth for login authentication.

Challenges we ran into

Ludo is a game with various rules and taking care of each edge case seemed to be difficult. The edge cases include:

  • Overlapping of tokens which hid the other tokens.
  • The token when moved should follow the path defined. However, the token only followed a vertical first followed by horizontal path to transition to the next cell of the board.
  • Creating a 3D die that rolls on a click was difficult to implement and hence we stuck to displaying numbers.
  • We lacked time to add a feature where it is possible for a player to play against 3 bots.

Accomplishments that we're proud of

Implementing the game completely according to the rules of Ludo is in itself a very proud achievement for us. The game and the board also looks attractive.

What we learned

We learnt how to collaborate as a team. We also learnt how to debug errors on the browser and understand React developer tools. Some of the members had a huge learning curve in React framework/javascript.

What's next for Ludo

The next step for Ludo would be to have a multi-player game where each player can play remotely with their friends. We also plan to have a smart bot that can take decisions to maximize their chances of winning.

Share this project: