You're reading: cp's mathem-o-blog, Features

I’ve made my own numbers-in-a-grid game


For the past couple of weeks, I’ve been obsessively playing the game Twenty on my phone. The fact that my wife has consistently been ahead of my high scores has nothing to do with it.

The main source of strife in my marriage.

The main source of strife in my marriage.

Twenty is another in the current spate of “numbers-in-a-grid” games that also includes Threes, 10242048 (and its $2^{48}$ clones), Just Get 10, and Quento.

The basic idea is that you have a grid of numbered tiles, and you combine them to build up your score. While there are lots of unimaginative derivatives of the bigger games, there’s a surprisingly large range of different games following this template.

With so many different games being created, I thought that a chap like me should be able to come up with a numbers-in-a-grid game of my own. Yet, for a long time, I just couldn’t come up with anything that was any good.

Yesterday I had a really nice shower, and the accompanying feeling that I’d come up with a really good idea – make a game to do with arithmetic progressions.

A few hours of coding and twiddling later, I’d come up with a pretty good game, which I’ve called Sequences, because I’m too cool to pick a single number.

You’re given a 5 × 5 grid of numbered tiles. Your task is to find sequences of at three or more consecutive numbers in an arithmetic progression. When you pick a sequence, you get points. Sequences with more points or a bigger gap between terms are worth more points. Each time you use a bigger number than you’ve used before, you go up a level and the range of tiles that can appear grows.

I wanted the game to be accessible to people who don’t know what an arithmetic progression is, so I tried very hard to state the rules as simply as possible. Here’s how it stands at the moment:

  • Find a sequence of at least three numbers so that the difference between consecutive numbers is constant (that includes zero).
  • Longer sequences with bigger gaps earn more points.
  • To move to the next level, use your current level number in a sequence.

I deliberately haven’t explained the scoring mechanism: that’s because the score you get for a sequence is $m \times N^d$, where $m$ is the largest number in the sequence, $N$ is the length of the sequence, and $d$ is the difference between consecutive terms. My (highly intelligent, remember she’s beating me at most of these number games) wife’s eyes glazed over when I started telling her how the scoring works.

Really, it doesn’t matter exactly how the scoring works – it’s too hard to calculate while you’re playing, and the main difficulty is simply staying in the game. You lose a move each time you find a sequence, and gain $\left\lfloor \sqrt{\text{level}} \right\rfloor$ moves each time you go up a level. That produces a good tension between finding sequences which score highly, and sequences which use a lot of tiles so your chance of getting the piece you need to go up a level, and get more moves, is increased.

Lots of people have complained that advancing can be completely out of your hands if the right number just doesn’t come up. That’s because the value of each new tile is picked uniformly at random from the set $\{1, \ldots, \text{level}\}$. When you get to a really high level, that means that getting the right number is really unlikely. This was deliberate, to make sure the game eventually ends, but maybe there’s another way of making the game hard that involves a bit more skill.

None of that stopped a couple of my PhD student friends at Newcastle University (and one energy trader), who abandoned their scholarship (and energy trading) to take the scoreboard to stratospheric heights:

So maybe the mechanism works as intended.

Now, this is a maths site, and so far I’ve only talked about numbers. Here are a few mathematical questions:

  1. Under what circumstances can you get a board with no arithmetic sequences in it? Note that constant sequences (e.g. $\{1,1,1,1,\ldots\}$) are allowed. What’s the lowest level this can happen on?
  2. Is it possible to make a single board that can be split up exactly one way into separate sequences so that every tile is used in a sequence?
  3. Using the strategy of always taking the longest sequence on the board, or one involving the current level number if it’s available, what’s the expectation of the highest level you reach?

If you’ll allow me to get above myself, question 1 comes perilously close to the kinds of questions answered by the Green-Tao theorem and van der Waerden’s theorem. Hopefully it’s already been answered somewhere. It’s easy to come up with sets that don’t contain any arithmetic progressions, but characterising all of them is more difficult.

Play the game: Sequences

If you like playing mathsy puzzle games, you might like my previous posts on games to entertain a commutative mathematician, and some more games to entertain a commutative mathematician.

2 Responses to “I’ve made my own numbers-in-a-grid game”

  1. Avatar Allen K.

    Level 38, first try. But I only scored 6,283,554, which seems pretty weird, comparing to the high scores you mention.
    As a game, I have the same problem with it I do with 2048 — individual games take forever!
    My strategy: once you have ~20 moves in the bank, go primarily for 3-term progressions. With <20 go for long progressions, ideally using up numbers you have repeats of. Of course the repeat thing becomes less relevant up around level 36.

    • Avatar Christian Perfect

      I’ve found the best strategy is to focus on getting to higher levels above all else, until around about level 36. From then, try to make as big a sequence as you can, with a difference of 3.


(will not be published)

$\LaTeX$: You can use LaTeX in your comments. e.g. $ e^{\pi i} $ for inline maths; \[ e^{\pi i} \] for display-mode (on its own line) maths.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>