Can You Use Formal Verification on a Table Top Game? (Solutions)

Marianne Bellotti
8 min readMay 14, 2022

Practicing breaking down and generalizing problems into formal logic… for fun.

Table game vector created by freepik

Last month I talked about using formal verification in game design and the challenge of trying to define a problem so that it can be verified. This is part 2 of that story, detailing the various approaches I’ve been using to iterate on game rules and deck structure.

Make It Look Like a State Machine

My first step in specifying any system is usually to make it look like a state machine. Exactly what this state machine looks like depends on what properties we want to verify. The problem I needed the most help thinking through was how many of each card should be in the deck? The composition of the deck will determine whether people feel satisfied or discouraged and bored playing the game with others.

The real function of the game play is to move points from one stock in the deck to another stock on the game board. And because the question is about the composition of the deck, it is better to think about each card value as a different stock storing a certain number of cards. That might look like this:

--

--

Marianne Bellotti

Author of Kill It with Fire Manage Aging Computer Systems (and Future Proof Modern Ones)