BoardGameGeek graph

28 Feb 2017

Javascript  Python  Web 

Originally posted at https://tech.labs.oliverwyman.com/blog/2017/02/28/boardgamegeek-graph/

I’m a bit of a gamer, although I’m using that term to cover many things including pen-and-paper RPGs, board games, various forms of LARP, and occasionally a bit of video gaming. Of course, with all those options there’s the problem of what should you play. One of the solutions that people have come up with is a variety of flowcharts that help choose which board game to play (example, example). However, these flowcharts have the problem that you need to actually own the board games on the list, which are generally quite substantial. Luckily there’s the wonderful website BoardGameGeek with lots of data about games, and which has a rather usable XML API with lots of nice metadata. If you get an account there and register all the games you own, we now have enough to build our own flowchart.

I used this data to build the BoardGameGeek Graph, which looks at the different “mechanisms” for games in your collection (e.g. deck building, worker placement, card drafting) and then builds a graph of yes/no questions regarding what you’d like to play today. It does this by repeatedly picking the question that will get rid of the most options, thus reducing the number of questions you need to answer. You can walk through this graph one question at a time, or view the entire graph in one go (using the vis.js library for view Graphviz diagrams in a browser).

Source code is as always available. There’s the possibility of adding more types of questions (number of players for example), but thus far the mechanisms questions have been good enough for the users I’ve been testing this with.

Previously: Companionate: sharing logins with QR codes Next: Generating Beatnik code