Continuing from last week: more on my Target Tiling puzzle game (inspired by Tetris), including a novel extension to the Tetris row-clearing rule, a seemingly impossible challenge, and a very surprising solution!
Modifying the Row-Clearing Rule
Recall that in Tetris (which inspired my Target Tiling puzzle game), there is a row clear rule:
After each piece placement, any rows that are completely filled are eliminated, and the rows above move down to fill the vacant space.
When I had become rather expert at all the earlier variations (varying widths, piece types, piece sequences, and targets), I began thinking about new ways to challenge myself. I thought about the row clearing rule, and asked myself:
What if it wasn’t enough to fill a single row to get a clear? What if you had to fill 2 consecutive (adjacent) rows before they would clear? What if the threshold was 3 rows? or 4 rows? This seemed like an interesting challenge, and also related to the notion of Tiling (with pieces) which conventionally involves completely filling a given space with available pieces. So I implemented this variation of row-clearing in my simulator, generalizing the row-clear rule to an N-row-clear rule (where N could be 1, 2, 3, or 4):
When N (or more) consecutive rows are completely filled, they are cleared as with the original row-clear rule, with any higher rows moving down to fill the emptied space.
NOTE that when N=1, this rule is exactly the original Tetris rule for row clearing.
It turns out that the variants of row-clearing with N= 2, 3, and 4 are interesting and present some quite complex challenges. I started playing with N=2 (Double variant), and learned new patterns for solving the various width, piece, and target patterns. When I felt proficient with that, I advanced to N=3 (Triple), and finally N=4(Quadruple).
A Nearly Impossible Challenge
When I tried the N=4 (Quad) variant of Width=5 using T-pieces, I thought I may have reached the limit of solvability. I was stumped for quite a long time, and was close to giving up, declaring it “too hard, and maybe impossible”. Then, one day, I tried something desperate – a totally counter-intuitive Tetris piece placement, and low and behold, this enabled me (with long macro-sequences) to actually solve it!
Here is an example position illustrating what was stumping me for the longest while:
Everything I tried seemed to lead nowhere. I was about to give up, when I discovered this extremely counter-intuitive T-piece placement. This discovery led eventually to a solution to this and other Width=5 T-piece Quad puzzles!
This placement is counter-intuitive because it violates the natural Tetris heuristic:
Try not to create any covered holes!
This piece-placement violates that heuristic by creating 2 covered holes! On first examination, it looks like it fails to get closer to filling any rows. The surprise was that the top row is filled except for the hole in the 2nd position, and this top row can be eliminated (by first achieving symmetry and then wiping out everything above and including this row (without modifying anything in the pattern below).
It takes 9 moves to clear the top row, and another 13 to wipeout the rest, for a total solution in 23 moves (counting the “surprise” move). Here are some snapshots to illustrate this solution sequence:
Is this progress? Look what happens after just 4 additional moves:
The Top row (created by the “surprise move”) is now cleared. This is finally looking like progress!
An additional 4 moves lead to this position, just 1 move from a solved WipeOut:
Placing the last T-piece in the hole will clear the final 4 rows, leading to an WipeOut (empty board)!
This solution took a total of 23 piece placements starting from the original Stuck Position.
I was incredibly excited by this discovery. This “key (surprise) move” insight, and the patterns learned to clear from it, enabled me to solve the entire class of T-piece Width=5 Quad puzzle patterns. What I mean by solving the entire class is being able to solve (WipeOut) any initial pattern given enough clear board space to work with at the top of the board. I could also solve the related class of Target problems. What seemed impossible at first, was actually quite solvable, but required a very specific (surprising and non-intuitive) insight!
Next week: discussion of some more basic Target Tiling solving strategies (macro-patterns and symmetry)