1 minute read

I grew up in three cities: Navsari and Vapi in Gujarat,India and Brisbane in Queensland, Australia. One of the common threads linking my family’s lives across these very different cities was the board game we called alternativly Kauda-Baji or Matchi. The game comes to us from my mother’s side, who are mad about it, but it is also a well-known traditional Indian board game. It’s played across multiple Indian states and within the diaspora under lots of different names. Based on my basic internet research skills, It seems the most popular name is “Chowka Bhara” - https://en.wikipedia.org/wiki/Chowka_bhara

In Hindi and Gujarati, Kaura or Kauda is a plural form of the word Kaudi, which is translated into English as “Cowrie”, sea-shells used as a dice-like device in the game. The word “Pandit” in the same languages, indicates a learned person in a particular art. The naming of this project thus reveals it’s central goal: To build a software agent able to play a game of Kauda-Baji to completion and win against human players.

I came up with the idea a few weeks ago, I’ve been using various LLMs to help me formulate a project plan.

The current broad programming milestones to get to the end goals are the following:

  1. Game Model: A model of the game including elements such as the board, kaudi, pieces, player, rolls, turns and game state-changes.
  2. Game Rules: Game rules and a checker to check each state-change is legal.
  3. Visualiser: A basic GUI to show the game state
  4. Input: Extend the Visualiser to allow for input by a human player
  5. Random Player: A computer player that can list all legal actions available to it and chose one action randomly
  6. Heuristic AI Player: A computer player that uses classical AI methods such as tree searches to chose higher valued actions at each turn.
  7. Trained AI Player: A computer player based on Neural Networks that consistently beats human players.

I’m hoping to complete this project in less than 6 months. Beyond this, I do have some desire to convert the system into the physical realm by creating a playing robot. If it happens, it will be covered under a separate project with a new name.