Its no secret that I like board games.  It’s one of my go to timekillers.  Settlers of Catan, Dominion, Agricola; I’m a sucker for Eurogames.  I play with a few friends from work from time to time, and over time, we started trying to learn things together.  We set up a software book club, and that eventually morphed into an AI learning club.  We joined The AI Games, and had a blast with it, but then decided to see if we could take a crack at something similar for our private group.

We decided to start trying out some board games we knew.  We wanted to build an engine that allowed bots to play the game against each other.  The engine would run all the rules and coordinate communication, and each bot would supply the moves.   One of us mentioned a two player game called Battle Line,  designed by Reiner Knizia and we decided to go for it.

I had written an Elixir bot for the AI Games, and wanted to try again with Battle Line.  I had used metaprogramming to set up a simple engine, and it definitely made it so that I could spin up a strategy quickly.

Continue reading