How to Develop an Arimaa Bot

An Arimaa playing program is often referred to as an Arimaa bot or an Arimaa engine.

You can develop an Arimaa engine in any language
you wish. Programming languages such as C, C++, Java are good choices, but just about any
other language can be used though the execution speed of your program might be slower.

An engine must be capable of taking the state of an Arimaa game and selecting a
legal move to make. The Arimaa engine is invoked by a contoller which
provides the current state of the game as input to the engine. The
protocol used for communication between the Arimaa engine and the controller
is called the Arimaa Engine Interface (AEI). The controller will handle interfacing
with the Arimaa game room or a graphical client so that your engine does
not have to deal those interfaces. The controller can also allow
two engines to be played against each other locally.
The AEI is the recommended protocol for Arimaa engines.

The AEI is an open source project started by Brian Haskin. You can learn more
about it at:

While developing your bot you can test it locally by using the roundrobin.py script provided
in the AEI package.

To have your bot play in the Arimaa gameroom you can use the gameroom.py script provided
in the AEI package and it will take care of interfacing your bot to the Arimaa gameroom.
However you will first need to create an account for your bot.