Tag Archives: Permute

Permute: Move by Move

Some time ago I introduced you all to my game, Permute — an abstract strategy game inspired by the Rubik’s Cube.  Since then, the game was implemented on Christian Freeling’s MindSports — an essential site for any fan of the genre — and in Stephen Tavener’s wonderful Ai Ai software.  Hopefully some of you may have tried the game since then, and have discovered that the game has a unique feel in play and supports some unusual strategies and tactics.

Since developing the idea I’ve played a great deal of Permute, mostly against Ai Ai’s stiff opposition, but also some games against human opponents.   In this post I’ll walk you through a game I played against Simon R on MindSports, and explain some basic tactical and strategic considerations to keep in mind while playing Permute.  This sample game contains a few instructive moments that should be enlightening for any new player.

Here’s an animation of the full game, courtesy of Ai Ai:

permute12-game2-simonR-final

Full game — Simon was Orange, I was Yellow. Final score — Orange 16, Yellow 43.

The game is also viewable on MindSports, if you want to step through it move by move yourself.

Permute Move Notation

In order to record games of Permute and replicate them later, we need some form of notation to keep track of what moves have been played.  Ed van Zon of MindSports came up with a simple notation system that is very easy to learn:

Permute 12x12 -- notation sample-01

This small sample board illustrates how the notation works.  In this case, Yellow has made a move, rotating a 2×2 face clockwise.  We can translate this move into notation easily:

  1. We start by noting the direction of the twist, with a capital C for a clockwise twist, or A for anti-clockwise.
  2. Then we note the square on the board that is in the bottom-left corner of the 2×2 face we twisted, in this case d3 (indicated by the green square in the diagram).  So our move so far is Cd3
  3. Next we add in the square marking the top-right of the twisted face, in this case e4 (the red square in the diagram).  Our move is now Cd3e4
  4. Finally, we add a hyphen for readability, then add the square we chose to bandage, which is d4 in this case (the blue square in the diagram).  So our complete move can be written as Cd3e4-d4.

That’s it!  If we note down every move in this way, in proper sequence, we can easily reconstruct a game later for analysis.  In Ai Ai the notation works basically the same, except moves are written with the word Clockwise for clockwise twists and Widdershins for anti-clockwise twists.

Preliminaries

This post is very long, so I will not recap the rules here; if you are totally new to the game, please read my previous introductory post and follow-up about the Ai Ai implementation so that you can learn how the game plays, and get yourself set up to play it.

This particular game was played on a 12×12 board, which is the standard size available at MindSports.  A board that size contains 144 pieces, which seems like a large amount, but each move in Permute directly moves a set of four pieces and also locks down a portion of the board afterward, so games on 12×12 are surprisingly fast and brutal.  Typically a full game will last between 20-25 moves per player (note I’m counting a twist + bandage as a single ‘move’).

The board size has a strong impact on play in Permute, as it does in other territory games like Go.  Playing Permute on 12×12 is similar to playing Go on a 9×9 board — fighting starts immediately, and tactics are a major focus of the game.  Controlling the centre of the board early is very important, as this offers great opportunities both for expanding your own groups and blocking your opponent’s growth.

For a deeper, more strategic battle, I recommend playing on a 16×16 board.  At this size, games will last between 40-50 moves per player, about the same length as a typical game of Chess.  Opening play on this board size will tend to focus more around the corners and edges of the board, with the centre becoming more important once territories have been settled around the sides.  If you want the territorial aspect of the game to really dominate, then you can play on a 20×20 or even 24×24 board; on 24×24 a game will last about as long as a game of 19×19 Go (generally somewhat shorter).  Ai Ai supports Permute play on all these sizes.

The Ai Ai implementation also allows numerous variants of the game to be played.  The most notable of these is the option for a 1[1]2[2]* move protocol.  This means the first player on their first turn twists and bandages once, and from then on players alternate twisting two faces, then bandaging a stone of their colour in the second face they twisted.  I highly recommend trying this variant, which allows some very clever manoeuvring, and also lengthens the game on smaller boards.  For serious strategic play however I still advocate 16×16/20×20 single-twist rules as the best option; the two-twist variant makes useful tactics substantially harder to see, because two twists can cause so many changes to the board state in a single turn.

In any case, 12×12 with single twists is the ideal introduction to the game, and that will be our focus in this article.  In a future article, I will cover strategic tips and techniques for play on the larger boards, aimed at advanced players.

Permute 12×12 — Simon R vs Eric S

The opening begins!  Simon was playing Orange, meaning he gets to move first.  He strikes out for the centre immediately, which is a sensible play on the 12×12 board.  After just that single move, both of us now have two 3-groups each — each move in Permute substantially changes the local group composition, particularly in the early game, where few pieces have been bandaged.

I respond with an anti-clockwise twist at e4f5, aiming to contain any ideas of Orange extending to the western or southern edges.  In the process I connect my two 3-groups into a single 6-group.

Orange responds by growing their own 3-group by twisting f8g9.  Expansion is never a bad thing, but this move is a bit passive; the resulting group is still smaller than my largest, and this move does not really hamper my expansion.  In response, I twist h4i5, connecting two more pieces to the 6-group by rotating a piece into the connecting corner on h5.  From there, I can extend by adding to the piece attached to the north of h5 — I like to call these one-square extensions from bandaged friendly pieces anchors, as they are good bases for expansion — or I can connect two more pieces on the eastern edge of the group in two different ways, thanks to the 3-group covering i3-i4-j4.

Orange spots the threat of more pieces connecting to my group, so he instead connects his own pieces beneath and around my group by twisting h3i4.  This is a good move, in that it serves two purposes — it instantly gives him a nice-sized group, and it actively blocks my group from expanding to the south.  I was prepared for this, though, thanks to the anchor on h6, so I connect three more pieces with a twist at g7h8.  Note that my group is quite secure; each extension has bandaged pieces one space apart, which cannot be separated by any opposing twists.  When building your groups, one-space extensions are the safest way to connect new pieces.

We’re very early in the game, but the centre is already taking shape.  Here Orange decides to secure some more pieces for their southern group by twisting e3f4.  Again this move is a bit passive; Orange has the opportunity to sandwich my centre group between their upper and lower groups, and my hopes of extension rest on me being able to protect the corner of my group at e5, or the northern extension at g8-h8.  Better would have been Ae5d6-e5 — that would have severed my corner at e5, blocking expansion to the west, while further securing Orange’s biggest group.

Having been spared a squeeze on e5 from Orange, I twist c4d5 and bandage d5 to secure that vulnerable corner and gain space on the west side, with ambitions of connecting to the western edge and cutting off the bottom of the board, so that Orange cannot connect their upper and lower groups on that side.

Orange takes action to prevent my group heading west, but in actuality this move only delays me very briefly.  My group is also still expandable to the east and north, thanks to the anchors on h8 and i7.  This move does give Orange a large group in a commanding position over the southern reaches of the board, but at this stage of the game, exerting influence and securing areas for future growth is more important.  A nice move here would have been Cg8h9-h8, which would have blocked off any northern expansion for my group.

I respond by moving forward with my plan to connect to the western edge, which restricts Orange’s growth opportunities and gives me an anchor on b4.  At this point I also notice Orange’s vulnerable corner on i8, which is an important weakness now that Orange has invested several moves in growing this southern group.

We will take a close look at Orange’s next move, which is a crucial moment in the game.  Orange elected to twist i5j6, extending their group closer to the eastern edge while interfering with my group’s potential expansion on that side.  Unfortunately this move does not protect the vulnerable corner at i4, which gives me a huge attacking opportunity.

The middle diagram shows one potential alternative — securing the corner at i5 increases Orange’s hold on the bottom of the board, but it also further cramps their space for extension, confining their largest group mostly to the bottom.  A better alternative would have been the block at h8 I recommended previously — this move is still effective now, forcing a response from Yellow and adding some tactical complications.  However, at this point Ai Ai estimates Orange’s winning chances at just 36% even if they had chosen to block at h8.

Seeing that Orange has not protected the corner at i5, I launch my attack and twist out Orange’s piece on i5 (marked with an X in the diagram).  In one stroke this slices Orange’s largest group in half.  Bandaging at j5 ensures Orange cannot easily repair this damage, and claims further space toward the lower-right corner, making it very hard for Orange to even attempt to connect around this new blockage at i5.

At this point, Ai Ai estimates my winning chances at 88%.  Orange had invested a lot of moves in this group, and now the bottom portion has been entirely cut off from the section on the right, and is unlikely to form the basis of a winning group.  I have control over the centre and plenty of expansion options on the northern and eastern edges of my largest group.

Orange can see they are in trouble, so they respond with a twist at i8j9, in an attempt to constrict my expansion options to the north.  Orange now has to defend perfectly to have a hope of victory; when forced to play moves like this which do not extend one’s own groups, the opponent is often free to build up their advantage further.

This exchange gives us perhaps the most important message to take away from this game: protect your corners!  In Permute you will often need to bend your group around to connect pieces in various directions, and any corner piece in your group left unbandaged is a potential weakness.  One twist can potentially slice your group to ribbons and leave you struggling.

Now that Orange is on the defensive, I decide to aim for connection to the northern edge.  When ahead and in command of a large group, a useful strategic sub-goal is to try to split the board.  The group doing the splitting is then unassailable, assuming you have bandaged it well, and your opponent is heavily constricted in any attempts to connect large chunks of pieces.

Orange responds by constraining my group’s northern expansion, squeezing it from the west.  This does secure the northwestern section of the board for Orange, which could allow them to build a decent-sized group, and their current group stretching down to f6 is currently pretty secure.  However, this move still gives me the chance to connect to the north or east sides.  Ai Ai recommends moves that either disrupt the unbandaged, unsecured Yellow pieces at i6-i8, or blocking Yellow’s anchor at h10 and preventing the northern connection attempt.  In either case, though, Ai Ai pegs Orange’s winning chances now at only about 3.5%.

As it happens, I elected not to complete the northern connection, and instead disrupt Orange’s newest largest group.  My Yellow piece at f9 makes connection for Orange’s group quite awkward, so my hope is that further incursion into Orange’s northwestern territory will further decrease their chances to build a competitive group in that area.

Orange hits back by disrupting my 3-group around h11, ensuring that my bandaged piece at h9 remains isolated for the time being.  However, this leaves me with an opening to cut off three Orange pieces from potential connection via a later twist at f11g12.

At this point I can see that my central group is very strong, so I decide to continue my plan to disrupt Orange’s opportunities for expansion while securing my position.  By extending down from my anchor at b4, I further constrict Orange in the south, while adding a couple more pieces to my central group.

Orange elects to start enlarging their group in the northwest, establishing a bandaged piece at e7 that also prevents further extension of the Yellow group from e6.

I estimate at this stage that Orange’s northwestern group could not grow large enough to challenge my lead, but just in case I decide to extend my group and bandage at j8, in the process securing the vulnerable piece at i8.  Orange fights back by twisting my pieces at j9-j10 into the corner and firmly blocking them off from my group.  This also builds a nice group connecting through to the northwestern section, but those Orange pieces at f11-g11 remain vulnerable.

My first impulse here was to cut off Orange’s group on the top with Cf11g12-g12, but then I spot a move that looks bigger.  The clockwise twist at c2d3 grows my own largest group by three while simultaneously blocking out three Orange pieces permanently, which seems like a favourable exchange.

Orange responds sensibly, forgetting about the unfortunate southern group for now and further building on their central group.  Orange knows that at some point I will be forced to respond if I want to restrict Orange’s growth there.

Now that Orange’s southern group is well contained, I believe that their only chance to win is to connect their central and northern groups, then extend far down the eastern edge to pick up sufficient additional pieces.  I decide to try to connect to the east to completely cut off any ideas of expansion down that edge for Orange.

Orange sees an opportunity to place a secure bandaged corner at k7, extending their northern group a bit further.

Orange was able to extend that northern group a bit, but I could immediately follow up with Ck5l6-k6, completing my goal of connecting to the eastern edge.  Now Orange has no way to connect to the bottom groups, and the bottom groups themselves are cut off from each other thanks to the bandaged piece at j3.

Orange follows up with a prudent move, securing their vulnerable corner at i10 with a bandaged piece at j10.  Unfortunately, at this point the game is fully out of each; Ai Ai sees no future for Orange, giving them a winning percentage of a flat 0%.  There is no way for Orange to make a larger group at this stage.

My goal at this point is to firmly block off any remaining threats Orange has to increase their score substantially.  Having cut off the bottom with my last two moves, now I close the door along the top as well with Cf11g12-g11, splitting the top group and ensuring it cannot connect to Orange’s central group.

Orange has seen the writing on the wall by this time, but is valiantly fighting to the end.  He extends the southern group with two more pieces, and generates a possible threat of winding around the blockage at j3, though this would require several additional moves to achieve.

I can see that Orange may be hoping to connect around j3, so I close that door as well by placing another bandaged piece at k2.  Now there is no way through on the bottom.

Orange now pursues the last viable option for building a good-sized group, which is to extend their central group as much as possible.  I have almost no presence in the northwestern part of the board, so Orange has some chances to build up a score here potentially.

Finally I respond to the threats in the northwest, and place a bandaged piece at d11, which seems a suitably annoying placement.  The idea is to blockade the 4-group extending from f10 from the Orange pieces in the top-left corner, reducing Orange’s potential for growth.  Orange is still able to grow their central group by connecting two more pieces at b10, but those four pieces around f10 are now isolated.  At best Orange could attach the piece at d10, turning the 4-group into a 5-group, but there’s no way to connect those pieces to the larger group below.

Here I get greedy, and try to connect my central group across the 2nd row along the bottom.  The plan is to construct a pair of pieces that I can then bridge between the bandaged pieces at c2 and f2, but I actually made a mistake.  By choosing the twist at e2f3, I actually ensured that I would be unable to connect my newly-formed pair.

Orange makes precisely the right reply here, placing the Yellow pair where I want it, but unbandaged.  Now I have no chance to connect across the bottom, because in order to secure those pieces I would need to bandage one of them, which means a twist must be made.  But, given that the pair is already in the right position, any twist I make will only move them out of position!

This sort of problem comes up fairly often in Permute, and I was annoyed at myself for not seeing it.  When you have set up your pieces properly, you should have them placed so that they are ready to be twisted into place, but crucially, are not already in place and unbandaged.  That means you can make a move at that location, twist the pieces into place and secure a bandaged piece in the right spot.  If you try a setup for connecting a few pieces but misjudge your plan, as I did, then your pieces may be prematurely placed, and your opponent is then able to prevent your plan at any time by twisting your pieces out of position and locking them down with a bandage.

In truth, this move sequence was overly optimistic anyway; given the two-space gap between c2 and f2 and my lack of well-placed pieces nearby, the only way my attempt to connect would work is if my opponent chose to allow me to make that final twist of the free pair.  I had no way to force that connection in the first place, and Orange had no intention of allowing it, so effectively that was a wasted move.  In a tight endgame, throwing away a move like that could cost me the game!

I cannot secure the connected pair between c2 and f2, so instead I opt to insert another bandage at g2, trapping another Orange piece on the bottom edge at the same time.  Orange then extends that bottom edge group further, but this also connects my pieces to the bottom-right corner group.

I still cannot secure the extension in the south, so instead I opt to harass Orange’s central group some more by blocking two pieces in on the western edge.  This has no effect on the size of my Yellow group, so it is a safe move that still causes some trouble for my opponent.  Orange extends the bottom edge group once more, after which I lock out two more Orange pieces from their central group, and at this point Orange resigns.

If we remove the bandaged pieces we can get a clear picture of the final position:

Permute 12x12 -- move41 -- count-01

There we have it — a final score of Orange 16 to Yellow 43.  Had we played to the bitter end, my final score would have been significantly lower of course, as Orange could disrupt my connecting pair at d2-e2 at any time.  But even then the score would still be convincingly in Yellow’s favour.

Permutation Principles

As you can see, the 12×12 game is intense right from the start, and opening moves are very consequential.  AI testing shows though that between strong players, the outcome is usually decided about 60-70% through the game (during these tests I did not allow the AI to resign).  So, while the opening is very important, most games will be decided during the middlegame.  Our goal in the early stretches of a 12×12 game should be to come out of the opening with a stable central position, with some viable options for future extensions of our largest groups; during the middlegame we want to extend our groups effectively and safely, while denying opportunities for our opponent to attack our groups or build their own.

Of course, if we want to reach that point in our games, we need some guiding principles to help us along in our efforts to become stronger players.  Here I will outline some basic principles of Permute play that will help you play more effectively.

Make multipurpose moves

This general principle applies to many games, of course, but in Permute every move is inherently multifaceted and directly affects both players.  Every twist we make moves opposing pieces as well as ours, since faces consisting of only one colour cannot be twisted.  This means that every single move has the potential to grow or shrink our opponent’s groups as well as our own.

When I am choosing a move in Permute, I tend to evaluate it on a few dimensions to see how it measures up against other candidate moves, and I aim for the moves that can accomplish more than one of these general objectives at once:

  • How much does it add to my groups?  All else being equal, a move that grows my groups more is of course preferable to one that grows them less.
  • How much does it disrupt enemy groups?  If I have a choice of two moves, both of which grow my group by 3 pieces, but one shrinks an enemy group by two while the other doesn’t, then the first move is a better choice.
  • Does this move gain space?  Gaining useful space on the board and restricting the opponent’s growth options is really important, especially in the early game.  If a move grows my groups less than another move, but allows me to connect a group to an edge and block enemy expansion for the longer term, that move may well be the more sound strategic choice.
  • Does this move have follow-up options?  A useful beginner’s metric to judge this is whether a move leaves you anchors — single pieces extending from a bandaged piece that can serve as a launchpad for further expansion.  Again this is more of a strategic consideration; sometimes a move that adds fewer pieces can still be stronger, if it produces anchors that allow for a bigger extension later.  Anchors also create threats for your opponent, as they must keep an eye on those anchors and consider which may need to be blocked, which in turn may disrupt their own expansion plans.

Like any complex strategy game, all of these guidelines will have exceptions, and there are many other ways we might judge the effectiveness of a move as we get stronger.  However, I believe that keeping these principles in mind is very valuable as you are learning the game, because each of them focusses on the longer-term consequences of our moves.

In Permute we have to fight against the impulse to play reactively, and start twisting purely in response to local threats from your opponent; each move in Permute can be so destructive that we often will feel the need to react to every attack, leaving ourselves with no chances to attack in return or to build a coherent plan for expanding our groups.  If we instead train ourselves to evaluate each move in terms of its impact on both the groups local to that move and the wider strategic situation, by considering space gains and anchors, then we are more likely to choose moves that not only protect our groups in the short term but also create longer-term challenges for the opponent.

Protect Your Corners!

This is a straightforward tip, but definitely worth emphasising!  In this game we saw the consequences of leaving a vulnerable corner on your largest group — the opponent gets an opportunity to slice the group in two, and if the group is already contained and there is no alternate path to reconstruct the connection, then that one move is enough to ensure your group cannot be saved.  However, we may not want to develop a habit of taking time to protect every corner in every group; instead, we must judge when a group has enough prospects for future expansion that we need to secure its position.

Stronger players may experiment here and there with group sacrifices, where they lure the opponent to spend moves on disrupting a vulnerable corner when their actual growth ambitions lie elsewhere on the board.  However given the high price for getting this kind of sacrifice wrong, this is a tactic that should only be used very carefully!  Generally speaking, if you spot a weak corner in one of your important groups, you should act immediately to protect it.

Bandaging is just as important as twisting

Each move we make in Permute is, to some extent, irreversible.  In Chess, if we move a Knight to the wrong place, we can potentially reverse that move in the future to recover our position, but if we make a bad twist in Permute, the bandaging ensures that at least some of the damage is permanent.  Because of this, we need to be sure that when we bandage a piece as part of an effort to grow a group, we protect as many of our pieces as possible:

Permute 12x12 -- bandaging examples-01

Here we can see some basic examples of this principle.  In the leftmost diagram, Yellow has created a secure L-shaped group — the bandage on d4 protects the corner, and ensures the pieces on d2 and c4 are fully protected as well.  In the middle diagram, Yellow’s misplaced bandage on d5 has protected none of the pieces in the middle of this group!  On the right, this T-junction formation is also safe, giving Yellow three potential avenues of expansion with the bandages on b4, d3 and d5.  Our objective when setting up our groups should be to maximise our reach, while always being careful not to leave weak points that can be twisted out of position.  One-space extensions, T-junctions, and secure corners are important ingredients in any effort to build a large group.

Conversely, if we are attacking the opponent, we should place our bandages so as to create maximum disruption.  Let’s go back to that fateful 12th move in the game, where I was able to split Orange’s group via the vulnerable corner, and zoom in a bit:

Permute 12x12 -- attacking examples-01

On the left is the move I made.  When twisting at c2d3, I placed my bandage at d2, a diagonal step away from the diagonal corner I had just disrupted.  This ensures that not only is the vulnerable corner at c3 permanently cut, but also the Orange piece at d3 is blocked in, preventing Orange from twisting around the obstruction to continue building the group.  The Orange pair at c1-c2 is still twistable, but cannot get around the bandage at d2.

In the middle diagram, we see the position if I had bandaged at c3 instead — note that Orange now has two pairs at c1-c2 and d3-e3 that can potentially be brought to bear, expanding the group around my obstructing piece.  On the right we see a potential result of this mistake: Orange twists Ad2e3-d2, completely isolating my piece at c3 and building the group southwards with a secure connection.

The lesson here is to always observe the local patterns of bandaged pieces when attacking an enemy group, and think not just about the immediate damage you can do, but also whether you can potentially block off any more pieces by setting up your bandages differently.  Make sure your attack has as much lasting impact as possible, and then you can make advances elsewhere while your opponent scrambles to repair what damage they can!

Split the board when ahead

At several points in the game above, you saw me aim to split the board into sections by connecting my main group across the whole board.  When you have a decent-sized lead and the opportunity, connecting securely can be very beneficial; by cutting across the board, you prevent the opponent making board-spanning connections of their own, and restrict their options for catching up to your lead.

Let us go back to the game for a moment and look more closely at my middlegame connection to the eastern edge of the board:

On the left is the move I played in the game, which connected my largest group to the eastern edge.  Orange is now firmly cut off from connecting their upper group to the bottom half of the board, and their attempt to move south has been contained.

On the right, we see what could have happened if I had not attempted to reach the edge, but instead had played elsewhere (in this case, bolstering my group in the bottom-right with Ch2i3-h3).  Orange is then able to generate threats by connecting significantly more pieces down that right side.

In this particular position Orange cannot make massive gains this way; on the right we see that after a couple more moves, Yellow is able to contain the advance once again.  But Orange did manage to gain two more pieces even in this constrained position, and in a close game two pieces may make all the difference.

So, when the opportunity to cut off your opponent presents itself, taking advantage of that opportunity is often a good way to consolidate your advantage and deny your opponent chances to create more threats.

Twists are local, scores are global

Finally, an important reminder — Permute is a game full of complex tactics, but the ultimate goal of the game is inherently global in nature.  When fighting for your groups to stay live, never forget that all moves should be in service of the larger goal: building the biggest group of pieces on the board.  If you get deep into a tactical battle and realise you will not be able to make any more profitable exchanges, do not be afraid to abandon your group and seek a bigger move elsewhere!

Similarly, we can easily get tied down defending only our largest group, and forget that the group scores in Permute are cascading — this means that if the two players tie for the largest group, then we compare the second-largest, then the third-largest if those are tied, and so on.  So if a game is close, remember to nurture a secondary group in addition to your largest one.  Tight games between equally-skilled opponents will most certainly have games go to the second-largest group, and occasionally the third-largest (though this is rare).

Remember too that playing strategically and planning your group-building effectively will also help you tactically; the more secure your groups are, the better-placed you are to defend them, and the more you constrict your opponent’s growth options with well-planned extensions, the more vulnerable they are to attack.

Next moves

At this point, hopefully you have a clearer picture of how a game of Permute flows, and you have picked up some useful tools in your toolbox for your next twisty battle.  Permute feels quite odd at first if you are used to something like Go or Chess, given the fact that the board starts full and every move directly affects both players’ pieces.  But once we spend some time getting acquainted with the properties of the game, these unusual aspects will start to feel natural, and you can focus on increasing your playing strength.

From here, I recommend having a bunch of games on the 12×12 board, and focussing on developing plans for each of your groups as you play.  Always keep an eye on the score, and check that each move is advancing your own groups while hindering your opponent’s.  Once you become confident navigating the sharp openings of the 12×12 board, then you can try moving up to 16×16, where you have an even more dizzying array of opening options, and the game opens out to become even more strategically interesting.

I have a large backlog of posts to work on at the moment, but at some point down the line I will come back with some more Permute tips, shown off through a fully-analysed 16×16 game.  If any of you out there are interested in a game on the larger board, let me know in the comments; I am always happy to find new opponents!

Some of you may have noticed too that Ai Ai lets you play Permute with four colours, which makes the game feel even more like a twisty puzzle.  I am still in the process of getting acquainted with the nuances of the four-colour game — which works very well with the 1[1]2[2]* move protocol — but I will cover this at some point as well.

In the meantime, I hope you will give Permute a try — Permute is my game so I naturally will have some bias towards it, but at least I can say that after many, many games of Permute so far, I have yet to get bored with it.  I hope some of you out there will have as much fun with it as I have!

Until next time, here’s a little preview of what’s to come — a tense game of 16×16 Permute that came down to a single point:

permute16-5s-tight1

Tagged , ,

Permute Update: Now available in Ai Ai!

Since my first post on my game Permute, there’s been a very exciting development.  Thanks to the efforts of Stephen Tavener — thank you, Stephen! — Permute is now playable in his wonderful abstract-gaming mega-package Ai Ai!

Ai Ai is a fantastic, and free, collection of many dozens of excellent abstract games, all playable online or against various strong AI opponents.  I’ve talked about it in my Connection Games series a few times, but I can’t emphasise enough how essential it is if you have any interest in this category of games at all.  Ai Ai includes everything from classics like Go, Chess and Draughts, to modern legends like Amazons, Havannah, Symple, and Catchup.

Ai Ai is particularly great if you like to experiment with games.  The platform is incredibly robust, and with some simple modifications to the MGL files that define the parameters of each included game, you can try out ludicrous variants of your favourite games and Ai Ai takes it all in stride.  As you can see in my post on Symple, you can play games on ludicrously large boards if you like, or modify starting positions, and so on.

Even better, Ai Ai is festooned with super-interesting analysis functions that you can use to investigate all the included games.  You can generate opening books and endgame puzzles, produce detailed statistics on game complexity, create detailed reports on branching factors throughout a typical game, and much, much more.  I used Ai Ai to generate a full report on Permute, which Stephen has uploaded to the Ai Ai website here.

A big part of the reason I was so excited to have Permute in Ai Ai is because of these analysis functions.  While my initial testing of Permute showed that the game is fun and allows interesting strategies to develop, there were a couple of lingering questions:

  1. Draws are theoretically possible on the recommended even-length board sizes (12×12 and 16×16).  How likely are draws in typical play?  Is it possible that high-level Permute play could become infested with draws?
  2. Permute does not use a balancing protocol like the swap rule we use in many other games like Hex or Havannah.  Is the game balanced enough as-is, or does the first or second player have an advantage?  Should I add a balancing protocol?
  3. Is it possible that symmetric playing strategies might break the game?

The Ai Ai report helped alleviate my concerns on these three aspects.  While of course these results shouldn’t be taken as gospel, I’m comforted by the fact that in 88,891 games played by the AI, not a single one was drawn!  On top of that, the winning chances for each side across all those games was 49.99% for Orange and 50.01% for Yellow — nearly perfectly balanced.  Finally, Ai Ai attempted to win with various mirroring strategies, but lost every game in those instances.  Permute might still prove to have issues on these fronts when attacked with superhuman neural-net AI, or super-strong humans, but at least I can rest assured that the game doesn’t break too easily.

Playing Permute in Ai Ai

When you load up Ai Ai, you can find Permute in the ‘Combinatorial 2020’ category, which you can find in a folder if you go to the File menu and click ‘Choose Game…’.  Once it loads up you’ll be presented with a dialog box to choose a few options:

  • Resign when hopeless?  This means that the AI will determine when it has no chance to win, and will resign at that point rather than playing on.  This is a very convenient feature, though for new players it might be worth playing a few games without it on, so that you see games all the way through to the finish.
  • Alternate setup?  This allows you to choose the alternate starting position with a 2×1 chequerboard pattern rather than the standard chequerboard.
  • Board size:  Here you can choose the size of the board, ranging from 8×8 to 24×24.  The default is 12×12, which is a good size to start playing on.  When you want a deeper, longer game, I’d go for 16×16.

After choosing your options, you’ll see something like this:

permute-screenshot1

Here I’ve loaded up a 16×16 game with the standard chequerboard setup.  If this is your first time starting Ai Ai, you may find the default will be for you, the human player, to play as Orange and the AI to play as Yellow, but you can change this to Human vs Human or AI vs Human or AI vs AI using the AI menu.

Stephen has implemented a very handy system for making moves in Ai Ai that uses mouse-dragging to determine which direction your twists will go.  To make a clockwise twist, locate the 2×2 face you want to twist, and click and drag from the top-left of that face to the bottom-right; to make a counterclockwise twist, drag from the bottom-right to the top-left.  After that, just click on one of your just-twisted pieces to bandage it, and there you go — your first Permute move!  If at any time you need a reminder of how the moves work, just click the Rules tab on the right side of your Ai Ai window.

Once you get used to the input method you’ll find Ai Ai is an incredibly convenient and flexible way to play the game.  By changing the AI thinking time in the AI menu, you can tailor your opponent to your skill level.  Beware, Ai Ai can be very strong if you give it lots of time!  To give you an idea of what Ai Ai plays like on higher thinking times, here’s a sample AI vs AI game played with ten seconds of thinking time per move:

This game was quite a good one, a close back-and-forth battle.  As is typical from the AI, the game was fought initially in the corners, and once territories took shape there, both sides extended into the centre to battle for dominance there.  This seems a good way to open a game of Permute in general — territory is easier to secure along the corners and edges with fewer bandaged pieces required, and once some gains have been made in those areas the protected groups can be used as a base to stake a claim on the centre of the board.

Just for kicks, here’s another sample game played on a 24×24 board, this time with 5 seconds of thinking time per move:

As readers of this blog will know, I generally love playing abstract games on larger boards anyway, but I particularly love playing Permute on big boards.  There’s something extremely satisfying about seeing these huge chequerboard patterns gradually coalescing into interestingly-shaped blocks of colour.  On the larger boards there are tantalising hints of fascinating strategies lurking in the distance; as you’ll see in the game above, the AI battled itself across the whole board, and intriguing local battles eventually linked together into larger contests as the game evolved.  Playing on a physical board this size might be a bit challenging, not just in terms of space but also in terms of keeping track of group sizes, but since Ai Ai takes care of both those problems, I highly recommend trying some bigger boards when you have time!  In truth 16×16 will stay my recommendation for tournament play, but I can say for sure that 20×20 and 24×24 have real potential, and the resulting games still take less turns than a game of 19×19 Go to play out, given that each move affects a decent-sized chunk of the board.

What’s next?

I hope the info above might convince you to give Permute a try using Ai Ai.  This program is essential for any fan of strategic games regardless, and the implementation of Permute is just perfect.  The AI plays a tough game, and you can easily experiment with larger board sizes and the alternate start position.  As you can probably tell, I’m hugely excited to have Permute available on Ai Ai, and I’m enormously thankful to Stephen Tavener for taking the time to implement it!

Hopefully this won’t be the end of exciting news for Permute.  I’ve been speaking with some very talented designers about the game, and earlier today I received a beautiful concept for a purpose-built physical game set for Permute that just blew me away.  Abstract games are a bit of a risk for publishers compared to more accessible, flashier board games with fancy bits, but nonetheless I do intend to keep investigating if this game could be realisable physically.  In the worst-case scenario, perhaps we could offer 3D-printed game sets for fans to purchase, if publishers don’t want to take a chance on it.

In any case, I hope you’ll download Ai Ai and give Permute a shot!  Let me know how you get on with it.  Keep an eye on these pages for more updates on the game, and hopefully some strategic tips and tricks as I gradually become less awful at it 🙂

Tagged , , , , ,

Permute: A Game About Twisting Things

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: 

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:

Pentago Game from Mindtwister USA, Black-Natural/Solid Birch: Amazon.co.uk:  Toys & Games

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:

Permute-twist-demo

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:

Permute-twist-demo response-01

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?

Bandaging

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:

slyde16-10s-1

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.

Playtesting

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:

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.

The Rules

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.

Definitions:

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:

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:

F2L-13x13 -- NEW start position --Orange-Yellow-01

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:

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 🙂

Where next?

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!

Twisty experiment -- game 1-01

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.  

Tagged , , , , , ,