How Do Wall Kicks Work In Tetris Friends

tetristetris-battle

I am trying to program a Tetris clone based very closely off of Tetris Friends 2 Player Battle mode.

Is anyone very familiar with how wall kicks work in this game? Or know where to find reference material on the subject?

I have read up on SRS and DTET, but unless I am mistaken neither of them perfectly describes how wall kicks work in Tetris Friends (rotation matches SRS identically when not considering wall kicks).

One particular behavior that has been confusing me is how Tetris Friends handles situations where either a kick upwards or to the side might be appropriate. Tetris Friends behaves like this with the line piece in this case:

 Before          After
........        ........
........        ..X.....
..XXXX..        ..X.....
....0...  --->  ..X.0...
...00...        ..X00...
...00...        ...00...

When I would have expected one of the following:

Kick Left      Kick Right
...X....        .....X..
...X....        .....X..
...X....        .....X..
...X0...  --->  ....0X..
...00...        ...00...
...00...        ...00...

Can anyone explain this behavior? Even if Tetris Friends has a strange and unique wall kick system, I'd still like to match it as closely as I can. Is anyone familiar with it?

Best Answer

With SRS, all pieces follow the same kick table except for the I-piece.

What you describe happening is exactly how SRS is supposed to work. In either case, rotating left or right will have the same effect here. Going from the original state (state North) and rotating right will first try no kicks. The piece overlaps and tries the next kick offset, -2, 0, which shifts the piece left two columns.

If you try to rotate left, the natural rotation is tried, fails, and the next kick, -1, 0, is tried and works, the piece moves left once. Because the natural left rotation moves the piece left already, it ends up in the same position as a right rotation.

This while not important to your question does bring up a left bias in the I-piece rotation, that isn't seen with the other pieces.

The reason these rotations were chosen is kind of a side effect of how SRS works. With SRS, all rotations are reversible. This means when you rotate and a piece kicks, you can always rotate the other direction to get yourself out. These kicks are just meant for the piece to be able to rotate off of a wall, but the side effect is the reverse (what your example is) has a weird behavior.