Board Game Library
Over the last couple of years, I have gradually become a fan of designer board games (if you don't know what this means, go to http://www.boardgamegeek.com and look at some of the games there). A few months ago, a friend bought an iPad, and was telling me about all the cool games he has access to: Puerto Rico, Tichu, an Alien Frontiers app on the way, and much more.
When I got my Asus Transformer, I was quite disappointed to discover that only a couple good board games have been implemented on Android (Settlers of Catan and Carcassonne). Neither are my favorite games, and neither have options for networked play. I don't want to belittle the accomplishment of Exozet, who produced those games. Instead, I would like to think about ways that the board gaming options for Android can be expanded.
With this in mind, I have started working on a board gaming library for Android. The goal will be to define a hierarchy of classes and views that can be used to hide some of the details of displaying game boards, cards, hands, dice rolls and token movement; hide some of the complexity of networking, threading and managing game control; and ultimately allow a game developer to focus on implementing the unique rules of a game and developing compelling AIs and not have to worry about aspects of the game that are common to all games.
My thinking right now is that I will use this blog to document my progress as I slowly work through some of the issues surrounding my project. I am typically a rather inconsistent blogger, so it is possible that you won't see another post on this. Also, this is purely a hobby project. I have a full-time job which is, unfortunately, unrelated to games. To ensure I have time for this hobby, I wake up each morning 3 hours before I have to be at work, and spend 2-3 hours programming in Android as possible before I have to head into work and become a slave to the world of ASP.NET and C#. I'm not complaining, just pointing out that this will not likely move too quickly.
In the next few days, I'll discuss my design and some of the rationale behind it.


