Member-only story
The maths behind Dobble

In this series I will guide you through my journey in re-creating an online version of Dobble, or Spot It, depending on where you’re from, the fast-paced, observational game pushing stress levels to breaking point and ruining friendships all in the name of fun since 2009. I will break this project into several parts, starting with a peek into the theory and mathematics behind the game’s principles and how we can create our own deck of cards, and then follow up with a walk through the implementation on how I created my very own multiplayer Dobble game using JavaScript. My hope is that by the end of these articles you’ll have a better understanding of the theory behind how the game works and the know-how to go off and create your very own online version of Dobble.
The brains behind the game
Before I get started on nose-diving into the nitty-gritty mathematical principles hidden behind the glamorous face of the game, let’s begin by clarifying how the game is played and the fundamentals behind it’s structure.
The concept of Dobble is, in theory, very simple.
- Each deck is made up of 55 cards.
- Each card has 8, different symbols on it.
- Any two cards have exactly one matching symbol between them.
And that’s it. These three principles are all the fuel needed to start an adrenaline fuelled Dobble fire. There are several variations of the game that you can play, each one as stressful as the next, but all revolve around the same principle of matching one and only one symbol between different cards.
To begin my investigation I will spawn a couple of important questions that we can enquire about these principles.
- Why 55 cards in a deck?
- Why 8 symbols on a card?
- How do we ensure that there is exactly one match between every pair of cards?
Now that we have some starting points for our investigation it’s time to open the door to the t̶e̶r̶r̶i̶f̶y̶i̶n̶g̶ ̶ wonderful world of maths and have a rummage around to see what we can find. First of all, let’s talk about lines. Can we talk about lines?