Wednesday, 28 February 2018

Formulaic Midgames: Repeated T-spins

    

Why?

Obviously, I favor a dynamic, improvisational midgame, adapting to one's opponent and the randomness of the garbage we're given. But, speed is the name of the game, and our dynamic improvisation can have building blocks in it we've practiced to be played fast, fast, fast. By knowing formulaic patterns we can use, we can plug them in and run with them when the situation is right.

Additionally, we should note that the attrition-based gameplay we often get into in late midgame is more characteristic of Tetris vs Tetris than Tetris vs Puyo. In Tetris versus Puyo, Tetris is often a player of rapid repeated attacks, while Puyo is a player of large bops. When we're not doing a massive garbage clear as Tetris, it behooves us to be able to continue our attack repeatedly--and a formula may help us do this.

Why not?

In long term attrition, we often don't have the space to play formulaically. Formulae must stand aside for on-the-fly solutions for our board and garbage, lest we die. So, as with many techniques, these have a time and a season.

How?

1. The Repeat Seat

Suppose our board looks like this, and also suppose our decks were just S, T, and the occasional I:



We could then just use S and T over and over like so:

    

Every time we do the pattern, we clear 2 lines for 2*10 = 20 squares. We leave a row behind with 8 squares of material, for 28 squares total. We know a deck is 7 pieces, meaning 7*4 = 28 squares of material. So, this pattern matches up exactly with one clear per deck in real Tetris; we could theoretically keep it going forever.

Once we've built up too big a hole in column 5, we can just use our Is and add on the occasional Tetris:

    

Of course, this loses us two tetrominos / 8 squares from our repeated pattern, but if we have a lot of spare material, or just want to kill our opponent, that's just fine. We could've also played a J at an opportune time to fill up column 5, and gotten back into the repeated ST using an L:

      

Cool, we have a formula that gets us T-spins over and over and mixes in Tetrises. That sounds pretty darn good. But, how would our board end up looking like that? Well, if you've read the previous posts, you might've come across this 3x3 square with a notch lopped off all over the place, in openings, all clears, combos, and the like. Because it fills 8 out of 9 squares of a 3x3, I call it an 8/9:

Top Corner:
      

Bottom Corner:
      

We can create 8/9s, 3x3s with any corner lopped off we want, though in the setup above, it'll either be repeatedly the top-left or the bottom-left. The available piece combinations for your basic top-left are: JO, OL, JZ, and LS. Though, if we're repeating the pattern already, we'll likely not use LS and save our S for the ST part.

We then just have to fill up columns 1-4, and perhaps the occasional column 5 if we want to Tetris. Let's start at the end of a strong opening we know: the Izzy-dubdub after a couple T-spins:

  

We know we have a full deck to work with other than the T. Let's try to transition into a Repeat Seat and get it going. First, we take our T-spin. We can set up the next block in our right-hand tree while we do it:

  

Our first notch is only one off the ground, so we can't take it with an S. Let's use the L instead:



Now, with each deck, we add another block to our tree, with JO, OL, or JZ, take a T-spin with ST, and build up our left-side 4-wide block with the remaining three pieces:

      

In the above example, I found it the Z piece most convenient for my left-side build, so I ended up taking either JO or OL on the right. We adapt our tree-build block based upon whatever pieces are most convenient for the left-side, allowing us to improvise to the situation. And if we have an I we don't know what to do with, we just drop it in column 5 or 7 to set up and take Tetrises.

Awesome. With a bit of improvisation, we can probably just keep doing that in Marathon. In a real match, of course, we'd eventually be called to do garbage clear combos lest we be attrited to death.

Now, you might say, all this improvisation is hard! Can you give me an even more boring formula to do my 4xN column? Well, you are in luck!

Suppose we always use ST for the middle. We'll always use JZ or OL on the right for an 8/9, and always use I + the remaining JZ or OL on the left for another 8/9. If we start in a position where this works, can we just keep it going forever? Let's try. Here, I'm using grey blocks for my 8/9s and alternating their highlights.

    

    

        

    

We'll always have either 4*n, 4*n+1, 4*n+2, or 4*n+3 squares of material, and we have a repeated pattern for each, though 4*n+2 requires breaking down the OL specifically. So all we need to do is improvise until we have a board flat enough for one of the above patterns to apply at deck start, then just repeat it over. And over. And over. Here's an example transition, using bottom-corner 8/9s:

    
    

We see in the sample we have a measure of flexibility--we can use a deck to mostly tree-build, or mostly column-build, if either one is more convenient to our deck ordering and board. And we nevertheless are able to keep to the repeated pattern on both sides.

It's the Repeat Seat because we get our T-spins with the repeated S, T. On the right, we have a tree-shape--we'll call it the three-wide tree. But what about a narrower tree?


2. The two-wide tree

Let's say we start here. You may recognize this as the beginning of the third deck of the WumbOJ: after we play our L and T for a third T-spin on piece 16:

  

We can set up the first couple T-spins of a Repeat-Seat pretty easily with the J and Z:

    

If we wanted to keep the exact same pattern going forever, we could add an O, S, and L. Incidentally, this theoretically could be used to do four back-to-back T-spin triples--fun to do in Marathon or Free Play, though it's unlikely anyone would try this in a real game:

    


But adding an S is lame, since we prefer to use it for the repeated S,T combo. We could just use Z,T in place of S,T. This gives us a T-spin single and leaves two lines on the screen, giving us a Tetris every 2 T-spins instead of every 4. And hey, against Puyo, 4 singles and 2 tetrises theoretically does slightly more damage than 4 doubles and 1 Tetris:

        

If our 5xN isn't fully built, we can substitute for the S with an O plus a piece straddled across the 5xN and S columns:

  

We could, of course, use JL instead of an S for a cycle:

    

As long as we're willing to use J and L here, though, why not use them slightly differently? We can just use S,L on the left, and J,Z again after J,Z on the right, and we set up a 2 T-spin combo. Heck, add a Tetris on this, and we can do a quick 15 damage bop:

        

Excellent. We have the theory of the right side of the screen. Now let's try to fill in the left and right at the same time with actual decks:

      
      

Looks like we can keep this one going too, though it's hard to give a truly boring repeated pattern since we must use different pieces to build the right. Given an already-built tree, there is a repeated pattern for the 5xN with the 5 pieces other than ST. This works for all five of the 5*n + k cases by adjusting the I-column, but is less useful in practice than the repeated 4xN which allows building the tree at the same time:

  

We see in the two-wide tree we get a moment of choice after playing the Z on our tree: we can continue the pattern of a notch every 3 rows with an O, or get a notch 2 rows up with a J, and allow a 2 T-spin combo. But there's another possibility here: what if we instead form the notch on the left, either with the Z or the J on the right?



If we just keep doing that, and keep T-spinning on the right with a Z and a T, we switch into:


3. The Central Tree

      
      

Above is an example of the Central Tree build coming out of the same situation we used for our two-wide tree: a T-spin double on the third deck of the WumbOJ followed by T-spinning one away from the edge. In general, when we do a T-spin one away from the edge, whether on the J or Z on the right or the L or S on the left, we can start this pattern.

I've intentionally used a wide variety of ways of building the tree in the example. If you look at the size of the tree, it's 7-wide. We could divide this into a 5xN plus a 2-wide tree, or a 4xN plus a 3-wide tree, or be more fanciful. Now is a good time to go through more fancy arrangements that be used to build the tree beyond the 2-wide's JZOSL and the 3-wide's repeated 8/9s. Some of these are also applicable to the 3-wide tree, however, and can substitute for two 8/9s:

                  

Of course, once we get going, we likely just want to treat the Central Tree as a 4xN plus a 3-wide tree as we have fast, braindead patterns for repeating this over and over. But all the different possible shapes can help one transition in.


4. Theory of Getting Started

Notice that in all these setups, I branched off an existing opening after a number of T-spins. We don't just open with these formulae, because they require material on the board. Ideally, we should have from one to three notches in our tree ready at any given time, and our 4/5 wide section built up to the proper height by the time we get to the S/T in a given deck, which might be at the beginning. Thinking about that, for our first ST in the three-wide tree, we'd need 4*3 squares for our column and 8*2 squares for our tree (given two layers), making for 28 squares or 7 tetrominos worth of material. Every deck we do a T-spin double with, we play 28 squares of material and spend 20, so we expect to be able to do thee three-wide tree once we've done four T-spins. And indeed, in the the first above transition example, our first ST is after 4 initial T-spins. In the second example we do T-spin single instead of double for our third T-spin, getting us 10 extra squares of material, and start after the third T-spin.

In the two-wide tree example, we got started after only 3 initial T-spins, giving us 24 squares or 6 tetrominos worth of material to work with. This was a little dicey, but we made it work. Once you take a few Tetrises, though, your material is reduced even further. You may need to transition out, or skip an ST cycle to get more material. Theoretically, we need two pieces in our tree to get our notch, for 8 squares, and 5*3=15 squares for our 5x3 initial column. So, 23 squares! We can transition in after our first three T-spins, but should be ready to transition out if we run into issues. How can we transition out?


5. Transitioning out: clearing, comboing, and bopping

We'll likely reach a point where we want to stop doing our repeated T-spin and start clearing our board: perhaps because we're having trouble maintaining the pattern, perhaps to clear garbage underneath, perhaps to send our opponent big, potentially lethal damage, perhaps to defend ourselves, and maybe all of the above. How shall we go about it? The most obvious way, given built up sides, is to haphazardly shove pieces into the hole with reckless abandon and hope for a big combo:

        Sequence: TJILLIJ for 6-combo.

        Sequence: TILSZJTSOLJ for 10-combo.

This works best if you've already put an I into one of your empty columns. But with shorter combos, the damage can be lackluster, especially against Puyo with its lesser combo count bonus. We could just take a T-spin plus Tetris for a high damage short combo:

    

Of course, we've seen above that we can build a double-double on top of our column. This works well in both the central tree and the two-wide tree. It's not as good in the three-wide tree since it requires using either two Ls (for top-corner only), two Zs or Ss (for bottom-corner only), or an extra I, which is already in short supply:

2-wide tree:   

Central tree:    

3-wide tree:     

Bottom-left:        

Against Puyo, we might want to get both our T-spins and the Tetris in a together in a combo due to the way damage scaling works. If we do this, we get at least 14 notches on our green bar for 8+ lines of garbage. We can generally do this by holding the T and getting a deck with T and I next to each other or one piece apart; this happens more than half the time. And when it doesn't happen, well, doing them separate isn't too bad either, and we can sometime interpose a one-line clear to combo anyway.

What about other ways to do multispin + Tetris here? Well, we've already seen the back-to-back triple with the two-wide-tree, which generally works whenever the inverted L is at the top. How about with the three wide tree, or with the central tree?

3-wide tree:     

Top-left:        

Central tree:  

We see that we can do it with the three-wide tree by using an I, in both the bottom-corner and top-corner variants. With the central tree, we still kind of need the I to smoothly fill in the S-columns with stuff. The trip-trip is more often seen as a standalone multispin, but it's nice to keep in mind for the Repeat Seat in case we end up filling in the S-columns.

Against Puyo, we may wish to combo our two T-spins with the Tetris. This is actually easier in probability than the above dubdub: we can do it by holding the T with any deck in which the I is either immediately before or within a few pieces after the T, via clearing the hook with an interposing piece: (Sequence: TTOI)

      

The above example uses an O for simplicity, but you can generally improvise something. I randomly generated a deck pair just now (losjzti,lzjosit) and lo and behold, we can clear it as follows: (Sequence: TTZLI)

      

This clear does 20 lines of damage against Tetris and 16+ damage bar against Puyo for 10+ lines of garbage blocks so is generally lethal in either case unless defended, though the setup is usually not the most practical.


We can also do a multispin via the Left-O:

  

This is often much faster to set up than the above trip-trip multispin, and does barely less damage. We get a T-spin double and a T-spin triple in addition to our Tetris. The same clearing logic applies, allowing us to combo the T-spins with the Tetris via an interposing clear most of the time: (Sequence: TTOI)

  

Randomized deck (tijlozs): (Sequence via piece swapping: TTJLI)

  


Conclusion:

We've seen how to transition into a formulaic attacking game from basic openings, ways to execute our repeated attacks, and ways to transition out to combos, improvisational clearing/counterpunching, and high-damage bops. We have the tools needed both to repeatedly hit Puyo players and to play our Tetris versus Tetris game beyond the opening. In later posts, we can look at the general theory of midgame and dynamic use of these tools in a game of play and counterplay.

Tuesday, 27 February 2018

Tetris versus Puyo on the attack

  

So far, this blog has focused on the general theory of Tetris versus Tetris (TvT), with a small nod here and there to how things may apply to games against Puyo. Playing Tetris versus Puyo (TvP) is a different beast altogether, with different damage, different systems, and different optimal play. Let's start with the mechanics and use it to figure out strategy and tactics.

How Tetris damages Puyo

In Tetris versus Puyo, next to the Tetris board, there is a green bar which fills up. Every clear done within a combo (a series of line clears without a non-clear move) adds to this bar if not used for defense. When one does a non-clear move, ending the combo, the bar is transformed to damage and, if not used for defense, sent to the opponent's board. Various different clears fill the bar a different amount:
  • 1 unit: 2 line clear
  • 2 units: 3 line clear
  • 4 units: 4 line clear (Tetris)
  • 5 units: 4 line clear (Tetris) with back-to-back bonus
  • 1 unit: mini-T-spin single with back-to-back bonus
  • 2 units: T-spin single
  • 3 units: T-spin single with back-to-back bonus
  • 3 units: T-spin double
  • 4 units: T-spin double  with back-to-back bonus
  • 4 units: T-spin triple
  • 5 units: T-spin triple with back-to-back bonus
  • 6 units: all-clear (all-clear is always 6 regardless of whether it's a 1 line clear or a 4 line clear)
  • 1 unit bonus: 2 combo up to 6 combo.
  • 2 unit bonus: 7 combo up to 10 combo.
  • 3 unit bonus: 11 combo up to 14 combo.
  • 4 unit bonus: 15 combo up to...

Note that these figures are for damage units towards the beginning of the round; in very late round, damage units increase. Also note that I tested this and the list below on Switch v1.1; damage may change in future patches.

Observe that T-spins act as just a two-unit bonus on top of a regular clear with that many lines; unlike in TvT, in TvP a T-spin triple is NOT three times as damaging as a T-spin single. Mostly, it's whether we T-spin at all.

How much Tetris damages Puyo

Once our combo ends and our bar is transformed into damage, we send a specific number of damage blocks to the opponent's screen. It turns out this damage is NOT directly proportional to our damage bar units. The first unit gets us 4 damage, the next few don't get us much, and once we've got a lot of units, suddenly our units are paying off big. Here's the list from my testing:
  1. 4 damage
  2. 5 damage
  3. 6 damage (1 line)
  4. 8 damage
  5. 10 damage
  6. 13 damage (2 lines + 1 square)
  7. 16 damage
  8.  20 damage (3 lines + 2 squares)
  9. 24 damage (4 lines)
  10.  28 damage
  11.  33 damage (5 lines + 3 squares)
  12.  38 damage (6 lines + 2 squares)
  13.  43 damage (7 lines + 1 square)
  14.  49 damage (8 lines + 1 square)
  15.  55 damage (9 lines + 1 square)
  16.  61 damage (10 lines + 1 square)
  17.  68 damage (11 lines + 2 squares)
  18.  74+ damage (12 lines + 2+ squares) -- probably 75
  19.  80+ damage (13 lines + 2+ squares) -- probably 83
  20.  92 damage (15 lines + 2 squares)
  21. 102 damage (17 lines)



  22.  132+ damage (22 lines)

  23.  183 damage (30 lines + 3 squares)
  24.  200+ damage (33 lines + ?)
    ...
    34.  318+ damage (53+ lines)
    ...
    37.  398 damage (66 lines + 2 squares)
When I curve fit the first 20 points, I get something like 0.2*n^2 + 0.5*n + 3. Doesn't work for higher numbers, though.

Note that each 6 damage is represented by a big square, and each 30 damage by a red square. Why these particular thresholds? Well, one line of damage for Puyo is 6 squares since the board is 6 wide. The most damage that can drop in a single drop-cycle is 30 squares, or 5 lines, which gives people a very very brief extra bit of time to trigger their counterattacks rather than be instakilled. Beyond that, we get star for 6 reds, and moon for 12. We only see at most 6 damage symbols, so some of the higher damages we only get a lower bound on. They're not particularly relevant--at that amount, either he counterattacks with a huge enough combo to kill us, or he dies.


The damage is represented above his screen, and drops on the Puyo board once he drops his next piece, delaying him with an animation as well as messing up his board. If we send another attack before he drops his next piece, it adds directly to the size of our attack, e.g. 4 + 4 = 8 damage. If he breaks stuff with his drop, his damage is first spent defending against our drop.


A Strategy of Attack

Repeated Small Attacks

If we look at the above charts, we see that it can be much better to attack with two separate small attacks--uncomboed--rather than comboing them together. If you break 2 lines one turn, and break 2 lines the next turn, you'll get 2 units on your bar and drop 5 damage on them next turn, delaying them with one animation. If you break two lines ones turn, break nothing the next turn, then break 2 more lines, you'll instead hit them with 4 damage, causing an animation delay, then hit them with another 4 damage, causing yet another animation delay. We also see that "mini" T-spin singles are pretty good in TvP as long as you have a back-to-back bonus. One of them will do 4 blocks of damage. An unbonused T-spin double only does 6 blocks of damage, which is barely better.

By quickly and repeatedly hitting him with small attacks, we delay his building and mess up his board with each one. Also, when he's high up, we can kill him outright, blocking him from moving pieces around his columns, choking him to death, and adding the just-one-more-piece on his third column needed to finish him entirely.

Big Combo Attacks

On the other hand, we see big damage can result by combining large attacks--multiple T-spins, T-spin plus Tetris, multiple Tetrises, or T-spin plus all-clear done within a combo, for example. So another strategy that's implied here is to hit big, combine our attacks, and even use long combos. When our board is high with damage blocks, a big combo is often both the fastest way to clear our way to safety, and able to be long enough to get the big damage. Of course, we don't actually hit them until we end our combo, which can be a problem with comboing too long.

With our big attacks, we fill their board with garbage and can totally block off what they've already built. Rather than disrupting them, we make it hard to build at all. If we hit big enough, we can entirely fill their board up and finish them off even with very little built on their screen.

Putting it together

While blitzing with fast small attacks can win on its own, and a big attack can win on its own, each do different things and have different strengths. A combined approach suggests itself:
  • Use our repeated small attacks to slow our opponent down and limit his attacks, giving us room to build our big attacks.
  • Use our big attacks to fill up his board and kill him.
  • Once he's high up, again use our repeated small attacks to finish him off and prevent him from clearing down, or make time for another big attack to finish him.
This isn't to say you can't sometimes open with a two T-spin combo or a T-spin + Tetris combo--these are worthwhile plays. But your opponent should never be confident that he'll get time to build his chains without being disrupted with a fast attack. Mix it up.


A sample game

I picked this game because it was won not by perfect execution of powerful and uncertain tactics (like doing a fast T-spin + all-clear combo) but instead upon gaining advantages via our strategy of attack despite mistakes. It was played against a 15K+ rated player from Japan, ranked about 300 in the world at the time.

In the first round, I opened with a high-damage 2 T-spin 5-combo opening, running straight into my opponent's 6 chain for no damage and losing to his followup chain. In the subsequent rounds, I opened much faster and smaller.

Round 2 starts with me screwing up my opening and just doing a 2 line clear as my first attack:

    

Against Tetris, this would be worthless. But we see above that in TvP, a 2-line clear by itself does almost as much as a T-spin double. We drop 4 blocks instead of 6, and waste an equal amount of their time with the block dropping animation. And it's faster than a T-spin, since we can hard-drop it.

    

    

The next two attacks follow rapidly on its heels: two T-spin singles. In TvT, these would be far worse than T-spin doubles, doing 2 and 3 lines of damage respectively versus 4 and 5. We see that in TvP, however, these are almost as good: the first does 5 damage and the second 6. Doubles here would only do 6 and 8 respectively, so in both cases we cause equal animation delay and about a line of damage per attack. But the singles leave us more material for our next move, the big attack:

    

This a two T-spin triple combo. Our opponent counter-chains, but our disruptive earlier attacks means it is hard to break too much of his screen. After his counter, we still do almost 4 lines of damage and put him near the top.

We then finish him off with a series of rapid small attacks. He dies before the last one:

    

Note that I intentionally dropped the S before the L on the next attack, to separate the prior T-spin from the 2-line L break. This does two attacks of 8 and 4 damage respectively, which is much better than 1 attack of just 10 which we would've gotten from the T-spin + 2 line combo if we hadn't interposed a non-break drop.

    




For round three I again screw up my opening and end up with just a T-spin single:

    

This runs into his 3-chain. We take a bit of damage, but at least his material is depleted.

We now do our big attack: a two Tetris combo:

    

As we might expect given our lesser disruption this round, our opponent's counterchain is bigger than last time. We end up with just a bit more than a line of damage sent.

We follow up with a series of smaller attacks preventing him from getting back on his feet:

    

    

Note that the next two attacks, a Tetris and a two-line clear, are separated by dropping the J. However, due to his slow drop and one-group clear on this move, these still end up adding up to one single attack (10 + 4 = 14 damage). This is all good; whether he slows down and takes one attack animation, or does a fast drop and takes two attack animations, he's still slowed down. And doing the Tetris plus the two-line clear together in a combo would've only done 13 damage, so we did more damage by separating the attacks.

      

We then finish him off with a T-spin + Tetris combo. Our opponent's small counterchain is insufficient to save him (Sequence: ITSI for 3-combo):

      

These rounds demonstrate the basic principles: we gain time for our big attack with our rapid repeated small attacks, put him closer to the top with our big attack, and use more small attacks to either finish him off or gain time for another big attack.

We do many things which would be very strange in TvT, such as intentionally taking T-spin singles instead of doubles just to get more material, and intentionally separating our small attacks so as to NOT combo them and cause more attack animations, more disruption, and for small attacks, more damage. We also see the intentional execution of either multiple T-spins, multiple Tetrises, or T-spin plus Tetris together in a small combo, which for TvP allows a combined large attack, but which (given a 1-combo) would do no more damage than doing them separately in TvT.


Conclusion

We now have a general theory of offensive play in TvP and how it differs from TvT. Of course, there's always more to it than that. We certainly do want to get the occasional free round from offensive tactics like piece 15 T-spin+all-clear, and we certainly want to hone our speed and tactical execution, and we certainly want to figure out defensive play, handling screen-clearing and attrition, and we certainly want to have deeper theoretical ideas about when to attack and when to defend. Perhaps we'll discuss these things in future posts.