Friday, March 25, 2016

Mathematics of Ringiana and Ringsanity I: Moves of self-similarity

My background is in math, and I do research in pure mathematics at Columbia University. Recently, as a side gig, I and a couple of friends (Nikolay Gromov and Sergey Nemirovsky) developed two mobile games, Ringiana and Ringsanity. Ringiana is available for both iPhone and android, while Ringsanity you can get for iPhone, with  android version in the works. 



These are puzzle-like games, with easy to describe moves but unusual building blocks. Actually, there are no minimal building blocks in these games. Any object can be split into two objects and any two consecutive objects can be merged into a single one. We chose to keep the number of objects constant and equal to four, to match the number of colors in the Ringiana game. To keep the number of objects the same, every time you split an object, two other objects merge, and every time you merge two objects, one of the remaining objects breaks into two, with the total of four objects at any moment. 

Here's the Youtube tutorial for Ringiana, to show you what these convoluted operations are: 
Secretly, we're hoping you are ready to try the real thing and download the game. And, after managing to invent two nouns to name the games, we are still at a loss for a new verb to describe these simultaneous merge-split moves - suggestions are very welcome! 

The unusual feature of our modest contributions to the overcrowded game sections of mobile app stores is this absence of elementary blocks. Think of the games you've played - they all have characters or elementary objects in the background, like atoms, that cannot be decomposed any further. In Tetris, these are the four-square blocks that drop down and the little squares of the grid, in Pac-Man it's the main character, its chasers or groupies, the background grid pieces, and the food the character consumes. These objects may vanish, may reappear, may perhaps merge in pairs into a different basic object (think 2048 or Triple Town), but they don't have any infinite hierarchical or self-similar structure that we've created for the basic objects of our puzzles. 

Once you learn the moves, the games are easy to play. In Ringiana, you'll quickly see that a target configuration (making each piece monochromatic) can be eventually reached no matter what the starting position is, and the challenge becomes finding a short solution. Well, more carefully speaking, the really hard problem is finding a solution with the minimal number of steps. This problem is a great topic for another blog post, and some day we'll come back to it. Ringiana is not only about math research, of course, and we are also hoping that people can simply enjoy playing it and solving the puzzles without exerting themselves to find the shortest way.

With Ringsanity we've decided to be meaner. There are fewer moves available compared to Ringiana (the really interesting ones stayed, of course), and the target configurations are more varied. Ringsanity is a tougher game than Ringiana, unless you're on a hunt for the shortest solutions, in which case both games should prove hard. 

Friends we've shown the game to often take their time to get used to the merge-split moves, but all eventually master them. The same moves are behind some pretty fundamental yet mostly mysterious and poorly understood mathematical structures that go under the name Thompson groups. Some researchers have apparently been so frustrated by the difficulties these groups represent even to the best and brightest of us that they've taken to calling them vagabond groups and chameleon groups. 


The creators of Ringiana and Ringsanity did not fare any better than those researchers and have not proved any magic theorems uncovering the deep structure of Thompson groups. But we did make the games. We hope that releasing Ringiana and Ringsanity will attract more attention to the math behind Thompson groups and speed up progress in unvagabonding them.

Starting in part II, we delve into Ringianity math.


3 comments:

  1. I really like the idea, but I can't play Ringiana because my colourblind eyes can't tell the difference between the two colours that aren't red or blue (yellow and green?). Would it be possible to add some different textures, like stripes and spots, to help differentiate the colours?

    ReplyDelete
  2. Christian,

    Do you use android or iPhone? In future releases we plan to add color choices option, say 12 or so colors to choose from. What colors in addition to RGBY would be good for colorblind players? It's more subtle with textures, since the stretching and shrinking transforms might be tricky to implement in the presence of textures, but hopefully we'll get to that too.

    Mikhail.

    ReplyDelete