You are here



Avalam: only the last level counts


Students were divided in groups of 2. Each group had to hand in one AI agent for the contest. Every technique was allowed as long as it was fair (e.g., they could not use CPU time while the opponent was playing). Each player got a time credit of 20 minutes per match.

We received 22 submissions that we divided randomly into 2 pools of 6 agents and 2 pools of 5 agents. All agents inside one pool played twice against all other agents in the same pool. For each match, the winner got 3 points. A draw game gave 1 point to the two opponents. In each pool, the two agents having the lowest number of points were eliminated (for pools of 5 agents, only one agent was eliminated). In case of ties, the slowest agent was eliminated (we summed the time the agent took to return each action).

The remaining 16 agents participated to a best-of-three playoff. For each match, the winner was the agent winning two out of the three matches. A draw game was won by the faster agent. The winning agent of pool A played against the fourth agent of pool B, the second of pool A against the third of pool B, the third against the second and the fourth against the first. The same for pools C and D. For each match, the winner went to the next level. A third place playoff was also played to determine the third place between the losers of the semi-final.


Position Students
1 Cédric Snauwaert and Arnaud Pineux
2 Thibault Poncelet and Loïc Vigneron
3 Thibault Goemans and Laurie Sax
4 Raphaël Schramme and Guillaume Kaisin

Cédric Snauwaert receiving his prize kindly sponsored by Case Départ

Match against a human

Vincent Sélenne is the editor of Avalam. He accepted to play a match against the winning AI. It was a very exciting game.


And the winner is…

Vincent (he played the green ones).

The code

The code of the game has a GPLv2 license and is downloadable at the bottom of the page. Python 2.5-2.7 is required (some agents might need Python 2.6 though).

Each AI agent lies in its own directory. An agent is a small XML-RPC server that can be started with the following command

python -p 8000

(replace 8000 by the port number you want it to listen on).

To start the game, go to the top directory and launch

python http://localhost:8000 http://localhost:8001

assuming you have started two agents, respectively on port 8000 and 8001. You may also replace a URI by the keyword human if you want to play against the computer. There are also other options, see python -h. For example, each contest game has been launched with

python -t 1200 --headless -v -w "$TRACE" http://localhost:$P1_PORT http://localhost:$P2_PORT
avalam.zip98.47 KB