As some of you are aware, one of my hobbies besides games is solving twisty puzzles, also known as 3D rotational puzzles. The most famous example is the legendary 3x3x3 Rubik’s Cube, but since that set the world alight some decades ago a fascinating community of twisty-puzzle designers has emerged, producing some truly outrageous puzzles. Here’s a few examples from my collection:
The RT V1.0 F1
Truncated Icosidodecahedron with 62 faces (!)
The Tuttminx, 32 faces of two types (pentagonal and hexagonal)
So, as challenging as the Rubik’s Cube is, these days you can get puzzles that quite simply put it to shame. I love the challenges presented by these amazing puzzles, and in recent months I’ve been trying to develop a way to bring the joy of twisty-puzzling into the world of abstract strategy gaming.
A new core behaviour: the twist
The key properties of twisty puzzles that makes them so challenging is the way in which the twistable faces of the puzzle interact with one another. Any time you twist a face on the Rubik’s Cube, or any of the monstrosities above, you are forced to disrupt some of the work you’ve already done. This creates a feeling of tension and danger when you’re first learning to solve a new puzzle; you’re acutely aware that at any moment, a wrong move or two could re-scramble the puzzle and essentially send you back to the beginning of the solve.
I wanted to capture this feel in the form of a two-player abstract game, so I began to cast about for examples of games that used twisting mechanics to shuffle pieces around. Probably the most famous example in abstract games is Pentago:
In Pentago, players place marbles on the board and rotate the clever 3×3 sub-boards in an attempt to build a line of five of their pieces before the opponent. The board rotation does create an enjoyable feeling of chaos in the game, but I had to immediately dismiss this idea for my game. In a Pentago-type game with rotatable sub-boards, the sub-boards don’t actually disrupt one another; the relationships between stones can shift as they rotate around, but the sub-boards can’t actually scramble each other, as the faces do on a Rubik’s Cube.
I soon realised that the best way to replicate the behaviour I wanted would be to allow the players themselves to define the axes of rotation. This wouldn’t really be possible with a physical board, though — how could you build a board where any sub-board of a certain size on it could twist?
Instead, players would select an area on the board — a 2×2 or 3×3 subsection — and rotate the pieces within it, as if the board section below them had rotated like the face of a Rubik’s Cube. This would capture exactly what I wanted: rotations could overlap with one another, allowing pieces to get twisted around and then re-twisted and scrambled up in other newly-created ‘faces’!
Then I embarked on a series of experiments to work out how best to implement these face-twists. My first impulse was to allow players to rotate 3×3 sections of pieces, since the 3×3 Rubik’s Cube is so iconic. However, I soon found that, while it was definitely fun, for a serious game 3×3 twists were simply too confusing. The board state changed so much on each turn that trying to build strategic plans felt a bit fruitless.
I finally decided on 2×2 faces as the sweet spot — four pieces were still moving every turn, creating interesting situations on the board, but there wasn’t so much disruption that calculating future moves became impossible. The core twisting behaviour of Permute was born:
Here Yellow selects a 2×2 ‘face’ of pieces and twists them 90 degrees clockwise. At the start of the move, neither player had orthogonally-connected groups on the board; at the end of the twist, both players have two groups of three.
This behaviour would allow for the possibility of disrupting groups with further twists, which was another key concept of the game for me:
After the move above, Orange strikes back by twisting a face just to the south of Yellow’s last move. By twisting that face clockwise, Orange wrecks Yellow’s bottom-right group and boosts his own upper-right group from three connected pieces to six!
From here the overall shape of the game fell into place in my head almost automatically:
- I wanted the players to focus on permuting pieces around the board, without additives like placing additional pieces or removing them through capture. That meant the board should start already full of pieces.
- The most interesting task to do with 2×2 twists would be to connect groups, and this would also mirror the act of ‘solving’ coloured pieces on a Rubik’s Cube. I could keep the game tactically spicy by restricting connectivity to only horizontal or vertical; this would ensure that players could slice groups in two with twists that changed connectivity to diagonal only.
- If the goal of the game is to build the largest orthogonally-connected group of pieces, then the fairest start position would be one where not a single piece of either side is connected orthogonally — a chequerboard pattern.
- To ensure that players had to keep the whole board in mind and not just fight over the biggest chunk of pieces, the Catchup scoring mechanism — where if the largest groups are tied, then the player with the biggest second-largest group would win; and if those are tied, then check the third-largest, etc. — would be perfect. That would ensure players would also need to build and preserve secondary groups, in case scoring went to the wire, and would prevent the game descending into a non-stop back-and-forth slap-fight over the largest group without opportunities to play distant strategic moves.
The game already felt nearly done! I tested out the chequerboard starting position and twisting mechanics on my Go board with some colourful plastic pieces, and I found it was easy enough to play even with physical components. Everything felt right so far, but I still had a problem: how to get players to stop twisting?
A clear issue with the game at this point was a lack of termination. Players could endlessly twist pieces back out of position, preventing their opponents from making any serious headway. I needed a way for moves to have some finality, and create permanent changes in board state. That’s when I decided to take a break and play some Slyde:
In Slyde, players take it in turns to swap one of their pieces with a horizontally or vertically adjacent neighbour of their opponent’s colour. After the swap, the active player’s piece becomes pinned in place and can’t move for the rest of the game (and the opponent can’t swap with it).
This was exactly the kind of thing I need for Permute! Since a twist moves four pieces, and up to three of them could be of the active player’s colour (twisting four would be meaningless so I excluded that as a possibility), then a player’s move could consist of two parts: a twist in either direction, followed by fixing one of their pieces in place permanently.
That would accomplish what I needed — each move would have some finality, but since only one piece would be fixed in place, groups would still be in constant danger of disruption without further moves to shore them up. Giving players a choice of which pieces to fix in place added an additional strategic element to the game, enabling players to try to optimise their twist/fix combo to achieve the best result in terms of securing territory and/or denying territory to their opponent.
With this final element now in place, I had a complete game — the initial position, goal, end condition and moves were all set. I decided to call the piece-fixing ‘bandaging’, a term derived from twisty puzzles. Bandaged puzzles have certain pieces glued together so that in some positions certain moves would be blocked; the term also refers to states in some puzzles where twists in certain directions are blocked. The term comes from the fact that bandaged puzzles were made in the early days by using Band-Aids to stick pieces together on the Rubik’s Cube.
Now that the rules were set, I started playtesting the game, first with trial matches against myself. The game seemed roughly balanced in my tests on 9×9, 10×10 and 12×12 board setups. The core twist/bandage dynamic was enjoyable and gave each player’s turn a couple of interesting decisions to make, and each move felt like a tradeoff between securing territory and sacrificing future mobility, which was just the kind of feel I wanted.
The final test was a playtest match against Phil, which we did via a convoluted setup involving sharing my Adobe Illustrator screen over Google Meets. Phil is quite good at most games he tries, so I felt confident he’d be able to tell if the game was obviously broken pretty quickly. We had an enjoyable match, and true to form, Phil took a convincing win:
The final position (after 40 moves)
Taking away the bandaged pieces, we can see the final group score… ouch!
Phil told me that while it took a bit to get used to the twisting aspect, he could see that there was room for interesting strategies to develop, and he felt engaged by the action throughout the game. At that point I felt it was an appropriate time to share the game with the wider world and get some more feedback, so I typed up the final rules and put together a thread on the BoardGameGeek Abstract Strategy forum.
Here are the final rules, as presented on BoardGameGeek (well, tided up a bit):
The basics: Permute is a game about twisting things, inspired by twisty puzzles like the Rubik’s Cube. The name comes from one of the two main things we can do with pieces in a twisty puzzle: permute them (shuffle their positions); or orient them (change their facing). In this game players take it in turns to rotate 2×2 sets of pieces (‘faces’) on the board, in an attempt to bring pieces of their colour together in larger groups. Once a face has been twisted, part of it is locked in place (‘bandaged’) and can’t be twisted again. When no more twists are possible, the game is over and the players’ largest groups of pieces are scored. To win the game, you must permute your pieces so that they form the largest connected group, and deny your opponent the chance to do the same!
The rules: Play proceeds on a square board with a 9×9 grid (or larger). At the start of the game, all squares are filled with alternating Yellow and Orange stones in a chequerboard pattern.
Face: a 2×2 subset of the board surface. A face may not extend off the board.
Bandaged Stone: a stone with a token, sticker, or other marker on it that indicates it may not be twisted again.
Bandaged Face: a face containing one or more bandaged stones. A bandaged face cannot be twisted.
Twist: a move in which all the pieces in a face are translated around that face simultaneously 90 degrees in either a clockwise or counterclockwise direction, as if rotating the face of a 2×2 Rubik’s Cube.
Group: a group is a set of same-coloured stones connected orthogonally. The value of a group is the number of same-coloured stones it contains.
Orange plays first. The swap rule can be used – after Orange’s first move, Yellow may choose either to play their first move or change their colour to Orange.
Players then take it in turns to twist one non-bandaged 2×2 face containing at least one of their colour stones 90 degrees clockwise or anticlockwise. Once a face has been twisted, the player who twisted it must select one of their stones in that face and place a token on it, thereby bandaging it. Faces containing a bandaged stone cannot be twisted. Faces consisting entirely of one colour cannot be twisted either, so this is not a way to pass a turn (but mono-colour faces can be disrupted by twists of neighbouring faces, of course).
The game ends when no more twists can be made. At this point scores are compared. The player with the highest-valued group wins; if both players’ largest groups are equal in size, then compare the second-largest, then the third-largest, and so on until a winner is determined. If the board is even-sided and the scores are somehow equal all the way down, then the game is a draw, but this should be very unlikely (and outright impossible on odd-length boards).
Translation for non-gamers
That looks like a lot of rules, but really it’s a pretty simple game! There are two players, Orange and Yellow; Orange plays first. Each turn, the active player must select a 2×2 sub-section of the board (a ‘face’) and rotate the pieces in it 90 degrees clockwise or counterclockwise, just as if they were rotating the face of a 2×2 Rubik’s Cube. Once the twist is done, they must choose one piece of their colour in that face and bandage it; once a piece is bandaged, it can’t ever be twisted again.
As the players make more and more twists and bandaging moves, gradually the board will get more and more constricted. Since faces with bandaged pieces in them can’t be twisted, moves will be blocked and players will start to have secure territories built up. Once no more moves are possible at all, players count up their largest groups of pieces of their colour; a group is a set of pieces that are connected horizontally or vertically, diagonal connections don’t count! See the pictures from the game between Phil and myself for a scoring example.
The player who built up the largest group of their colour wins the game. If both players’ largest groups are the same size, then compare the second-largest groups of each player, and the largest of those two groups wins. If those are still tied, then check the third-largest, and so on.
So, winning a game of Permute means you have to bring your pieces together into connected groups, but because twists can disrupt so much of the board, you have to work hard to protect them! That means bandaging pieces strategically, to hopefully prevent your opponent from tearing apart everything you’ve worked so hard to build. Once you play for a bit, you’ll start to see ways to build your groups while simultaneously blocking or disrupting your opponent, and that’s when you’ll start to really enjoy what Permute has to offer.
Alternate starting positions
The default chequerboard starting position works well, which is why I chose that as the ‘official’ starting position in the rules. However, during testing, Phil had suggested the possibility of an alternate starting position that might be easier on the eyes. We worked out that a chequerboard pattern of 2×1 blocks could work well, and had another advantage in that early-game twists would immediately create some bigger connections, which could be helpful for new players who may have more trouble seeing groups right away:
The alternative start position
After one twist, Yellow already has a new group of six!
In the discussion on BGG, Steven Metzger pointed out that playing on a 13×13 board would forbid the possibility of draws, and would also mitigate a possible first-mover advantage by giving the second player a stone advantage:
Ultimately I’m not sure that draws will be much of a problem anyway, as maintaining precise parity across every group down the size order would be pretty unlikely, but it’s good to have the option. Plus in a matchup between two players of uneven strength, giving the weaker player the side with extra stones on the board in this setup could help them be competitive.
However, it’s not immediately clear how to replicate the alternative 2×1-chequered start position on an odd-length board; Phil had some ideas about this which could work, but the setup would be more awkward on a physical board. We’ll keep trying though, eventually we’ll find a good alternative.
Permute on MindSports
I was generally pleased by the reaction on the BGG forums; most posters seem interested in the game, and had some good suggestions about the visuals.
Most exciting for me was that Christian Freeling, a designer I’ve spoken about quite a bit in these pages, was immediately positive about the game. This meant a lot to me, not just because I’m a fan of several of his games, but also because he’s got a very strong intuitive sense about whether a game will work or not; for him to say that he felt “it is immediately obvious that it works (without endless modifications)” gave me a big boost in confidence.
Christian is also the proprietor of MindSports, a website that hosts all of his games for online and AI play, as well as some games from outside contributors. Lucky for me, Christian and Ed van Zon decided to implement Permute on MindSports, so now anyone can play Permute against the AI or against other people (via the MindSports Players Section)!
This was tremendously exciting for me — not only is Permute now playable easily in a digital format, but it’s sat in the MindSports website right below Catchup and Slyde! As I described above, these two games gave me inspiration I needed to get Permute to its final form, and both are really excellent games, so I feel privileged to be sharing a page with them.
I’ve spent the weekend making some YouTube videos about Permute and writing this post, so I haven’t yet dived into online play, but I did have a couple of matches against the AI. The AI isn’t super strong but it’s still a fun time and a great way to learn the game:
My first game — I was so excited and unfocussed I almost lost! Scoring went down to second-largest groups.
My third game — the AI made a big mistake in the upper right and let me connect two big groups!
Now that my first promotional push for the game is completed, I’m happy to accept challenges for games on MindSports, so please let me know if you fancy a game 🙂
I’m really happy with how Permute turned out, and as people are playing it here and there I’ve had some great feedback on it. That being the case I’m not planning to make any further changes to it, beyond perhaps adjusting the starting position if computer analysis finds a strong advantage for either player or something.
However, the core twisting mechanism does have lots of potential for future development. I have two new twisty experiments I’m working on right now: a four-colour twisty game on a hexagonal grid; and a square-grid game where players only twist, and no bandaging happens. The latter is a difficult design challenge, so if you have thoughts about it feel free to air them in the BGG discussion thread on the topic!
The initial test of the idea in that thread (shown above) has some potential, but definitely needs some work. In this game, players only twist 2×2 faces, and pieces become fixed in place (‘solved’) when they join a group of pieces connected to three or more neutral edge pieces. There are some other ideas in the thread that I think are worth investigating too, and ultimately I think some synthesis of these concepts will produce a good game. However I’m going to let all this simmer in the back of my head for awhile, and keep most of my attention on enjoying Permute for now.
In the meantime, I hope some of you out there will give Permute a try! Go check out MindSports, have some games against the AI, and get in touch if you want to have a game with me. I hope that some more strong players will have a go at the game, and that soon we may see some interesting tactical and strategic concepts develop.
I’ll do some follow-up posts on Permute in the future and show off some sample games with interesting play, so please look forward to that. At some point too I’ll reveal Permute’s other twisty siblings once they’re in good shape 🙂
If you’re dying for more Permute content, please do check out my YouTube videos: I have a short intro to Permute with some sample moves; a longer intro with a full sample game against the AI; and finally a video introducing Catchup and Slyde alongside the wonderful Ai Ai game-playing platform.
So, give the game a shot and let me know what you think! Perhaps I’ll see you on MindSports. Before I go, I wanted to say another heartfelt thanks to Christian and Ed for putting Permute up on MindSports, and to Nick Bentley and Mike Zapawa for creating Catchup and Slyde respectively, without which Permute might have just stayed as a weird twisty concept in my head and never become a playable game.