How To Rotate Your O-Piece

A comprehensive guide to the practical and whimsical applications of O-piece rotations in the Tetris series and Tetris-like stackers


Note: This guide is a work in progress - some sections are incomplete and there may be errors.

Last Updated: 06/12/2024

Latest Major Update: 14/11/2024 - Added Special Block Positioning section


Introduction

To a casual Tetris player, rotating the O-piece appears to be completely useless. It's the only piece which does not move when you rotate it, and its identical rotation states typically prevent it from interacting with walls or other pieces. But what if there were actually ways to use these seemingly useless rotations to your advantage? As it turns out, many Tetris games and stackers based on the series do actually implement game mechanics which make it useful to rotate the O-piece.

My name is Dunspixel (she/they). I love playing a variety of stacker games and learning about the mechanical differences between each one. I also have a very strong opinion about O-piece rotations and way too much free time, so I decided to make this guide describing every known use for rotating the O-piece in these games.

Rotating the O-piece may be nothing more than a meme to some, but many of the techniques in this guide really are practical and some can be utilised at all skill levels. However, I'm still going to include a variety of useless and whimsical techniques too, simply because they're fun. Useful or otherwise, I hope I can help you appreciate O-piece rotations for what they can really do.



Chapter 1: General Concepts

Before we begin, I'd like to discuss some concepts that will be useful to understand the techniques in this guide, then go on a brief rant about the semantics of the terms many people use to describe stacker games. If you don't care about that and just want to know some uses for O-piece rotations, you may want to skip to Chapter 2.

I will use some conventions throughout the guide to highlight important information, which will be written in colour-coded text:

Rotation

When you press a rotation button, your active piece will rotate by 90 degrees in the chosen direction.

Ok, obvious statements aside, there's actually a lot more going on than most people give it credit for.

A piece can be in one of four rotation states. In this guide, I will describe rotation states using "0R2L" rotation notation, in which pieces spawn in state 0, and rotating right (clockwise) changes to R, 2, L, then back to 0. Likewise, rotating left (counter-clockwise) from state 0 will cycle through states L, 2, R, and 0.

I will describe state-dependent rotations (i.e. those where the rotation state is relevant) as combinations of the above rotation states, with an arrow to indicate direction. For example:

You may be wondering how a 0R2> rotation differs from a <02> rotation. There's actually one game in this guide that implements 180-degree rotations like those featured in the Puyo Puyo series, where you can flip a piece by quickly double-tapping a rotation button in a tight space. Rotations like these technically work differently from 180-degree rotations triggered by a single button press, hence the different notation.

State-agnostic rotations (i.e. those where the rotation state doesn't matter) will be written in one of two ways. The longer notation will be used for rotations on their own, while the shorter notation will be used for sequences.

In many stackers (especially modern Tetris games), the O-piece can have multiple rotation states even if each one is identical. This means the O-piece is actually rotating internally even if there is no visual feedback for doing so. In the Tetris Worlds implementation of the commonly used Super Rotation System, or SRS for short, the O-piece internally rotates around one of its blocks (the lower-left block in state 0), but an offset is applied to keep it in place when rotated. This may or may not be the case for implementations in other games, though.

Wall Kicks

Wall kicks are a feature of many modern rotation systems, which allow pieces to move when rotated if their new position is obstructed by a wall or another piece.

In SRS, four alternative positions are checked if basic rotation fails, and the piece will move to the first one that succeeds. For example, this is how the infamous Fin TSD works in SRS:

[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G][G][G]
[G][ ][G][G][G][G][G][G][G][G]
Fin Setup
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][ ][ ][ ][ ][ ]
[G][T][T][T][ ][ ][ ][ ][ ][ ]
[G][ ][T][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G][G][G]
[G][ ][G][G][G][G][G][G][G][G]
State 2
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][D][ ][ ][ ][ ][ ][ ][ ]
[G][ ][T][T][ ][ ][ ][ ][ ][ ]
[G][ ][T][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G][G][G]
[G][ ][G][G][G][G][G][G][G][G]
<2R Rotation (fail)
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][D][G][ ][ ][ ][ ][ ][ ][ ]
[G][T][T][ ][ ][ ][ ][ ][ ][ ]
[G][T][ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G][G][G]
[G][ ][G][G][G][G][G][G][G][G]
Kick 1 (fail)
[ ][T][ ][ ][ ][ ][ ][ ][ ][ ]
[G][D][D][ ][ ][ ][ ][ ][ ][ ]
[G][T][ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G][G][G]
[G][ ][G][G][G][G][G][G][G][G]
Kick 2 (fail)
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][T][ ][ ][ ][ ][ ][ ][ ]
[G][ ][T][D][G][G][G][G][G][G]
[G][ ][D][G][G][G][G][G][G][G]
Kick 3 (fail)
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][T][ ][ ][ ][ ][ ][ ][ ][ ]
[G][T][T][G][G][G][G][G][G][G]
[G][T][G][G][G][G][G][G][G][G]
Kick 4 (success)
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][T][ ][ ][ ][ ][ ][ ][ ][ ]
T-Spin Double Clear

Different rotation systems can handle wall kicks by defining a different offset table, or instead try to kick by rotating around an alternate centre. Regardless of implementation, they're super fun to use once you know how they work!

Wiki Links

You may have noticed that I provide two very similar wiki links for many of the sections in this guide. Hard Drop and TetrisWiki are both fantastic community resources for information about Tetris games, but many of the pages have very similar content due to being forked from the now-defunct Tetrisconcept wiki, and editors (including me) adding content to both wikis at the same time.

Which one you pick is really down to personal preference, though if there's something you can't find on one wiki, you will probably be able to find it on the other.

Even though past proposals to merge the wikis have been rejected, the Tetris community generally agrees that both of them are significantly better than the Fandom wiki, which I recommend you avoid.

"Versions of Tetris"?

So this section is that rant about semantics I mentioned earlier, which you'll hopefully find somewhat educational and/or entertaining. I'd love to know what other people think about this topic!

Also, I hope this rant doesn't come across as too negative or angry. I'm not mad at any of you, I promise.

Am I the only one who is bothered by different Tetris games, and stackers in general, being referred to as "versions of Tetris"? It's a term which perpetuates the myth that the Tetris series is literally just the same game ported to pretty much every device imaginable, and that Tetris-like stackers are just knock-offs of what they perceive to be the "real thing".

Sure, the original Tetris was the first stacker game. It did indeed start the genre of puzzle games which many people in the Tetris community name after it. But to say that they're all just the exact same game is plainly wrong.

This isn't helped at all by the fact that even The Tetris Company, who licenses the Tetris series, refers to their own games as "versions" of the same game instead of what they are: entries in a series.

Don't get me started on the whole "it's just Tetris" thing.

While all (tetromino-based) stacker games may superficially look identical to each other, they all feel very different to play at anything higher than a casual level. This is even true of modern Tetris games which have to adhere to the Tetris Guideline. Some examples of differences which drastically affect gameplay include:

To clear up some terms related to stacker games, this is how I use them in this guide:

With that out of the way, let's get to the part where we rotate some O-pieces!


Chapter 2: Guideline Tetris

The Tetris Guideline is a document which developers of Tetris games follow to ensure each game has some degree of mechanical consistency. Tetris Worlds from 2001 established most of the mechanics that would form the Tetris Guideline as it is known today, with subsequent games building on and refining it. Almost every Tetris game released since then has adhered to some version of this guideline, hence why modern Tetris games are often referred to as "Guideline Tetris".

The most important feature of the Tetris Guideline is the aforementioned SRS, which it introduced to the Tetris series. We'll encounter a lot of rotation systems in this guide, but SRS is by far the one you'll see the most both in modern Tetris games and in Tetris-like stackers.

Move-Reset Lock Delay

Finally! I get to talk about an actual use for O-piece rotations! This one is by far the most practical O-piece rotation technique you can use in the Tetris series at any skill level. If you only learn one thing from this guide, let it be this.

Many Tetris games, including all guideline games, implement a lock delay. This means when the active piece reaches the bottom of the board or the top of the stack, the game provides a brief window of time (typically 30 frames or half a second) to move or rotate the piece before it locks into place.

Move-Reset Lock Delay, as implemented in most guideline Tetris games, resets whenever the active piece is moved or rotated. Earlier guideline games such as Tetris Worlds and Tetris DS allow you to do this indefinitely, while later games impose a limit of 15 resets per step. This means once your active piece reaches a floor, it can be moved or rotated up to 15 times before it is forced to lock, with these 15 resets replenishing when the piece moves down due to gravity or soft drop. A staircase-like formation can be used to maximise the number of resets you can do with a single piece.

For games without a reset limit, this mechanic is also known as "Infinity".

Repeatedly resetting the lock delay just before the piece locks is called "stalling". This is a versatile technique which is useful at a variety of skill levels, especially in multiplayer battles. Some examples include:

If your active piece is an O-piece, then all of this can be achieved by rotating it while it's on the floor. In tight areas, many pieces can wall kick to unexpected places when rotated, especially if you're less familiar with SRS. Because the O-piece does not move on rotation in guideline Tetris games, it is the easiest and safest piece to use when stalling.

Tetris Effect and Initial Rotation

Tetris Effect features two major mechanics which make O-piece rotations especially useful when used together:

Note that IRS is a setting in the options menu that is turned off by default. You will need to set it to Type-A for it to be able to prevent top-outs in tight spaces.

In Tetris Effect, all pieces spawn with their lowest block on row 20. When your stack is at the top of your board, you have limited space to spawn and manoeuvre pieces without topping out. To prevent topping out, hold a rotation button on your active piece while placing it, which will activate IRS and spawn the next piece rotated in that direction. This will cause the spawned piece to span fewer columns and is particularly useful for two types of situation:

With most pieces, if your active piece is already in the desired rotation state and you are not already holding the appropriate rotation button, you will need to initialise the next piece's spawn state by performing a rotation in the opposite direction to the desired spawn state, then rotate it back while keeping the rotation button held down. This will then allow you drop the piece and spawn the next piece in its desired state.

Because the O-piece has identical rotation states, you do not need to consider its current rotation state when placing it. Even if you are not currently holding a rotation button, you only need to perform a single rotation in the direction of the next piece's desired spawn state, which makes the O-piece the easiest piece to use with IRS.

Puyo Puyo Tetris and Stack Overlap "O-Spins"

This is much more whimsical than the other uses in this chapter, having pretty much zero practical use. However, seeing an O-piece wall kick in a modern guideline Tetris game and the ridiculous setup it requires is absolutely hilarious and I love it.

Puyo Puyo Tetris implements a slightly altered SRS offset table which defines wall kicks for the O-piece. This is because of the P pentomino used in the game's Party mode, which the O-piece derives an offset table from.

Triggering this wall kick for the standard O-piece is much trickier, and requires you to exploit situations where your active piece overlaps with your stack without topping you out. There are two ways of doing this:

Fusion mode combines Puyo Puyo with Tetris on the same board, introducing some unusual behaviour when Puyos and Tetris pieces interact with each other. By soft dropping a piece on top of a Puyo stack, the Tetris piece will slowly break through the stack, and activate the next piece which you can use at the same time.

There is a complex setup in Fusion mode which allows you to exploit this behaviour and execute an O-spin:

First, slide the first O-piece under the overhang and allow it to lock on top of the puyo stack. Once it locks, it will slowly break through the puyo stack.

When the second O-piece spawns (or you take it out of hold), perform a 0R> rotation. You can then use the time spent by the first piece breaking through the puyo stack to move the second O-piece to the same place. You'll want to time it so the first piece reaches the bottom and clears the lines before the second piece is affected by gravity.

When the lines are cleared, your second O-piece will be pushed into the ceiling (or the floor of the hole). When this happens, perform an <R0 rotation and your O-piece will kick upwards, filling the hole and completing the O-Spin.

[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][G ][G ][G ][G ][G ][G ]
[F ][F ][G ][F ][F ][G ][G ][G ]
[F ][F ][G ][F ][F ][G ][G ][G ]
[F ][F ][G ][G ][G ][G ][G ][G ]
[F ][F ][F ][O ][O ][G ][G ][G ]
[F ][F ][F ][O ][O ][G ][G ][G ]
[G ][G ][G ][Zp][Zp][G ][G ][G ]
[G ][G ][G ][Sp][Jp][G ][G ][G ]
[G ][G ][G ][Sp][Jp][G ][G ][G ]
[G ][G ][G ][Tp][Tp][G ][G ][G ]
Lock here
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][G ][G ][G ][G ][G ][G ]
[F ][F ][G ][F ][F ][G ][G ][G ]
[F ][F ][G ][F ][F ][G ][G ][G ]
[F ][F ][G ][G ][G ][G ][G ][G ]
[F ][F ][F ][O ][O ][G ][G ][G ]
[F ][F ][F ][O ][O ][G ][G ][G ]
[G ][G ][G ][F ][F ][G ][G ][G ]
[G ][G ][G ][F ][F ][G ][G ][G ]
[G ][G ][G ][O ][O ][G ][G ][G ]
[G ][G ][G ][O ][O ][G ][G ][G ]
0R> Rotation
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][G ][G ][G ][G ][G ][G ]
[F ][F ][G ][F ][F ][G ][G ][G ]
[F ][F ][G ][O ][O ][G ][G ][G ]
[F ][F ][G ][D ][D ][G ][G ][G ]
[F ][F ][F ][F ][F ][G ][G ][G ]
[F ][F ][F ][F ][F ][G ][G ][G ]
[G ][G ][G ][F ][F ][G ][G ][G ]
[G ][G ][G ][F ][F ][G ][G ][G ]
Line clear
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][F ][F ][F ][F ][F ][F ]
[F ][F ][G ][G ][G ][G ][G ][G ]
[F ][F ][G ][O ][O ][G ][G ][G ]
[F ][F ][G ][O ][O ][G ][G ][G ]
[F ][F ][G ][G ][G ][G ][G ][G ]
[F ][F ][F ][F ][F ][G ][G ][G ]
[F ][F ][F ][F ][F ][G ][G ][G ]
[G ][G ][G ][F ][F ][G ][G ][G ]
[G ][G ][G ][F ][F ][G ][G ][G ]
<R0 Rotation

Is it useless? Absolutely! But not everything has to be useful to be fun.

Tetris Stardust and Actual O-Spins

Ok, maybe you're thinking that last section was a bit too silly. Perhaps you're looking for an O-Spin in a guideline Tetris game that is developer intended and doesn't require a ludicrous setup. You're probably also wondering if such a game really exists in the Tetris series. Good news, it does, and it's called Tetris Stardust!

To tell you the truth, I only recently learned this game existed, mainly because it's a game that was only released in Japan, made using Silverlight of all things, and there was very little information about it online before I wrote this guide. It's mostly based on Tetris Online, but with a few important differences. As you can probably tell by the existence of this section, some of these differences have something to do with how the O-piece behaves.

Tetris Stardust primarily uses SRS just like any other guideline Tetris game, but there is a special case which allows the O-piece to wall kick. Unusually for a game with O-piece kicks, the O-piece doesn't actually move on normal rotation, nor does it have multiple distinct rotation states (though it does technically have four identical states). Instead, it checks the following conditions and bypasses basic rotation if the check succeeds:

If the check succeeds, the O-piece will then kick according to the offset chart below. To my knowledge, Tetris Stardust is the only Tetris game which actually acknowledges O-Spins by name, and also the only one to explicitly reward them. An interesting side effect of this mechanic is that rotation can now fail, thus causing it to replace most of the stalling utility present in other Guideline games. However, this is a worthwhile trade-off as there is no VS mode and gravity is permanently at level 1.

Tetris Stardust O-Piece Offset Chart

This is about all I could figure out just by playing the game, considering how little it was documented at the time. So I did what any curious and totally sane person would do in this situation, and ran the game through a decompiler. Fortunately, Silverlight apps are very easy to decompile, and it means I got to do some original research for once!

In addition to the points scored by O-Spins and their associated line clears, the act of performing these spins awards points based on a "Spin Rank" system unique to this game. There are a total of 10 Spin Ranks: E, D, C, B, A-, A, A+, S-, S, and S+. Any kick that would cause the Spin Rank to exceed S+ will simply award an S+.

Spin Rank is particularly useful because it awards points without clearing lines, and the aim of Tetris Stardust is to score as many points as possible in 40 lines.

Spin Rank is awarded for each kick that moves the piece below its previous lowest block. This means upward and purely horizontal kicks will not award Spin Rank. This also prevents you from gaining Spin Rank by repeatedly performing a kick, then the opposite kick to move it back to its previous position. Score for Spin Rank is awarded per wall kick, so performing multiple rank-eligible kicks with the same piece will award multiple score bonuses. For example, a C-Rank spin (200 points) followed by a B-Rank spin (400 points) performed with the same piece will award a total of 600 points, not just the 400 for the final spin.

The Spin Rank of a particular kick is determined by comparing the position of a piece to its surroundings. The code in this area is very complicated, but I think the idea behind them is that particular configurations require a certain kick to have taken place, so this can be used to award higher ranks for stronger spins.

Configurations consist of a list of block positions relative to the active piece's new rotation state. The internal position of the O-piece is considered to be the top-left of a 4x4 area in which the O-piece is at the centre. For each configuration, if all of its listed positions are occupied, then that Spin Rank check will succeed, awarding a Spin Rank equal to the base rank of the configuration, plus some bonuses for later wall kicks and chained spins.

Below is a full list of configurations checked for the O-piece in the order they are checked, with the base ranks listed below. While the game does technically define this for each rotation state, the four lists for the O-piece are identical, even including the seemingly erroneous final configuration.

[ ][ ][G][ ]
[G][O][O][ ]
[ ][O][O][ ]
[ ][ ][ ][ ]
Rank B
[ ][G][ ][G]
[ ][O][O][ ]
[G][O][O][ ]
[ ][ ][ ][ ]
Rank B
[ ][G][ ][ ]
[ ][O][O][G]
[G][O][O][ ]
[ ][ ][ ][ ]
Rank B
[ ][G][ ][ ]
[ ][O][O][G]
[ ][O][O][ ]
[ ][ ][ ][ ]
Rank B
[G][ ][G][ ]
[ ][O][O][ ]
[ ][O][O][G]
[ ][ ][ ][ ]
Rank B
[ ][ ][G][ ]
[G][O][O][ ]
[ ][O][O][G]
[ ][ ][ ][ ]
Rank B
[ ][ ][G][ ]
[ ][O][O][ ]
[G][O][O][ ]
[ ][ ][ ][ ]
Rank C
[ ][G][ ][ ]
[ ][O][O][ ]
[ ][O][O][G]
[ ][ ][ ][ ]
Rank C
[ ][ ][ ][ ]
[G][O][O][ ]
[ ][O][O][ ]
[ ][ ][G][ ]
Rank C
[ ][ ][ ][ ]
[ ][O][O][G]
[ ][O][O][ ]
[ ][G][ ][ ]
Rank C
[ ][ ][ ][ ]
[ ][O][O][G]
[G][O][O][ ]
[ ][ ][ ][ ]
Rank C
[ ][ ][ ][ ]
[G][O][O][ ]
[ ][O][O][G]
[ ][ ][ ][ ]
Rank C
[ ][G][ ][ ]
[ ][O][O][ ]
[ ][O][O][ ]
[ ][ ][G][ ]
Rank C
[ ][ ][G][ ]
[ ][O][O][ ]
[ ][O][O][ ]
[ ][G][ ][ ]
Rank C
[ ][G][ ][ ]
[ ][O][O][ ]
[G][O][O][ ]
[ ][ ][ ][ ]
Rank C
[ ][ ][G][ ]
[ ][O][O][ ]
[ ][O][O][G]
[ ][ ][ ][ ]
Rank C
[ ][ ][ ][ ]
[G][O][O][ ]
[ ][O][O][ ]
[ ][G][ ][ ]
Rank C
[ ][ ][ ][ ]
[ ][O][O][G]
[ ][O][O][ ]
[ ][G][ ][ ]
Rank C

There's a much simpler way of describing this, though, so don't worry about memorising all of these configurations. Also, configurations 9, 10, 17, and 18 are inaccessible following a wall kick. Here's an overview of how Spin Rank is affected by the performed wall kick:

I don't believe this is possible for the O-piece, but if none of a state's configuration checks succeed after a kick, the default Spin Rank of -1 (no rank) is awarded. This can be increased by kick bonuses and spin chains, and is the only way to get Spin Ranks E and D.

Spin Rank can also be increased by chaining multiple kicks together. The amount depends on the Spin Rank of the previous kick:

It's also worth noting that for non-T pieces, a spin is considered "mini" if its Spin Rank is B or lower. This means the second O kick will usually be a mini spin, while kicks 3 and 4 register as full spins.

Here are some examples of chained spins and the ranks they award. All of these setups can be mirrored, though you will need to rotate in the opposite direction.

[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][O][O][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][O][O][G][G][G]
[G][G][G][O][O][ ][G][G]
[G][G][G][G][ ][ ][G][G]
Spin Rank C
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][O][O][G][G]
[G][G][G][G][O][O][G][G]
Spin Rank B

In this example, the first C-Rank spin adds a +1 bonus to the second C-Rank spin, which promotes it to a B-Rank spin. This scores a total of 600 points just from Spin Rank.

[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][O][O][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
Spin Rank C
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][G][O][O][G][G]
[G][G][G][G][O][O][G][G]
Spin Rank A+

As before, the C-Rank spin adds a +1 bonus to the A-Rank spin, increasing it to A+ for a total Spin Rank score bonus of 1200.

[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][O][O][G][G][G][G]
[G][G][O][O][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][G][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][ ][G][G]
[G][G][G][G][ ][ ][G][G]
Spin Rank A
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][O][O][G][G]
[G][G][G][G][O][O][G][G]
Spin Rank A

While the second spin is only C-Rank, the prior A-Rank spin adds a +3 bonus to it, increasing it to A-Rank. This setup scores a total Spin Rank bonus of 1600. Also, the Spin Rank boost upgrades it from a mini spin to a full spin!

[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][O][O][G][G][G][G]
[G][G][O][O][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][G][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
Spin Rank A
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][G][O][O][G][G]
[G][G][G][G][O][O][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
Spin Rank S
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
Spin Rank S+

A-Rank spins add a +3 bonus to following spins, so chaining two of them together increases the second spin to rank S. Following this, the S-Rank spin will add a +4 bonus to the next spin, so a third A-Rank spin will be increased to the maximum Spin Rank of S+. The total Spin Rank bonus for the first two spins is 2400, while the third increases the total to 4200.

Useful Notes

Some Guideline-era games actually implement step-reset lock delay instead of move-reset. This means the lock delay only resets when your active piece moves downwards due to gravity or soft-drop, much like how move-reset's reset count works. This prevents you from stalling by rotating a piece while it is on the floor and typically removes all utility for O-piece rotations.

These games include:


Chapter 3: Non-Guideline Tetris

Before the Tetris Guideline existed, Tetris games used a variety of rotation systems and game mechanics which aren't seen in modern entries. Some of these allow for some very interesting techniques.

Tetris The Absolute The Grand Master 2 The RO Medal PLUS

Tetris The Grand Master 2 (TGM2) features six medals which can be achieved by performing a variety of tasks within a single round. One of these medals is the RO (rotation) medal, achieved by maintaining an average of at least 6 rotations for every 5 pieces. If you do this, you will receive a bronze RO medal at level 300, a silver medal at 700, and a gold medal at 999.

All rotations for all pieces count towards this medal, and it's actually possible to perform a rotation with the O-piece on every frame. Mashing the rotation buttons while an O-piece is active will make it much easier to obtain this medal.

Tetris 64 and its Inexplicably Obscure Rotation System

By default, Tetris 64 uses Sega Rotation, which was originally made for Sega Tetris (1988) and is the rotation system that was adapted for the TGM games. However, this game offers several options to alter how rotations work:

This game really just dropped an entire rotation system that is unique to Tetris 64 and intentionally permits O-Spins via wall kicks in the second page of the options menu. In 1998. And this slipped under most of the Tetris community's radar, largely due to it being overshadowed by the Bio Sensor that was included with the game. As cool as that is, it bugs me a little that it's commonly perceived as the only thing this game added to the series.

Anyway, Rotate Center activates what I call the Tetris 64 Rotation System (T64), as it's not known to be used in any other Tetris game. This rotation system defines four distinct rotation states for every piece, including the O-piece. Because of this, the O-piece actually moves when rotated. When combined with Offset Turn and/or Double Turn, this can be used to execute genuine, developer-intended O-Spins.

While I could find some gameplay and a few discussions about this game's unusual spins, I unfortunately couldn't find any detailed information about how any of it actually works, such as the rotation states and the specifics of how the wall kicks work. I guess this is all I can say about Tetris 64, then-

So I decided to lab and document T64 (excluding the Bio Tetris polyminoes) myself, specifically for a guide about O-piece rotations.

Below is an offset chart for the O-piece in T64. The rotation states are in the middle, with basic rotations on either side. Then, each rotation has two possible wall kicks, one for each direction. The block outlined in black is the rotation centre.

Tetris 64 O-Piece Offset Chart

Fun Fact: While not relevant to the O-piece, the left kick will always be prioritised over the right kick if both would succeed. Because of the wall kick order, this game has a mirrored form of Mihara's Conspiracy, as seen in Arika Rotation System (ARS).

Below are a few (somewhat) practical O-Spin setups. Unfortunately, the kicks in T64 limit you to clearing O-Spin Singles. O-Spin Doubles are impossible as there are no wall kicks which move the piece downwards. Additionally, spins do not award any bonus points in Tetris 64. Their main utility is to fix misdrops and to plan around the game's random piece generator. Alternatively, they're great for flexing on your spectators as their jaws drop at your stylish O-piece placement skills.

[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][O][O][G][G][G][G][G]
[G][G][G][O][O][ ][G][G][G][G]
[G][G][G][G][ ][ ][G][G][G][G]
State 0/L
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][O][O][ ][G][G][G][G]
[G][G][G][D][O][ ][G][G][G][G]
0R> or <L2 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][ ][O][O][G][G][G][G]
[G][G][G][G][O][O][G][G][G][G]
Wall kick
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][ ][O][O][G][G][G][G]
O-Spin Single Clear
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][O][O][G][G][G]
[G][G][G][G][ ][O][O][G][G][G]
[G][G][G][G][ ][ ][G][G][G][G]
State 0/L
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][G][G][G]
[G][G][G][G][ ][O][O][G][G][G]
[G][G][G][G][ ][O][D][G][G][G]
0R> or <L2 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][G][G][G]
[G][G][G][G][O][O][ ][G][G][G]
[G][G][G][G][O][O][G][G][G][G]
Wall kick
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][G][G][G]
[G][G][G][G][O][O][ ][G][G][G]
O-Spin Single Clear
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][O][O][G][G][G]
[G][G][G][ ][ ][O][O][G][G][G]
[G][G][G][ ][ ][G][G][G][G][G]
State 0
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][O][O][G][G][G]
[G][G][G][ ][ ][D][D][G][G][G]
0R> Rotation (fail)
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][G][G][G]
[G][G][G][ ][O][O][ ][G][G][G]
[G][G][G][ ][O][D][G][G][G][G]
R2> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][G][G][G]
[G][G][G][O][O][ ][ ][G][G][G]
[G][G][G][O][O][G][G][G][G][G]
Wall kick
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][G][G][G]
[G][G][G][O][O][ ][ ][G][G][G]
O-Spin Single Clear
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][O][O][G][G][G][G][G]
[G][G][G][O][O][ ][ ][G][G][G]
[G][G][G][G][G][ ][ ][G][G][G]
State L
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][O][O][ ][ ][G][G][G]
[G][G][G][D][D][ ][ ][G][G][G]
<L2 rotation (fail)
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][ ][O][O][ ][G][G][G]
[G][G][G][G][D][O][ ][G][G][G]
<2R Rotation
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][ ][ ][O][O][G][G][G]
[G][G][G][G][G][O][O][G][G][G]
Wall kick
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][ ][ ][O][O][G][G][G]
O-Spin Single Clear

Practical uses aside, one can have a lot of fun with O-Spins by making some silly setups. Even with such limited wall kicks, you can chain them together!

However, chaining O-Spins is tricky. Trying to do this like you can in some modern stackers won't work as there are no wall kicks that can move the O-piece vertically. Instead, you need to rely on the R and 2 rotation states being one row lower than the other two. This means repeating and following the above setups won't allow you to chain spins together as the rotation will either fail or cause the piece to move back to where it was before the first rotation.

To get around this, you'll need to create a space above subsequent kick setups, allowing you to rotate the piece back into the 0 or L state before performing another wall kick.

[ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G]
[G][O][O][G][ ][ ][G][G]
[G][O][O][ ][ ][ ][G][G]
[G][G][ ][ ][ ][ ][ ][G]
[G][G][G][G][G][ ][ ][G]
State 0
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G]
[G][ ][ ][G][ ][ ][G][G]
[G][ ][O][O][ ][ ][G][G]
[G][G][O][O][ ][ ][ ][G]
[G][G][G][G][G][ ][ ][G]
0R> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G]
[G][ ][ ][G][ ][ ][G][G]
[G][ ][ ][ ][O][O][G][G]
[G][G][ ][ ][O][O][ ][G]
[G][G][G][G][G][ ][ ][G]
Move here
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G]
[G][ ][ ][G][O][O][G][G]
[G][ ][ ][ ][O][O][G][G]
[G][G][ ][ ][ ][ ][ ][G]
[G][G][G][G][G][ ][ ][G]
<R0 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G]
[G][ ][ ][G][ ][ ][G][G]
[G][ ][ ][ ][O][O][G][G]
[G][G][ ][ ][O][O][ ][G]
[G][G][G][G][G][ ][ ][G]
Move Down
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][ ][ ][G][G][G][G][G]
[G][ ][ ][G][ ][ ][G][G]
[G][ ][ ][ ][ ][ ][G][G]
[G][G][ ][ ][ ][O][O][G]
[G][G][G][G][G][O][O][G]
0R> Rotation

With enough chains, something like the setup below should be theoretically possible, allowing one to perform eight O-Spins before clearing an O-Spin Single. I'd love to see a TAS which creates and executes it.

[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][G][G][G][G][G][G][G][G]
[ ][ ][ ][G][G][G][G][G][G][G]
[ ][ ][ ][ ][G][G][G][G][G][G]
[G][G][ ][ ][ ][G][G][G][G][G]
[G][G][ ][ ][ ][ ][G][G][G][G]
[G][G][G][G][ ][ ][ ][G][G][G]
[G][G][G][G][ ][ ][ ][ ][G][G]
[G][G][G][G][G][G][ ][ ][ ][G]
[G][G][G][G][G][G][ ][ ][ ][ ]
[G][G][G][G][G][G][G][G][ ][ ]
[G][G][G][G][G][G][G][ ][ ][ ]
[G][G][G][G][G][G][ ][ ][ ][ ]
[G][G][G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][ ][G][G]
[G][G][G][ ][ ][ ][G][G][G][G]
[G][G][ ][ ][ ][ ][G][G][G][G]
[G][ ][ ][ ][G][G][G][G][G][G]
[ ][ ][ ][ ][G][G][G][G][G][G]
[ ][ ][G][G][G][G][G][G][G][G]
O-Spin Secret Grade

Yeah, my brain is just like that sometimes.

Sega Tetris (1999) and Piece Joining

Ah, the one game in this guide I haven't played yet. For the time being, there isn't much I can say about it. Sorry!

In this game's Battle mode, clearing a double will cause your opponent to join the piece you used for the line clear with their next piece. The attacking piece can then rotate around it. This feature can optionally be enabled in single player, allowing you to join the line clear piece to your next piece.

Special Block Positioning

Some Tetris games feature pieces containing special blocks. If an O-piece contains a special block, it can be rotated to change its position (unless the piece is composed entirely of special blocks).

The Bombliss games (also known as Tetris Blast) have O-pieces which can be made of up to four bomb blocks, so rotation may be beneficial if the piece has between one and three bombs. There are several reasons why you would want to do this:

Tetris Battle Gaiden features a similar mechanic with crystals, though instead of exploding, crystals are used to charge and activate your character's special attacks. Unlike Bombliss, pieces can only have up to one crystal. You may need to rotate an O-piece with a crystal to clear it with a line - it is in your best interest to gather crystals as quickly as possible due to how disruptive special attacks can be.

Audio Cues

To end the non-guideline section, I'd like to look at another fun use for O-piece rotations that will be impractical for most people. However, if you like beating scores in blindfolded categories, this may still be useful for you.

Compared to more recent entries, older Tetris games use very primitive rotation systems. This section will likely apply to any Tetris game with rotation SFX and no wall kicks, but I'll use Nintendo Rotation System (NRS), as seen in NES and Game Boy Tetris, to illustrate audio cues. The rotation SFX and lack of wall kicks in these games can be used while blindfolded to determine what your active piece is, at least to some extent.

The following steps can be applied in NES Tetris:

GB Tetris instead uses a mirrored, "left-handed" version of NRS, but the above still applies if all movements and rotations are mirrored. Beware its 18-height playfield, which will give you less time to determine your piece.

While it's not possible to play indefinitely without exceptional luck, the above steps can theoretically be used to clear a decent amount of lines before topping out.


Chapter 4: Tetris-like Stackers

Outside of the Tetris series is an entire genre inspired by it. As they are not bound by the Tetris Guideline, these stackers can be much more creative with how pieces behave and interact with each other, introducing a variety of new game mechanics that can set them apart from Tetris. Many stackers implement custom rotation systems, introducing unique ways to rotate O-pieces and execute O-spins among whatever new game mechanics they bring to the genre.

Unless otherwise specified, the techniques described for each game are performed with that game's default rotation system. Many community-made stacker games allow the selection of rotation systems from other games, which would permit the use of those games' O-piece rotation techniques. However, describing them in each game that uses them would result in far too much repetition.

This chapter is intended to be a celebration of the Tetris community's creativity! O-piece rotations aside, these are all fantastic games that deserve a lot of love and attention. I have linked each one at the end of its section, so please check them out!

With the exception of the Jstris section and its self-proclaimed meme rotation system, the games in this chapter are listed in alphabetical order.

Aquamino and Stack Manipulation

Aquamino introduces two new mechanics involving O-piece rotations. First is the Aqua Rotation System (AqRS), which includes wall kicks for the O-piece depending on where blocks or walls are adjacent to it. Second is the completely new Push mechanic, allowing you to rotate pieces on the floor or a wall and push your stack to fill holes.

By default, the O-piece does not move or kick on rotation in AqRS. However, depending on its surroundings, a rotation can cause the O-piece to use one of two offset tables:

Each rotation then has different conditions and priorities to decide which offset table to use.

As you will find in many of this chapter's sections, I have created an offset chart for AqRS. The black squares in the state columns represent the prerequisite floor, wall, or ceiling. While both blocks adjacent in the appropriate directions are filled, only one of them is actually necessary to activate the offset table. Also, for the 90-degree "L" table, only the wall in the direction of rotation must be present.

AqRS O-Piece Offset Chart

This offset table allows for some very interesting and versatile kicks. Plus, they're entirely state-agnostic, so you don't need to worry about pre-rotating the O-piece to trigger specific kicks. Due to the table being symmetrical, all of the setups below can be mirrored.

To start with, here are some simple kicks which can be performed on the floor. These kicks can be reversed with the opposite rotation. Note that some of these setups require a high ceiling above the "entrance" to prevent triggering kicks 5 and 6.

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][O][O][G][G][G]
[ ][ ][O][O][ ][G][G]
[G][G][G][ ][ ][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][G][G][G]
[ ][ ][ ][O][O][G][G]
[G][G][G][O][O][G][G]
CW Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][O][O][ ][ ][ ]
[ ][ ][O][O][G][G][G]
[G][G][G][ ][ ][G][G]
[G][G][G][ ][ ][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][G][G][G]
[G][G][G][O][O][G][G]
[G][G][G][O][O][G][G]
CW Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][G][G][G]
[ ][ ][O][O][G][G][G]
[ ][ ][O][O][ ][ ][G]
[G][G][G][G][ ][ ][G]
Setup
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][G][G][G]
[ ][ ][ ][ ][G][G][G]
[ ][ ][ ][ ][O][O][G]
[G][G][G][G][O][O][G]
CW Rotation
[ ][ ][ ][ ][G][G][G]
[ ][ ][O][O][G][G][G]
[ ][ ][O][O][G][G][G]
[G][G][G][G][ ][ ][G]
[G][G][G][G][ ][ ][G]
Setup
[ ][ ][ ][ ][G][G][G]
[ ][ ][ ][ ][G][G][G]
[ ][ ][ ][ ][G][G][G]
[G][G][G][G][O][O][G]
[G][G][G][G][O][O][G]
CW Rotation

Things get more interesting when we incorporate the Levitate table. If none of the above setups succeed, kick 10 will move the O-piece one space upwards. This alone allows you to move the piece over a bumpy stack where it would normally be stuck. However, with the Levitate kicks, you can move the O-piece out of even deeper holes, up to three blocks high!

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][ ][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][ ][ ][G][G][G]
CW Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][O][O][ ][ ]
[ ][ ][ ][ ][O][O][ ][ ]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
CW Rotation

Finally, we have some warps! The wall warp below can be performed both on the floor and in mid-air.

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][ ][ ][ ]
[ ][O][O][G][ ][ ][ ]
[ ][O][O][G][ ][ ][ ]
Setup
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][ ][ ][ ]
[ ][ ][ ][G][O][O][ ]
[ ][ ][ ][G][O][O][ ]
CW Rotation

There are also floor and ceiling warps, which are the only kicks that can be performed with 180 rotations.

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
180 Rotation

Note that ceiling warps require the floor warp to fail, so these are not fully reversible if you chain multiple floor warps together.

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
Setup
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][G][G][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][O][O][G][G][G]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
180 Rotation

Now we can move on to the Push Field mechanic! This allows you to loosen the blocks around you by rotating your active piece while holding a directional movement button. While I'll be describing this in the context of the O-piece here, this actually works with every piece. It also works in any rotation system - it's not exclusive to AqRS. Currently, Push Field is usable in the Sandbox and Levitate modes.

Your active piece has a hidden push counter that increases whenever you perform a rotation with a movement key held down. There are three push modes, and multiple modes can be active at any time. However, your push counter will reset to zero when you release a movement key or press a new one.

If your push counter is 3 or more, the game will loosen blocks on the field depending on the push mode. This is just both of the blocks to the left, right, or below your piece's destination (after applying wall kicks if necessary). When a block is loosened, it will darken. Further rotations after loosening a block will loosen more blocks in that direction. Due to their relative ease of use when pushing, I'll use 180 rotations for most of these descriptions. For example:

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][G][G][G][G]
[ ][O][O][G][G][G][G]
[G][G][G][G][G][G][G]
Hold Right
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][G][G][G]
[ ][O][O][D][G][G][G]
[G][G][G][G][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][D][G][G]
[ ][O][O][D][D][G][G]
[G][G][G][G][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][D][D][G]
[ ][O][O][D][D][D][G]
[G][G][G][G][G][G][G]
180 Rotation

In AqRS specifically, rotating CW or CCW will kick upwards, allowing you to push blocks above you. This can be prevented with an overhang, but it's much easier to use 180 rotations to push the lower blocks if needed.

[ ][ ][ ][G][G][G][G]
[ ][ ][ ][G][G][G][G]
[ ][O][O][G][G][G][G]
[ ][O][O][G][G][G][G]
[G][G][G][G][G][G][G]
Hold Right
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][G][G][G]
[ ][O][O][D][G][G][G]
[ ][ ][ ][G][G][G][G]
[G][G][G][G][G][G][G]
CW Rotation
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][D][G][G]
[ ][O][O][D][D][G][G]
[ ][ ][ ][G][G][G][G]
[G][G][G][G][G][G][G]
CW Rotation
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][D][D][G]
[ ][O][O][D][D][D][G]
[ ][ ][ ][G][G][G][G]
[G][G][G][G][G][G][G]
CW Rotation

If you reach an empty space, one of two things will happen. If this empty space is only one block wide, further blocks after the empty space cannot be loosened in that direction, though the blocks in the other row or column will continue to loosen.

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][G][G][G][G]
[ ][O][O][G][ ][G][G]
[G][G][G][G][G][G][G]
Hold Right
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][G][G][G]
[ ][O][O][D][ ][G][G]
[G][G][G][G][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][D][G][G]
[ ][O][O][D][ ][G][G]
[G][G][G][G][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][D][D][G]
[ ][O][O][D][ ][G][G]
[G][G][G][G][G][G][G]
180 Rotation

If the empty space is two blocks wide, an O-piece will push all loosened blocks in the direction of rotation, plus itself. Due to the space left behind by cleared lines, this is especially useful in Levitate mode!

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][G][ ][G][G]
[ ][O][O][G][ ][G][G]
[G][G][G][G][G][G][G]
Hold Right
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][D][ ][G][G]
[ ][O][O][D][ ][G][G]
[G][G][G][G][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][ ][O][O][D][G][G]
[ ][ ][O][O][D][G][G]
[G][G][G][G][G][G][G]
180 Rotation
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][ ][O][O][D][D][G]
[ ][ ][O][O][D][D][G]
[G][G][G][G][G][G][G]
180 Rotation

When your piece locks, all loosened blocks will fall as per an avalanche, then un-loosen.

There are a couple of quirks with this mechanic that are important to note:

Aquamino by Aqua6623

Ascension's Extensive Wall Kicks

While Ascension (ASC) features highly customisable pieces allowing you to play with any type of polymino that can fit in a 5x5 grid, I'll be describing things based on the default tetromino set. Also, I will use my text convention to distinguish the game (ASC) and its rotation system (ASC).

ASC uses an offset table which defines a massive 21 wall kicks for when basic rotation fails. These kicks can be combined with rotation movement to kick a piece up to three spaces downwards and/or in the opposite direction of rotation. The offset table follows this order:

I said before that ASC's offset table defines 21 kicks. However, only 11 of these are actually applicable to the O-piece, and even then, most rotations don't have access to all of them. This is because of the kicks that only move the piece one space in a particular direction. For any rotation, one of these kicks will move the piece to its original position and therefore always succeed. The last of these is kick 11, hence why anything after this is irrelevant to the O-piece.

Despite these "limitations", there is still huge potential for O-Spins, making this an incredibly fun rotation system for an O-Spin enthusiast like me. Plus, the limitations made the addition of an offset chart for this section feasible! Look at that rotational symmetry!

ASC O-Piece Offset Chart

Here are some setups and common situations with the possible rotations that can execute the desired kick.

These diagonal kicks mostly work due to natural downward movement, with other rotations typically failing this kick either due to basic rotation or a lateral kick away from the wall.

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][O][O][G][G][G]
[ ][ ][O][O][ ][G][G]
[G][G][G][ ][ ][G][G]
0R>, <L2, <2R
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[G][G][G][O][O][ ][ ]
[G][G][ ][O][O][ ][ ]
[G][G][ ][ ][G][G][G]
0R>, R2>, <L2
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][O][O][ ][ ][ ]
[ ][ ][O][O][G][G][G]
[G][G][G][ ][ ][G][G]
[G][G][G][ ][ ][G][G]
0R>, <L2, <2R
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ]
[G][G][G][O][O][ ][ ]
[G][G][ ][ ][G][G][G]
[G][G][ ][ ][G][G][G]
0R>, R2>, <L2

Unlike the previous setups, these only work when rotating in a single direction - away from the O-shaped hole. No wall on the other side of the O-piece is necessary to execute this kick with either rotation.

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][O][O][G][G][G]
[ ][ ][O][O][ ][ ][G]
[G][G][G][G][ ][ ][G]
<L2, <2R
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[G][G][G][O][O][ ][ ]
[G][ ][ ][O][O][ ][ ]
[G][ ][ ][G][G][G][G]
0R>, R2>
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][O][O][ ][ ][ ]
[ ][ ][O][O][G][G][G]
[G][G][G][G][ ][ ][G]
[G][G][G][G][ ][ ][G]
<L2, <2R
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ]
[G][G][G][O][O][ ][ ]
[G][ ][ ][G][G][G][G]
[G][ ][ ][G][G][G][G]
0R>, R2>

Now things get really fun. Combining wall kicks with rotation state movement allows you to warp through a floor on your stack if there's an O-shaped hole underneath. As this isn't reversible due to kick limitations, you can even chain them together by going back to the previous state and repeating the rotation. Also, no walls are required either side of your O-piece for these!

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][ ][ ][G][G][G][G][G]
[G][ ][ ][G][G][G][G][G]
0R>
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][ ][G][G][G][G]
0R>
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
0R>, <L2
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][G][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
<L2
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[ ][ ][ ][O][O][ ][ ][ ]
[G][G][G][G][G][G][G][G]
[G][G][G][G][G][ ][ ][G]
[G][G][G][G][G][ ][ ][G]
<L2

Walls, much like floors, are only a suggestion in ASC. The first two of these kicks (only moving the piece horizontally) are actually reversible, and unlike floor warps they require cycling through four rotations in the same direction to chain together.

[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][ ][ ]
[G][ ][ ][G][O][O][ ]
[G][ ][ ][G][O][O][ ]
R2>
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G][G][G][G]
[ ][O][O][G][ ][ ][G]
[ ][O][O][G][ ][ ][G]
<2R
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][O][O][ ]
[G][ ][ ][G][O][O][ ]
[G][ ][ ][G][G][G][G]
R2>
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ]
[ ][O][O][G][G][G][G]
[ ][O][O][G][ ][ ][G]
[G][G][G][G][ ][ ][G]
<2R
[ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][O][O][ ]
[G][G][G][G][O][O][ ]
[G][ ][ ][G][G][G][G]
[G][ ][ ][G][G][G][G]
R2>
[ ][ ][ ][ ][ ][ ][ ]
[ ][O][O][ ][ ][ ][ ]
[ ][O][O][G][G][G][G]
[G][G][G][G][ ][ ][G]
[G][G][G][G][ ][ ][G]
<2R

ASC by winterNebs

Hakairis [Placeholder]

This game features unlimited vertical warp distance if an O-piece is rotated three times quickly while on the floor, and unlimited horizontal distance when doing this while holding down the appropriate movement key!

Full section coming soon!

Hakairis by 裏HP研究所

Nuketris and Worm Mode

Nuketris primarily uses the SRS-X rotation system first used in Heboris Unofficial Expansion, and later Nullpomino. SRS-X works exactly like SRS when rotating 90 degrees, but it has an extensive 180-degree offset table that defines 11 wall kicks for each rotation (as opposed to the 4 wall kicks for the 90-degree rotations).

Unlike the original SRS-X however, the O-piece rotation states have been modified so it now has four distinct states. The O-piece starts with its rotation centre at the bottom-right block, and will move on rotation. It can then kick using the same offset table as the rest of the pieces, with the exception of the I-piece which uses its own table.

Nuketris also features a unique mode called Worm, which involves navigating an O-piece through an infinite tunnel which ascends at increasing speeds using O-Spins and your knowledge of wall kicks. You must survive for as long as possible without topping out due to your O-piece being pushed above the ceiling.

Needless to say, I love this mode!

As you have probably come to expect by now, here's an O-piece offset chart for Nuketris. The block outlined in black is the rotation centre, while the block highlighted in orange, diagonally opposite the rotation centre, shows how the rotation state is displayed in Worm mode.

Nuketris O-Piece Offset Chart

There are some 90-degree kicks here that move the O-piece back to its original position. These kicks are guaranteed to succeed, so any kicks defined after them are completely inaccessible. 0R>, <R0, 2L>, and <L2 rotations are only useful for changing the rotation state because of this.

In Worm mode, the tunnel is made out of three-column spaces inside a wall of garbage blocks. For each row, the space will move left or right by one column, ensuring there will always be enough space for the O-piece to move. Because of this tunnel generation rule, we can actually rule out a lot of the above wall kicks as being inaccessible in Worm mode (unless you kick the piece above the tunnel at the beginning for some reason). We can rule out kicks for the following reasons:

Below is the same offset chart, but only showing the wall kicks relevant to Worm mode.

Nuketris O-Piece Offset Chart (Worm Mode)

Each state and rotation has use cases that make them useful, though the 0 and R states have more desirable kicks. States can also be divided into pairs, as the 0/R ("upper") and 2/L ("lower") state pairs are effectively interchangeable due to the 90-degree rotations between them that switch states without moving the piece.

Please note that the setups in this section cannot be mirrored as SRS-X is not symmetrical.

State 0 is the safest of the four states due to it not having any upward kicks. In any situation, 0R> can safely switch from state 0 to R without moving the piece. If you're in a straight tunnel and your O-piece is at the bottom of the playfield, I would recommend keeping it in state 0 until the tunnel moves.

Moving to the right can be achieved with both <0L and <02>. However, states 2 and L are generally unsafe states to be in, so it's usually better to switch to state R and use that state's kicks unless you want to take advantage of some stronger kicks mentioned later.

[ ][ ][ ][G][G][G][G][G]
[G][ ][L][O][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
State 0
[ ][ ][ ][G][G][G][G][G]
[G][ ][O][L][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
0R> Rotation
[ ][ ][ ][G][G][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][O][O][G][G][G]
[G][G][G][L][O][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
Alt: <0L
[ ][ ][ ][G][G][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][O][O][G][G][G]
[G][G][G][O][L][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
Alt: <02>

Moving left can only be achieved directly with <02>, and is a much better use case for that rotation due to state 2's single useful left kick (more on this later). Alternatively, switch to state R for its more useful left kicks.

[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][L][O][ ][G]
[G][G][G][ ][O][O][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State 0
[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][ ][ ][ ][G]
[G][G][G][O][O][ ][G][G]
[G][G][ ][O][L][G][G][G]
[G][ ][ ][ ][G][G][G][G]
<02> Rotation

State 0 also has access to a few stronger kicks. First is a kick that moves two down and one to the left, useable in zigzag formations like this. It's good when the destination is followed by a straight tunnel, but if the tunnel goes back to the right, there's a better kick you can use.

[G][G][ ][ ][ ][G][G][G]
[G][G][G][L][O][ ][G][G]
[G][G][ ][O][O][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State 0
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][O][O][G][G][G][G]
[G][G][O][L][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
<02> Rotation

The other two kicks accessible to state 0 are floor warps, accessible via <0L rotation! In the right situation, these are some of the most useful kicks you can perform, with the exception of a certain kick we'll talk about later.

[G][G][ ][ ][ ][G][G][G]
[G][G][G][L][O][ ][G][G]
[G][G][ ][O][O][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
State 0
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][O][O][G][G][G]
[G][G][G][L][O][ ][G][G]
<0L Rotation
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][L][O][G][G][G]
[G][G][G][O][O][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
State 0
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
[G][G][G][ ][O][O][G][G]
[G][G][G][G][L][O][ ][G]
<0L Rotation

Additional notes for state 0:

State R is stronger than state 0, having access to the most powerful downward kick in the game. However, it does have a few upward kicks, so it is slightly riskier to use if you're not fully familiarised with its offset table.

Basic movement is essentially the opposite of state 0. To move right, you'll need to use a R2> rotation. Alternatively, switch to state 0 for its better right kicks - <R0 will always succeed without moving the piece.

[ ][ ][ ][G][G][G][G][G]
[G][ ][O][L][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
State R
[ ][ ][ ][G][G][G][G][G]
[G][ ][L][O][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
<R0 Rotation
[ ][ ][ ][G][G][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][O][O][G][G][G]
[G][G][G][O][L][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
Alt: R2>

Moving left can be achieved with <RL>.

[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][O][L][ ][G]
[G][G][G][ ][O][O][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State R
[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][ ][ ][ ][G]
[G][G][G][O][O][ ][G][G]
[G][G][ ][L][O][G][G][G]
[G][ ][ ][ ][G][G][G][G]
<RL> Rotation

When performing R2> and <RL>, it's important to be wary of upward kicks. They're not quite as dangerous as the ceiling warps possible with the lower states, but nonetheless undesirable.

It's also worth noting that gravity is very high in Worm mode, so kicks that only move the piece upwards will succeed without appearing to move it. This means R2> will succeed in a straight tunnel, putting the piece in the less desirable state 2.

[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][O][L][ ][G]
[G][G][G][ ][O][O][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State R
[G][G][G][G][G][O][O][ ]
[G][G][G][G][ ][O][L][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
R2> Rotation
[ ][ ][ ][G][G][G][G][G]
[G][ ][O][L][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
State R
[ ][O][O][G][G][G][G][G]
[G][L][O][ ][G][G][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
<RL> Rotation
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][O][L][ ][G][G]
[G][G][ ][O][O][G][G][G]
State R
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][O][O][ ][G][G]
[G][G][ ][O][L][G][G][G]
R2> Rotation

Moving on to the stronger downward kicks, <RL> can access a mirrored version of one of the <0L floor warps, allowing it to move one space to the left.

[G][G][ ][ ][ ][G][G][G]
[G][G][G][O][L][ ][G][G]
[G][G][ ][O][O][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State R
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][O][O][ ][G][G][G]
[G][ ][L][O][G][G][G][G]
<RL> Rotation

Finally, we get to the strongest kick, combining a -3 Y offset with natural downward movement. This results in a massive 4-row downward kick (plus one to the left). I like to call this one the Ultra Floor Warp. However, note that state L is not very good at moving left, so you will likely need to switch to a more usable state afterwards (<L2 is very safe for this). Also make sure there is no space up and to the left, otherwise an upward kick will be prioritised!

[G][G][G][ ][ ][ ][G][G]
[G][G][ ][O][L][G][G][G]
[G][G][G][O][O][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State R
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][O][O][ ][G][G][G]
[G][ ][L][O][G][G][G][G]
<RL> Rotation

Additional notes for state R:

Onward to state 2. Unfortunately, this is one of the less desirable states to be in - most of its kicks move the piece upwards. You'll want to switch to one of the upper states as quickly and efficiently as possible.

I would not recommend doing anything with this state outside of the use cases shown below - you'll either want to switch to state L or R depending on which direction you're moving. Anything else will either fail or move upwards.

[ ][ ][ ][G][G][G][G][G]
[G][ ][O][O][G][G][G][G]
[G][G][O][L][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
State 2
[ ][ ][ ][G][G][G][G][G]
[G][ ][O][O][G][G][G][G]
[G][G][L][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
2L> Rotation
[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][O][O][ ][G]
[G][G][G][ ][O][L][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State 2
[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][ ][ ][ ][G]
[G][G][G][O][L][ ][G][G]
[G][G][ ][O][O][G][G][G]
[G][ ][ ][ ][G][G][G][G]
<2R Rotation

There's also a single use case for <20> which it shares with <2R - use it in a straight tunnel to switch to an upper state for free.

[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][O][O][ ][G][G]
[G][G][ ][O][L][G][G][G]
State 2
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][O][L][ ][G][G]
[G][G][ ][O][O][G][G][G]
<2R Rotation
[G][G][ ][ ][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][G][G][L][O][ ][G][G]
[G][G][ ][O][O][G][G][G]
Alt: <20>

Finally, we have state L. Much like state 2, its uses are very limited and your main goal is to switch to one of the upper states. Again, I would not recommend doing anything outside of the setups listed below.

<LR> can be used to move to the right. It's defined before the ceiling warps, so it's safe in this scenario. Alternatively, <L2 can be used to safely switch states.

[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][O][O][ ][G]
[G][G][G][ ][L][O][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
State L
[G][G][G][G][G][ ][ ][ ]
[G][G][G][G][O][O][ ][G]
[G][G][G][ ][O][L][G][G]
[G][G][ ][ ][ ][G][G][G]
[G][ ][ ][ ][G][G][G][G]
<L2 Rotation
[ ][ ][ ][G][G][G][G][G]
[G][ ][O][O][G][G][G][G]
[G][G][L][O][ ][G][G][G]
[G][G][G][ ][ ][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
State L
[ ][ ][ ][G][G][G][G][G]
[G][ ][ ][ ][G][G][G][G]
[G][G][ ][O][L][G][G][G]
[G][G][G][O][O][ ][G][G]
[G][G][G][G][ ][ ][ ][G]
<LR> Rotation

Additionally, <LR> and L0> can be used to switch to upper states in straight tunnels, much like <20>.

Nuketris by nukeexplosions

Polyform [Placeholder]

This game has an option to enable O-Spins, as well as an achievement for performing one! This was the first thing I did, and I didn't even know the achievement existed!

Full section coming soon!

Polyform by Axel Fox

Spirit Drop and Re-Hold

Unlike most of the other games in this chapter, Spirit Drop's rotation system does not implement any wall kicks on rotation with the O-piece. However, it does register O-Spins if an O-piece is rotated while immobile. To help you put O-pieces in such situations, the game implements a "Re-Hold" mechanic, allowing you to use Hold an unlimited number of times until your piece locks.

Your first hold for a piece works the same as any other stacker, but subsequent holds are Re-Holds, which work differently:

The location of your piece, for the purpose of Re-Hold, is its rotation centre. For most pieces, if there isn't enough room for your hold piece's 0 state, Re-Hold will fail much like a failed rotation. An exception to this is the O-piece, which has some basic kicks when Re-Hold is used. As a result, you can Re-Hold an O-piece into an O-shaped hole by kicking the rotation centre of any other piece into it. Rotating after this Re-Hold will then register an O-Spin!

Below is a list of setups which can be used to perform O-Spins with Re-Hold. Note that all of these assume at least one Hold has already been performed with the active piece.

When using an I-piece to Re-Hold an O-piece, the centre of the I-piece must not be on the border of the O-shaped hole, as the O-piece kicks can only move its rotation centre up to half a space in each direction. This can easily be fixed with a 180-degree rotation. All I-piece setups can be mirrored.

[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][Gm][G ][G ][G ]
[G ][G ][G ][ ][Gm][G ][G ][G ]
[G ][G ][G ][ ][Gm][G ][G ][G ]
[G ][G ][G ][G ][Gm][G ][G ][G ]
State R
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][G ][I ][I ][G ][G ][G ]
[G ][G ][G ][I ][I ][G ][G ][G ]
[G ][G ][G ][G ][ ][G ][G ][G ]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][G ][G ][ ][G ][G ][G ]
O-Spin Double

These O-Spin Single setups leave behind undesirable board states, so they should only be used for novelty purposes.

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][Gm][ ][ ][ ]
[G ][G ][G ][G ][Gm][G ][G ][G ]
[G ][G ][G ][ ][Gm][G ][G ][G ]
[G ][G ][ ][ ][Gm][ ][G ][G ]
State R (Alt: L)
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][G ][ ][ ][G ][G ][G ]
[G ][G ][Gm][Gm][Gm][Gm][G ][G ]
R2> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][G ][ ][ ][G ][G ][G ]
[G ][G ][Gm][Gm][Gm][Gm][G ][G ]
Alt: <L2
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][G ][I ][I ][G ][G ][G ]
[G ][G ][ ][I ][I ][ ][G ][G ]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][ ][I ][I ][ ][G ][G ]
O-Spin Single

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][Gm][ ][ ][ ]
[G ][G ][G ][G ][Gm][G ][G ][G ]
[G ][G ][ ][ ][Gm][ ][G ][G ]
[G ][G ][G ][ ][Gm][G ][G ][G ]
State R (Alt: L)
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][Gm][Gm][Gm][Gm][G ][G ]
[G ][G ][G ][ ][ ][G ][G ][G ]
R2> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][Gm][Gm][Gm][Gm][G ][G ]
[G ][G ][G ][ ][ ][G ][G ][G ]
Alt: <L2
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][Gm][Gm][Gm][Gm][G ][G ]
[G ][G ][G ][ ][ ][G ][G ][G ]
<20> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][ ][I ][I ][ ][G ][G ]
[G ][G ][G ][I ][I ][G ][G ][G ]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G ][G ][G ][G ][ ][G ][G ][G ]
[G ][G ][ ][I ][I ][ ][G ][G ]
O-Spin Single

J and L pieces are strange - the way they interact with the O-piece and Re-Hold is not mirrored. A setup that works with one of these pieces may not necessarily work with the other.

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][J][J][ ][ ][ ]
[G][G][G][J][G][G][G][G]
[G][G][G][J][ ][ ][G][G]
[G][G][G][ ][ ][G][G][G]
State R
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][J][G][G][G][G]
[G][G][G][J][J][J][G][G]
[G][G][G][ ][ ][G][G][G]
<R0 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][G][G][G][G]
[G][G][G][I][I][ ][G][G]
[G][G][G][I][I][G][G][G]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][G][G][G][G]
[G][G][G][I][I][ ][G][G]
O-Spin Single

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][T][T][ ][ ][ ]
[G][G][G][G][T][G][G][G]
[G][G][ ][ ][T][G][G][G]
[G][G][G][ ][ ][G][G][G]
State L
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][T][G][G][G]
[G][G][T][T][T][G][G][G]
[G][G][G][ ][ ][G][G][G]
L0> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][G][G][G]
[G][G][ ][I][I][G][G][G]
[G][G][G][I][I][G][G][G]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][G][G][G]
[G][G][ ][I][I][G][G][G]
O-Spin Single

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][J][J][ ][ ][ ]
[G][G][G][J][G][G][G][G]
[G][G][G][J][ ][ ][G][G]
[G][G][G][G][ ][ ][G][G]
State R
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][J][G][G][G][G]
[G][G][G][J][J][J][G][G]
[G][G][G][G][ ][ ][G][G]
<R0 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][G][G][G][G]
[G][G][G][J][J][J][G][G]
[G][G][G][G][ ][J][G][G]
Alt: R2>
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][G][G][G][G]
[G][G][G][ ][I][I][G][G]
[G][G][G][G][I][I][G][G]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][ ][G][G][G][G]
[G][G][G][ ][I][I][G][G]
O-Spin Single

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][T][T][ ][ ][ ]
[G][G][G][G][T][G][G][G]
[G][G][ ][ ][T][G][G][G]
[G][G][ ][ ][G][G][G][G]
State L
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][T][G][G][G]
[G][G][T][T][T][G][G][G]
[G][G][ ][ ][G][G][G][G]
L0> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][G][G][G]
[G][G][T][T][T][G][G][G]
[G][G][T][ ][G][G][G][G]
Alt: <L2
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][G][G][G]
[G][G][I][I][ ][G][G][G]
[G][G][I][I][G][G][G][G]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][G][G][G]
[G][G][I][I][ ][G][G][G]
O-Spin Single

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][J][J][ ][ ][ ][ ]
[G][G][J][ ][G][G][G][G]
[G][G][J][ ][ ][G][G][G]
[G][G][G][ ][ ][G][G][G]
State R
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][J][ ][G][G][G][G]
[G][G][J][J][J][G][G][G]
[G][G][G][ ][ ][G][G][G]
<R0 Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][J][J][J][G][G][G]
[G][G][G][ ][J][G][G][G]
Alt: R2>
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][I][I][G][G][G]
[G][G][G][I][I][G][G][G]
Re-Hold
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][ ][ ][G][G][G][G]
[G][G][ ][I][I][G][G][G]
O-Spin Single

The mirrored version of this with the L-piece does not work for O-Spins! I don't actually know the full offset table yet, but based on my observations I believe it starts with an upper right kick, then tests the other three corners in clockwise order.

[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][T][T][ ][ ]
[G][G][G][G][ ][T][G][G]
[G][G][G][ ][ ][T][G][G]
[G][G][G][ ][ ][G][G][G]
State L
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][T][G][G]
[G][G][G][T][T][T][G][G]
[G][G][G][ ][ ][G][G][G]
L0> Rotation
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][ ][G][G]
[G][G][G][T][T][T][G][G]
[G][G][G][T][ ][G][G][G]
Alt: <L2
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][I][I][G][G]
[G][G][G][ ][I][I][G][G]
[G][G][G][ ][ ][G][G][G]
Re-Hold

TODO: Add the rest of the Re-Hold O-Spin setups

Spirit Drop by Aaron Griffin

Techmino's Transformative O-Spins

Techmino Rotation System (TRS) functions mostly like SRS, but with several changed/added wall kicks and new mechanics. One of these mechanics is how O-pieces behave when you perform very specific rotation sequences in certain situations - it transforms into other pieces and can be used to execute spins which the game registers as O-Spins.

Transformative O-Spins can be performed by moving an O-piece somewhere you would normally perform a spin with a different piece, then performing the relevant rotation sequence from the list below. Note that F is short for "Flip" and refers to the game's 180-degree rotation button.

Specifically, this performs an "immovable" check on the O-piece (can the O-piece move down, left, or right) and the piece it is transforming into (can the new piece move in any direction). An exception to this is the I-piece, which only checks whether it is vertically immovable. If both of the checks see that the piece cannot move after the rotation sequence is entered, the piece will transform.

Interestingly, the T transformations are defined slightly differently for LLL and RRR - the "T-Spin Mini" transformations only work when rotating in a specific direction. This is also true for the J and L pieces, whose different spin sequences have completely different use cases. As a general rule, the final rotation in the sequence is the rotation you would normally perform with the piece being transformed into.

Each sequence for the S and Z pieces can access the same three transformations for each piece. If the O-piece is in a situation where it can transform into both, LRL will prioritise the Z transformation and RLR will prioritise the S transformation.

Once an O-piece is transformed, it will rotate and kick exactly like the piece it transformed into. You can also hold it and use it later.

After figuring out the code and testing each offset in the O-Spin offset table, these are all of the setups permitted by it in the order they are defined. Blocks coloured like the other pieces are for illustration purposes only - they show where the O-piece will kick to.

[ ][ ][ ][ ][ ][ ]
[ ][O ][O ][G ][G ][G ]
[G ][Om][Om][Tm][G ][G ]
[G ][G ][Tm][G ][G ][G ]
RRR > T
[ ][ ][ ][ ][ ][ ]
[G ][G ][O ][O ][ ][ ]
[G ][Tm][Om][Om][G ][G ]
[G ][G ][Tm][G ][G ][G ]
RRR > T
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][Om][O ][ ][ ]
[G ][Tm][Om][Om][G ][G ]
RRR > T
[ ][ ][ ][ ][ ][ ]
[G ][G ][O ][O ][ ][ ]
[G ][Tm][Om][Om][G ][G ]
[G ][G ][Tm][G ][G ][G ]
LLL > T
[ ][ ][ ][ ][ ][ ]
[ ][O ][O ][G ][G ][G ]
[G ][Om][Om][Tm][G ][G ]
[G ][G ][Tm][G ][G ][G ]
LLL > T
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[ ][O ][Om][G ][G ][G ]
[G ][Om][Om][Tm][G ][G ]
LLL > T
[ ][ ][ ][ ][ ][ ]
[G ][G ][ ][ ][ ][ ]
[G ][Zm][Om][O ][G ][G ]
[G ][G ][Om][Om][G ][G ]
LRL > Z
[ ][ ][ ][ ][ ][ ]
[ ][O ][O ][ ][ ][ ]
[G ][Om][Om][G ][G ][G ]
[G ][G ][Zm][Zm][G ][G ]
LRL > Z
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][Om][Om][G ][G ]
[G ][G ][O ][Om][Zm][G ]
LRL > Z
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][G ][G ]
[G ][G ][O ][Om][Sm][G ]
[G ][G ][Om][Om][G ][G ]
RLR > S
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O ][O ][ ]
[G ][G ][G ][Om][Om][G ]
[G ][G ][Sm][Sm][G ][G ]
RLR > S
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][Om][Om][G ][G ]
[G ][Sm][Om][O ][G ][G ]
RLR > S
[ ][ ][ ][ ][ ][ ]
[G ][G ][ ][ ][ ][ ]
[G ][Zm][Om][O ][G ][G ]
[G ][G ][Om][Om][G ][G ]
RLR > Z
[ ][ ][ ][ ][ ][ ]
[ ][O ][O ][ ][ ][ ]
[G ][Om][Om][G ][G ][G ]
[G ][G ][Zm][Zm][G ][G ]
RLR > Z
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][Om][Om][G ][G ]
[G ][G ][O ][Om][Zm][G ]
RLR > Z
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][G ][G ]
[G ][G ][O ][Om][Sm][G ]
[G ][G ][Om][Om][G ][G ]
LRL > S
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][O ][O ][ ]
[G ][G ][G ][Om][Om][G ]
[G ][G ][Sm][Sm][G ][G ]
LRL > S
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][Om][Om][G ][G ]
[G ][Sm][Om][O ][G ][G ]
LRL > S
[ ][ ][ ][ ][ ][ ]
[ ][O ][O ][G ][G ][G ]
[G ][Om][Om][Jm][G ][G ]
[G ][G ][G ][Jm][G ][G ]
LLR > J
[ ][ ][ ][ ][ ][ ]
[G ][G ][O ][O ][ ][ ]
[G ][Lm][Om][Om][G ][G ]
[G ][Lm][G ][G ][G ][G ]
RRL > L
[ ][ ][ ][ ][ ][ ]
[G ][G ][O ][O ][ ][ ]
[G ][Jm][Om][Om][G ][G ]
[G ][G ][G ][Jm][G ][G ]
RRL > J
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[ ][ ][Om][O ][G ][G ]
[G ][G ][Om][Om][Jm][G ]
RRL > J
[ ][ ][ ][ ][ ][ ]
[ ][ ][O ][O ][G ][G ]
[G ][G ][Om][Om][Lm][G ]
[G ][G ][Lm][G ][G ][G ]
LLR > L
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][O ][Om][ ][ ]
[G ][Lm][Om][Om][G ][G ]
LLR > L
[ ][ ][ ][ ][ ][ ]
[G ][G ][ ][ ][G ][G ]
[G ][Im][Om][Om][Im][G ]
[G ][G ][O ][O ][G ][G ]
FFF > I
[ ][ ][ ][ ][ ][ ]
[G ][G ][G ][ ][ ][ ]
[G ][Im][Im][Om][Om][G ]
[G ][G ][G ][O ][O ][G ]
FFF > I
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][G ][G ][G ]
[G ][Om][Om][Im][Im][G ]
[G ][O ][O ][G ][G ][G ]
FFF > I
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][O ][O ][G ][G ]
[G ][Im][Om][Om][Im][G ]
FFF > I
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[G ][G ][G ][O ][O ][ ]
[G ][Im][Im][Om][Om][G ]
FFF > I
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[ ][O ][O ][G ][G ][G ]
[G ][Om][Om][Im][Im][G ]
FFF > I

Fun Fact: Because the "T-Spin Mini" spins don't require a two-high wall opposite the overhang, the O-piece is actually slightly better at T-Spin Triples in this scenario than the actual T-piece. However, the T-piece can be used when there is no wall here while the O-piece cannot. This is also true of J and L-Spin Triples!

There are also some translational O-Spins, triggered by different rotation sequences. These do not appear to transform the O-piece, though from what I can see they do technically transform the O-piece into itself. If it does though, it's a distinction without a difference.

[ ][ ][ ][ ][ ][ ]
[G ][O ][O ][G ][G ][G ]
[G ][O ][O ][ ][G ][G ]
[G ][G ][ ][ ][G ][G ]
RFR
[ ][ ][ ][ ][ ][ ]
[G ][O ][O ][G ][G ][G ]
[G ][O ][O ][ ][ ][G ]
[G ][G ][G ][ ][ ][G ]
RRF
[ ][O ][O ][ ][ ][ ]
[G ][O ][O ][G ][G ][G ]
[G ][G ][ ][ ][G ][G ]
[G ][G ][ ][ ][G ][G ]
RFF
[ ][ ][ ][ ][ ][ ]
[G ][G ][O ][O ][G ][G ]
[G ][ ][O ][O ][G ][G ]
[G ][ ][ ][G ][G ][G ]
LFL
[ ][ ][ ][ ][ ][ ]
[G ][G ][G ][O ][O ][G ]
[G ][ ][ ][O ][O ][G ]
[G ][ ][ ][G ][G ][G ]
LLF
[ ][ ][O ][O ][ ][ ]
[G ][G ][O ][O ][G ][G ]
[G ][ ][ ][G ][G ][G ]
[G ][ ][ ][G ][G ][G ]
LFF

A lot of fun spin setups are even more fun with O-Spins! I love this game!

Techmino by 26F Studio

TETR.IO's All-Spin

While TETR.IO does implement O-Spin recognition, O-piece rotations don't really have any practical use (aside from the previously mentioned stalling techniques) with the game's default rotation system, SRS+. However, there are a few fun things you can do with them.

TETR.IO offers several options for spin recognition, such as:

Of course, setting the allowed spins to "Stupid" will allow you to O-Spin with every O-piece, but it's clear that this is just a novelty feature and it makes it feel a bit too easy.

Singleplayer modes use T-Spins by default (though this can be changed in Custom Games), while the new multiplayer mode Zenith Tower and Season 2 of Tetra League use All-Mini by default. In Zenith Tower specifically, activating The Magician will enable full All-Spin at the cost of punishing duplicate consecutive line clears.

O-Spins can still be executed when allowed spins is set to All-Spin or All-Mini, though it's still very impractical. This was probably intended for use with the game's other rotation system options, but it can actually be executed in SRS+, too. If an O-shaped hole is pushed up to the exact location where the O-piece spawns, rotating the piece there will register as an O-Spin. Note that the O-piece will spawn on rows 22 and 23.

Normally, because the O-shaped hole requires blocks to be placed above it, performing an O-Spin by pushing the hole up with garbage lines will cause the top of the hole to overlap with your next piece and top you out. However, the hole does not need to be completely surrounded; the O-piece only needs to be immobile to register an O-Spin on rotation. Because of this, there is a specific setup which will allow you to survive and downstack by putting an S-shaped hole on top of the O-shaped hole:

[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][ ][G][G][G][G]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][G][O][O][G][G][G][G]
[G][G][G][G][O][O][G][G][G][G]
[G][G][G][G][G][G][G][G][G][ ]
Spawn O and rotate
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][ ][ ][G][G][G][G]
[G][G][G][ ][ ][G][G][G][G][G]
[G][G][G][G][G][G][G][G][G][ ]
O-Spin Double
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[G][G][G][G][S][S][G][G][G][G]
[G][G][G][S][S][G][G][G][G][G]
[G][G][G][G][G][G][G][G][G][ ]
Spawn S

With the release of the new Zenith Tower mode, I noticed there's a random condition in Duo Mode requiring you to clear a Double with an O-piece to revive your partner if they're dead. Naturally, this has me wondering: Does performing a O-Spin Double with the above method satisfy this condition, revive your partner, and save your run even if it's sacrificial?

TETR.IO by osk

Tetrs and Ocular Rotation

Tetrs implements a unique rotation system called Ocular Rotation System (Ocular), which has some unusual but intuitive wall kicks. This includes some basic kicks for the O-piece - while very simple and don't allow warp kicks, their mechanics are different from other stackers in several interesting and fun ways.

In Ocular, the O-piece only has one rotation state. However, basic rotation moves the piece one space in the direction of rotation, and this can be repeated until it reaches a wall. If basic rotation is blocked, there are three wall kicks: two which move the O-piece vertically, with the downward kick being prioritised, then a final kick to move the piece back to its original position and prevent the rotation from failing. Of course, I made a chart for it:

Ocular Rotation System O-Piece Offset Chart

In addition to the rotation system, Tetrs implements a variation of move-reset lock delay. Instead of the reset limit typically seen in guideline Tetris games, there is a hard time limit which decreases while the active piece is on the floor. Once this is zero, the piece will lock instantly. The maximum ground time is customisable in the Settings menu, with the default value being 2.25 seconds.

There is an option to bind a key to 180-degree rotation. These rotations do not move or kick the O-piece, and therefore can be used to stall while keeping it in place.

Tetrs by Strophox

Jstris and O-Spin Memes

This one is very silly, even being described by the game's guide as a "meme rotation system". Fortunately, I'm a very silly person who considers it to be in the scope of this guide.

Jstris features a config option called "Blocks" which defines the piece set and rotation system. One of these options is "O-Spin", which has two distinct features. First, it vastly broadens the offset table so that each piece can utilise 16 wall kicks instead of the 4 possible in SRS (the default in Jstris). Second, it permits two absolutely ridiculous O-Spins.

The first O-Spin (an O-Spin Triple) is performed by creating a T-Spin Triple setup where the T is "pointing" to the right. When the O-piece is placed next to the overhang, a CW rotation will transform it into an L-piece. A second CW rotation will transform it into a T-piece and fill the T-shaped hole, though this is still an "O-Spin" in a similar vein to Techmino's transformations.

The second O-Spin (an O-Spin Quadruple) is performed by creating a 4x4 space with a 2x2 space touching its top-left or top-right corner. Placing an O-piece in the 2x2 space and performing a CCW rotation (regardless of which direction the larger space is) will transform it into a 4x4 O-piece and kick it to the larger space. Following this, a CW rotation will revert it to its original 2x2 form, and this can be repeated if there are other 4x4 spaces to kick into.

Jstris by jezevec10


Chapter 5: Closing Thoughts

With that, I hope I was able to teach you how O-piece rotations can be useful or otherwise fun, and that I have helped you learn to love them for what they can do. The stacker genre is far more complex than most players give it credit for and I love to see even the most obscure minutiae about these games being shared.

Working on this project actually got me into researching Tetris games and their mechanics. Even though I had only set out to learn everything I can about O-piece rotations, I found myself learning about games I didn't know existed, and finding out previously undocumented information about a variety of Tetris games, related to this guide or otherwise. In some cases, I even tried some reverse engineering to see how these games actually work, with varying degrees of success. I look forward to seeing how much deeper this rabbit hole is in the future.

Thank you to everyone whose work I have linked in this guide! Every guide and demonstration from the Tetris community and the communities of each stacker game has been incredibly useful to me, and every stacker game featured in Chapter 4 has provided many hours of enjoyment and wonder.

I'd also like to thank everyone who has taken the time to read my guide, and especially those of you who have helped me improve it! If you love to rotate the O-piece, you should know that you're really cool!

Feedback

I welcome feedback and constructive criticism, as I'd like to make this guide as comprehensive and accurate as possible. In particular, I'm interested to know:

Unsolved Problems

In some sections, I presented questions I don't know the answer to. I figured it would be a good idea to put them all in one place here:

Stacker Profiles

Here are some links to my profiles for various stacker games, listed in alphabetical order. This includes some games not featured in this guide.

Contact

If you'd like to discuss this guide with me, you can message me on Discord (my username is "dunspixel", unsurprisingly). Alternatively, you can add me in one of the above stackers (if it has a friend/message feature) and message me there. I'm generally most active in TETR.IO out of those.

I'd be happy to talk about O-piece rotations, O-Spins, and wacky Tetris mechanics in general. However, please be aware that I'm very shy and socially awkward. I'll do my best to be nice.

For technical and/or factual problems, please raise an issue on the GitHub repo. There's a link to the repo at the bottom of the page.


Random Ramblings

This isn't really part of the guide, but I like rambling. Maybe you'll find some of it interesting.

Tetris Effect is not a rhythm game. Rather, you are a rhythm game which Tetris Effect plays perfectly. Tetris Effect has exactly one rhythm-based game mechanic and it requires you to be dead in Connected mode to utilise it.

"Tetris Attack" is not a Tetris game. It's not even a stacker game. It's a Panel de Pon game that was renamed for marketing purposes. I will refer to this game as Yoshi no Panepon and you cannot convince me to do otherwise. With that said, I do think it's a really good game.

On the topic of match-3 games, I grew up during a time when they were actually good. I wish the genre never got killed by a certain game released in 2012. If you ever look at a match-3 game and think "oh, it's just another match-3, I hate these games", I completely understand why. However, I highly recommend playing a game from the original Bejeweled trilogy (especially 3), its good spin-offs (Twist or the desktop version of Blitz), or any Panel de Pon/Puzzle League game. There are also some fan games made by the Bejeweled community, though I haven't got round to playing them yet. The match-3 genre is actually really fun!

My main in Puyo Puyo (and the PPT games) is Draco, who seems to be a popular choice in this part of the community for some reason. Perhaps slightly less predictably, my second favourite character is Ally, who I share my actual name with. Unfortunately, I'm shockingly bad at Puyo.

My mind is blown by the fact Tetris 64's rotation system exists and it's shocking to me how so few people know about it. With techniques only seen in Tetris-like stacker games to this day, Tetris 64 was years ahead of its time. Tetris Stardust is even more mind-blowing, but its obscurity is much less surprising. I wish the O-Spins and Spin Rank mechanics from Tetris Stardust could return in a new Tetris game.

What's your favourite O-piece rotation? Mine's the O-Fin from Techmino! You can perform this by transforming an O-piece into a T-piece, then clearing a Fin TSD with it. It registers as an O-Spin Double!

I'd love to see or even create a rotation system where you can fin every piece.

What if there was a stacker that lets you pick a rotation system loadout and swap them out on the fly while playing? I can see a mechanic like that adding a great deal of depth.

I often wonder, how many mainline Tetris games are there, and which ones count as mainline?

I'm not the only one who noticed this niche of weird and obscure mechanics in the Tetris community has a disproportionately large number of trans people, right? As a trans person myself, I wonder what it is that draws us to them.

This guide is the most autistic thing I've ever written. I have been studying O-piece rotations for several months, with the bulk of this guide taking about 3-4 months to write. May this hyperfixation continue to bring me dopamine.

I like purple a normal amount, as I'm sure you can tell. It's much like my love for rotating O-pieces, which is also perfectly normal.

square spinny like skirt

If you ever think you're useless, know that there's a huge guide about how to rotate the square in Tetris. No matter what you may think about yourself, you are good for something even if you don't know it yet. I hope you can find it one day.

No O-Spins for transphobes. Transphobes are exempt from the above sentiment and are in fact just useless.

If you just scrolled all the way to the bottom, you're reading the Random Ramblings section! The actual guide is structured better than this!

Trans rights are human rights! Here are some flags I made with my playfield code and a few extra classes! (I'm all of these btw)

[I]
[P]
[ ]
[P]
[I]
[O]
[ ]
[T]
[D]
[G ]
[Gm]
[P ]
[ ]
[P ]
[Gm]
[G ]
[D]
[G]
[ ]
[T]
[V ]
[Sm]
[ ]
[G ]
[D ]