Representing Board Game State — The Board

Peter Kelley
4 min readMar 4, 2017

--

This is part 1 of the series. Other posts in the series deal with the cards, the players and the pieces.

I think it should be possible to create a modelling language that is capable of representing ANY boardgame’s state.

I’m a software/enterprise architect by profession and coming up with models for things is what I do. I also love boardgames so why not combine the two? If I was an academic I could write a paper or thesis on the topic but I’m not so a series of blog posts will have to do.

Why am I doing this? There are a number of sites devoted to playing games online as well as tools like Vassal devoted to representing games electronically but these are all proprietary formats. Having one game modelling language would make it possible to represent game rules and state once and then make use of that information in a variety of ways. I can imagine all sorts of uses for this data from analysis of game strategies to creating game rule books. Once the data exists in an accessible form the uses of it are only up to imagination.

Representing game state is only the first step. How players can transform that state according to the rules to play a game is the logical progression from here. I thought I would start with something more manageable to begin with.

The ideas I have are probably too much for one post so I am going to break this up into a series of posts.

The Board

A board for a board game is a collection of spaces, nothing more, nothing less.

Spaces can be related to one another by types of relationships. This is a bit abstract (I did say I was an architect :) ) so here is an example. An important relationship type is adjacency —one space is adjacent to a second space. The reverse may not be true, some games have directed paths. This is what is known in mathematics as a directed graph.

The spaces and their relationships form a set of directed graphs.

Each space can also have a set of properties to represent information about the game. For example the number of resources a given space pays out in a worker placement game like Caverna or whether a given hex has a city on it in Railroad Tycoon.

The Caverna Board

Railroad Tycoon brings up the idea that a given space can have “sides” and that properties or relationships may not apply to a space as a whole but rather only to specific sides.

Track Building near Chicago in Railroad Tycoon

In Railroad Tycoon a given hex may have a river that flows through the hex between 2 or 3 sides (for river junctions). The configuration of those river sides is a consideration in determining how much it costs to build track in that hex. The track itself changes the relationships of each space. One space is connected to another by a relationship type that could be called track adjacency but that relationship only applies to a specific side in each hex. This doesn’t affect the game play in Railroad Tycoon, if track is connected that is all you need to know, but in other games the relationships will be affected by the properties of the side.

The Board in the Early Stages of an Eclipse Game

In some games, like Eclipse, the board is formed up of tiles and the board grows as the game progresses. At any point, though, the board consists of spaces with relationships (e.g full or half wormhole connections), properties (e.g. planets) and sides (the 6 sides of the hex).

This is the bare bones of the idea that I think can be generalised to just about any game. The only exception I can see at the moment are games with a physical element such as miniatures or dexterity games. If you know a game that you think can’t be represented in this way leave a comment. I’ll either refine the modelling language or figure out a way to represent it.

Images courtesy of http://boardgamegeek.com

--

--

Peter Kelley

Working as a software architect in Canberra. Boardgamer, Husband, Father.