"Bagh Chal" - a Nepali Strategy Game

 

Click
here
to
play
the
game!

On my recent trip to Nepal, I learned an interesting strategy game there called Bagh Chal (sometimes spelled bagha chal because of the aspirated "gh" in bagh). It has similarities to checkers, tic-tac-toe, and chess, and makes a great conversation piece because over here in the States no one knows what the hell it is that you're playing. Bagh in Nepali means "tiger", and chal means "move", hence you could translate it as the "Tiger Moving Game" or "Move the Tigers". It is Nepal's national game.

I have been working on a computerized version of this game, which runs as a CGI program on a web site (at least in this version - perhaps in the future I'll rewrite it as a Java applet). What's interesting about the program from an algorithmic standpoint is that it relies on a separate call to the program for each round of the game, approaching each turn as a fresh look at the situation. Strategy on the computer's part then relies strictly on the information present at that turn. This approach allows for easy implementation as a single-call CGI program, one that takes form-input from the player and outputs a single new webpage with both the player's requested move and the computer's next move placed.

I'm curious to see how far this approach will allow decent computer decision making. I've almost gotten the program to work functionally, but making it work intelligentally (and how intelligentally) will prove more difficult and interesting. I've been passing a minimal amount of game status information info from one round to the next by putting it in hidden form-tags on the output webpage, so that it gets submitted each turn with the player's move. It seems to me that the more intelligentallly I want this program to make its decisions for each round, the more information I'll need to pass from one round to the next. But you can only hide so much on a webpage, and I don't know yet if the "happy medium" I'll find for this will provide a challeging enough game to be fun to play - we'll see. The information currently retained on each round's webpage includes:

  • player (tiger or goat)
  • skill level (1,2,3)
  • round number
  • number of goats taken
  • gameboard status as a 25-element array with 0,1,or 2 in each element ("empty", "tiger", or "goat")
At any rate, enough explanation. Here is a link to the game. I am still working on the program however, so be aware the thing doesn't work entirely correctly yet. Hopefully I'll be done soon. You'll probably need to read the rules of the game below before going to the game link so you know how to play. The rules are written generally, for playing the game either on computer or with a gameboard and pieces.

 

Game Rules

Equipment

One player is the tiger (bagh) player with four tiger pieces, and the other is the goat (bakhri) with 20 goat pieces. The gameboard consists of a grid of 25 points with lines of valid movement connecting them (see graphic above). Player movement is along these lines from point to point, but notice there aren't lines between every point so there are some restrictions to this movement.

The game could be played on a computer screen, on a specially made Bagh Chal board with its game pieces, or even on a piece of notebook paper with the gameboard pattern scrawled on it and with pennies and nickels for game pieces.

Setup

The four tigers are placed in the four corner points of the gameboard. (But the goat will go first - see below.)

Object

There is a different object for each of the two players:

The tiger must jump ("capture") five goats to win. See Game Play for details on tigers jumping goats. In some versions of the game the tiger player must jump and capture all the goats to win, not just five, but friends and I have found that once you've captured five goats, you've no problem capturing the rest. So the five goats rule probably just came out of an interest in shortening an inevitably lost game. Myself I prefer the five-goat rule.

The goat player must try to make it so there is no valid move left for any tiger before the tiger eats five of his goats (or all of them, if you prefer the long and tedious version of the game), by using the goats to crowd in on the tigers and prevent both jumping and regular movement. This can become particularly difficult if more than a few goats have been captured.

Game Play

Players take turns, moving or placing one piece per turn. The goat player goes first.

Goat movement:
There are two phases of the game. In the first, the "setup" phase, the goat player sets one goat on the gameboard per turn, but cannot move any goats once they are on the board until all 20 goats have been played. In the second phase, the "take-down" phase, which begins after the goat player has played all 20 goats, the goat player may move one goat on the board per turn along a movement line to an available, adjacent point on the gameboard.

Tiger movement:
The tiger player may move one tiger per turn, either along a movement line to an available, adjacent point on the gameboard, or by jumping a goat that is accessible along a movement line and which has an open point on its far side to land in. Goat-jumping may only be over a single goat. When a goat is jumped it is removed from the gameboard and considered "captured".

Play continues until one of the players wins by reaching their object (see Object section).