Introduction
This guide is mainly intended for TGM1, with some concepts also applicable to TAP. It is largely not applicable to TGM3 or 4, as stacking with multipreview and hold is very different.
It is also not intended as a guide for how to get GM. There are many good resources for this, such as tgm.tips and the TGM Guide. This guide is intended for those with GM already and a solid grasp on the fundamentals. Some concepts in the latter part of this guide also sacrifice consistency for potential time gains, and are therefore best avoided when PBs are still easier to come by through improving consistency and fundamentals. These will be pointed out when we get there.
Please also refer to the TGM legend if you see any unfamiliar terms. There are a few terms that I'm completely making up on my own, so they won't be in there, but I'll always explain those ones.
The Straightforward Part
Lock Faster
Just saying "lock faster" is obviously not all that helpful as advice, but the truth is that this is a massive part of time attack that has to be learned through practice and repetition. The faster you put your piece where you want it and then press down, the faster the run will be. In modes like T.A. Death, you can get away with anything and get very fast times as long as you can lock fast and survive to the end of the run. However, TGM1 time attack has a bit more to it than that. This "just stack cleaner and faster" advice is understandably frustrating and not particularly helpful, but it is a fact that many hours of practice getting your inputs to be very tight with the timings of the game is a required step to getting faster and faster PBs.
Think Correctly
A common beginner mistake is thinking incorrectly. 99% of the time you should not be thinking about a piece while it is active and moving through your stack. You should be executing the series of moves that you already decided upon while the piece was in the preview (so during the previous piece's active time, and the ARE). If you are thinking about the piece while moving it through the stack, you are hesitating with your inputs and bleeding time. If you try to use the new preview to inform your current placement, you can stack more stably, but you lose a lot of time due to the hard limits of human reaction time (since the new preview doesn't appear until the moment the piece is already active). Of course, it's a whole other matter to actually learn how to think fast enough so you never run out of time and have the piece spawn before your decision is made. I can't teach you that part with words, it can only come from practice.
Don't Clear Singles
In TGM1, the ARE is 30 frames for the entire game. When a line is cleared, this delay extends from 30 frames to 41. As a result of this, clearing an excessive amount of singles slows the run down quite a bit. When you clear 4 singles, you waste 33 frames over clearing that same material as a tetris. While it will never be reasonable to go an entire game with only tetrises, it is extremely important to reduce singles as much as possible and try to maximize tetrises. For reference, in the best recorded TGM1 run (8:49.90 by 777) just 15 out of the 282 cleared lines are singles. Fast locking alone won't get you very far if you make a mess of the stack and need to clear singles constantly. Note that this is not the case for T.A. Death, where ARE and line ARE are either very similar or identical. In death, the optimal approach to time attacking is to just lock at the absolute maximum speed you can manage without just dying.
Don't Level Stop
You should already know this if you read the other guides first, but in the TGM series the level won't advance past X99 (998 for the final level stop) without a line clear. Avoiding these level stops is absolutely critical for good time attack, as placing pieces without advancing the level is almost 100% pure timeloss. Even if the piece is locked instantly in the middle of the stack in 20g with no movements, it's a loss of at least half a second per piece, and this quickly adds up. This guide has an entire section on avoiding this. (except it doesn't yet, sorry)
Nifty Stacking
This isn't going to be an incredibly complex deep dive into the intricacies of stacking strategy. There's no guide you can read that could replace practice and experience when it comes to developing stacking technique. There are, however, some broad tips here that can improve stack stability, or save time in certain situations.
Psuedodependencies
Hopefully you already know that you should be minimizing piece dependencies (when a part of your stack requires a certain piece to be filled cleanly) and piece allergies (when a certain piece wouldn't fit anywhere cleanly if it were up next). There are some non-obvious concepts that follow from this, including a term that I made up and nobody else has ever said: pseudodependencies.
Take this situation. There aren't any dependencies or allergies, but the situation isn't entirely stable either. We have a pseudodependency:
The spot on the right only accepts a j or an i piece cleanly. This is a little bit unstable, so it may be tempting to use the i piece we just rolled to resolve it. However, this is not actually what I mean by pseudodependency.
The pseudodependency here is caused by the fact that this stack will only accept an O piece cleanly in one place. We haven't rolled the O yet, but we can think ahead about what would happen if we did.
Suddenly, an i dependency has appeared! Knowing that this could happen, and having just rolled an i piece, we can preemptively fill this dependency before it even exists:
The stack is now more stable. If we had filled the J spot on the right instead, we would be in this situation:
This did not stabilize the stack, it actually made it even worse. This was less filling a j dependency, and more like stealing j's spot. J and O are now fighting over just the one spot to accept either one. If we put an O, we have an i dependency and just used up our i piece. If we roll a J, we get a spiky mess with an O allergy.
All that this has accomplished is hedged our bets against a potential drought of j and i. However, even if this did happen, the spot fills in pretty easily with a z or t, only creating one hole off to the side where they're less harmful.
Pseudodependencies (Weak Form)
warning. this section requires knowledge of wall finesse to make any sense. I'm procrastinating actually writing a wall finesse section, since I'd have to make a bunch of animated visuals. sorry.
The previous example revolved around a piece dependency that could exist but didn't yet. This example is of something even further divorced from the traditional notion of a dependency: a place that can be filled by many pieces, but can only be filled quickly by one. Aside from the whole "clearing tetrises" thing, and generally being pretty good at stabilizing the stack, this is when the i piece really shines. As we saw in the wall finesse section earlier (lying, sorry), the i piece is the only piece that can reach every column without a double tap.
this section ends here, because I realized I really can't write this without having the gifs first. lol
Reading the Randomizer
In the TGM randomizer, a history of the past 4 rolled pieces is kept. This history is used to reduce the odds of repeated pieces by rerolling (4 times in TGM1, 6 times in TAP and TI) to try and draw a piece that is not present in the history. Knowledge of this system and a sense for the contents of the history can allow you to make educated guesses about what pieces are coming soon, and stack accordingly. The most general form of this is to never build a piece dependency using that same piece, as it will be in the history for a long time. For the same reason, it is very bad to have two dependencies for the same piece, since it will probably take a while to roll another one after the first dependency is fixed.
This is a bad situation, you already had a T dependency and now you have another. Rolling two T pieces before needing to make a hole here is very unlikely. It's better to just accept one hole near the edge of the stack, rather than making such an unstable situation that will almost never resolve neatly.
Understanding the history can help you maximize your odds of your dependencies getting filled. Take this situation, for instance:
What's the best place to put the T piece? Well, it's actually impossible to know what placement is better just from this. The answer depends on the contents of the history:
Knowing that L is present in the history, the better T placement is the one that creates a J dependency instead of an L dependency. The same logic applies in reverse, or if both were in the history but L was more recent.
By making this placement that needs a J instead of an L, we are likely to roll the needed piece sooner rather than later.
In addition to helping you get an idea of when pieces are likely to come, a solid grasp of the randomizer state can be extremely useful in understanding when a piece likely won't come.
Take this situation (assuming 20g):
We have a pretty scary left well i dependency that's blocking the main well. We very much need to get the next i piece over into that left well or we could be in big trouble. With the current stack shape, the i piece will get stuck and cannot reach. So what should we do with the L? It depends on the history. If an i piece is already recent in the history, we can assume that we have some leeway before the next one comes around. Therefore, we can prioritize overall stability rather than immediately making the left well reachable.
However, if an i piece is not in the history, it's likely to be coming very soon. We don't want to miss it, so it's best to prioritize making the left well reachable right away.
Of course, there's always the option of just hesitating after the L piece spawns to see the new preview, and responding accordingly. However, placements like that are very slow, easy to misdrop, and generally contrary to good time attack principles. in 99% of cases we want to act solely based on the info of the current preview, stack, and randomizer, rather than making decisions "live" during active time. If a run is likely to die completely without this sort of thing though, it is of course ok to try it.
Single Conversion
As stated above, reducing singles is extremely important. The ideal is always a tetris, but a triple or even a double is still preferable over taking a single. Take for instance, this stack:
The intuitive play (and the safest one, if simply trying to clear) is to take the single with the S to reopen the well, but you can do better. Depending on how aggressive you want to be, this can instead be converted to a double, a triple, or even a tetris.
All of these options save time over simply taking the single, and, if in low gravity, the conversion to a tetris is actually faster than not covering the well in the first place due to saving on piece drop time. That being said, it's important to be wary of asking the randomizer for too much. If you always go for the most aggressive option, you'll be spending a lot of your time stuck in the first few sections!
Here's a less intuitive situation:
This can be converted from a single to a double by ignoring the more traditional T overhang fix:
The same idea would also work with a Z.
Here's a more intuitive situation. As it stands now, filling the i dependency will clear a single. Placing the O piece on the right is the correct move to convert that to a triple, with no extra risk.
When doing these conversions, it's important to try to avoid situations where you make the better line clear, but still leave behind a situation that requires a single. While putting an O piece over the well can often be a good way to convert a single, there are some cases where it might not work too well. Take for instance, this series of events:
This didn't really help... we took the double instead of a single but the well still isn't open. Rather than O, it would've been better to try to wait for an L instead.
While maximizing tetrises is important, it’s also important not to over-commit and create a much bigger mess than you would have if you’d just taken the smaller line clear. Take this situation for example:
If you wanted to clear only tetrises, this is a pretty dangerous double i piece dependency. Instead of trying to fix the well on the right with an i piece, it's probably best to take a double using an O or an S. If the sequence doesn’t cooperate, even just taking a single with T, L, or J could be better than waiting for a second i piece if it keeps the stack in good condition.
In this situation, assuming 20g, there's not really a safe way of converting the single. While it's not impossible, and a sudden switch to a left well could maybe work, it's risky. It's probably best to just take the one single, rather than potentially completely ruining the stack trying to convert it to a better line clear. It's important to pick your battles.
wip: wall finesse, level stop avoidance, more nifty stacking