Programming a Carcassonne Game

A new programming project.

Posted in Programming on Friday, September 21st 2012.

Although I have put off finishing my UNO game for over eighteen months, I thought I would get started with another pet project of mine: making a Carcassonne game. This is not a serious affair, there is an excellent app of Carcassonne available for those of you who have iOS devices (it works particularly well on the iPad). The game just strikes me as having the right level of complexity to be a taxing yet attainable project. I’d also like to understand strategies for playing the game and what better way to evaluate strategies for games of chance than to have a simulator to play all those millions of games that you don’t have time to play?

I wanted to have some rudimentary code ready for this post but it is misbehaving at the moment. I hope that it will be ready for another post in the next few days. That at least gives me an opportunity to explain the game in some detail, in case you have never played it.

Carcassonne is a tile game in which the aim is to build roads, cities, cloisters and fields, with the aim of having the most points by the time all the tiles have been laid. These are made by deploying little figures (affectionately known as meeple) on to a tile as it is laid. The tiles are supplied in random order.


Update April 2017: The original version of this post included a dummy playthrough of a Carcassonne game but there were several mistakes. I have plenty of notes for an additional post of this nature so more may appear on this topic at a later data, complete with a corrected playthrough.