DTET Rotation System: Difference between revisions

From TetrisWiki
Jump to navigation Jump to search
*>DIGITAL
No edit summary
No edit summary
(22 intermediate revisions by 12 users not shown)
Line 1: Line 1:
The '''DTET Rotation System''' is the [[rotation system]] used in the fan game [[DTET]]. Although sometimes referred to by the abbreviation D.R.S., both the abbreviation and expanded form are informal names. The system was not given a specific name by Mihys, the author of the game.
The '''''DTET'' Rotation System''', as the name implies, is the [[rotation system]] used in ''[[DTET]]'', a [[fan game]] based on the [[TGM series|''TGM'' series]]. Although sometimes referred to by the abbreviation D.R.S., both the abbreviation and expanded form are informal names. The system was not given a specific name by Mihys, the author of the game.


[[Image:Dtet-pieces.png]]
==Basic Rotation==
''DTET''<nowiki>'</nowiki>s basic rotations are strongly reminiscent of the [[Arika Rotation System|ARS]] and [[Sega Rotation|Sega]] rotation systems, but with two differences:
* ''S'', ''Z'' and ''I'' pieces have four rotation states instead of two. However, the two horizontal states are identical.
* The horizontal orientation of the ''I'' tetromino is shifted 1 cell down.
Pieces spawn horizontally in the center, (left of center for the odd width pieces) with their topmost solid block in row 20. The ''J'', ''L'' and ''T'' spawn pointing downwards.
[[Image:Dtet-pieces.png|left|frame|DTET's basic rotations]]
<br clear="all">


This is how they appear to rotate in free space. What I suspect is actually happening, is that the pieces are rotating through 4 unique positions, like in [[SRS]], but always prefer to be touching the bottom of their bounding box, like in [[TGM rotation]].
==Button Processing==
''DTET'' only features two rotation buttons, each with a different direction which are not duplicated. Normally, the right rotation button rotates counter-clockwise, and the left rotation button rotates clockwise. However, due to its sophisticated button processing routine, ''DTET'' still manages to retain the facility for rapid double rotations without having to double-tap with a single finger. The button processing routine also enables other innovative features, namely: instantaneous 180&deg; Flips, Rotation Reversal, and Failure Compensation, as well as allowing for [[IRS]]-like behavior.


Pieces spawn in the center, (left of center for the odd width pieces) with their topmost solid block in row 20.
For as long as a button is pressed (held down), the game will continually attempt to process it, every frame, until it succeeds in producing a rotation. Once a pressed button has produced a rotation, it must be released before it can produce any further rotations. Therefore, if a rotation fails due to an obstacle, but the rotate button is held down whilst the piece is moved away from the obstacle, the rotation will occur on the first frame on which it is possible. This has been called "Failure Compensation". Also, if a rotation is attempted during [[ARE]] and the rotate button held down until spawn, the rotation will occur on the first frame after spawn, if it is possible to do so, thereby creating an IRS-like rotation.  


Forum user B.G. posted a loose translation of how it works in the forum:
If after producing a rotation, a rotate button is not released, it will cause all rotations produced by the other rotate button to be reversed in sense, i.e. "Rotate Left" will produce a clockwise rotation and "Rotate Right" will produce a counter-clockwise rotation. This has been called "Rotation Reversal", and effectively allows the player to produce two successive rotations in the same sense. For example, to replicate the A, C double counter-clockwise rotation possible in the ''TGM'' series, the player would press and hold "Rotate Left", then whilst still held, press "Rotate Right".


* A case of anticlockwise
If both buttons are pressed, and both are yet to produce a rotation, the game will continually attempt to process ''both'' buttons, ''every'' frame, potentially producing what looks like an instantaneous 180&deg; rotation. This situation can arise if the buttons are pressed simultaneously, or if one or both buttons were pressed at an earlier frame but could not effect a rotation at that time due to some obstacle, and therefore Failure Compensation was applied. Regardless of which button was actually pressed first, ''DTET'' will attempt the processing order of "Rotate Left" followed by "Rotate Right" first, and "Rotate Right" followed by "Rotate Left" second. Note that if the first rotation is successfully processed, it will cause the subsequent rotation to be reversed. In effect, ''DTET'' is testing the following two possibilities:
:# If cannot rotate, move one space to the left.
*Two successive counter-clockwise rotations, the first with left kick precedence and the second with right kick precedence (see below for wall kick precendence)
:# If cannot, move one space to the right.
*Two successive clockwise rotations, the first with right kick precedence and the second with left kick precedence.
:# If cannot, move one space to the down.
Although any intermediate state is never rendered, it must still exist in order for the two successive rotations to be successful.
:# If cannot, move one space to the down & move one space to the left.
When rotating ''J'', ''L'' and ''T'' pieces, there is a third possibility that is attempted when the above two fail:
:# If cannot, move one space to the down & move one space to the right.
*rotate 180&deg; with left kick precedence, bypassing any intermediate state.
* A case of clockwise
Even if one of the three options can only be executed partially, ''DTET'' will always do this in preference to attempting a later option; e.g. a single counter-clockwise rotation will be performed in preference to two successive clockwise rotations. Failure Compensation will still apply to any rotate button which failed to produce a rotation.
:# If cannot rotate, move one space to the right.
 
:# If cannot, move one space to the left.
==Wall Kicks==
:# If cannot, move one space to the down.
The [[wall kick|wall kicks]] in ''DTET'' are an extension of the system pioneered by [[Arika]] in [[Arika Rotation System#Wall kicks|TGM's rotation system]]. In addition to testing for wall kicks 1 cell to the left and right, ''DTET'' will also continue to test for wall kicks 1 cell down, followed by 1 cell diagonally down-left and down-right. DTET's wall kicks are sometimes described as "symmetric", the reason being that kicks left and down-left take precedence when rotating with the "Rotate Left" button, and kicks right and down-right take precedence when rotating with the "Rotate Right" button. Note that kick precendence is independent of whether the rotation is clockwise or counter-clockwise and is determined solely by the button pressed; "Rotate Right" will ''always'' have right kick precendence, and "Rotate Left" will ''always'' have left kick precendence:
:# If cannot, move one space to the down & move one space to the right.
 
:# If cannot, move one space to the down & move one space to the left.
{| border="1" style="text-align:center"
* If push anticlockwise button while pushing clockwise button, clockwize-like anticlockwise rotate.
|+Wall Kick Test Order
* If push clockwise button while pushing anticlockwise button, anticlockwize-like clockwise rotate.
!width="30" |&nbsp;
!width="200"|"Rotate Left"
!width="200"|"Rotate Right"
|-
| 1 || one space left || one space right
|-
| 2 || one space right || one space left
|-
| 3 || one space down || one space down
|-
| 4 || one space down-left || one space down-right
|-
| 5 || one space down-right || one space down-left
|}
 
Additionally, the rotation system does not employ the kick restrictions in ARS. As long as a piece is able to pass one of the kick tests, it will kick and rotate, regardless of whether or not the adjacent blocks are occupied.
 
==Other Appearances==
This rotation system appears in ''[[Heboris Unofficial Expansion]]'' with the following differences:
* The button to perform double rotations is mapped to a separate button, instead of being executed by pressing both left and right rotation buttons. This is treated as an instantaneous 180&deg; rotation with left kick precedence, bypassing any intermediate state, and unlike the actual rotation system in ''DTET'', ''I'', ''S'' and ''Z'' tetrominoes are also allowed to perform this move.
* It is possible to perform [[floor kick]]s like Ti-ARS, ACE-ARS and ACE-ARS2.
 
It appears as an available option in ''[[Tessellate]]'', albeit with some inaccuracies regarding double rotation.


This system works flip rotate too.


[[Category:Game Mechanics]]
[[Category:Rotation systems]]
[[Category:Rotation systems]]

Revision as of 12:43, 24 April 2020

The DTET Rotation System, as the name implies, is the rotation system used in DTET, a fan game based on the TGM series. Although sometimes referred to by the abbreviation D.R.S., both the abbreviation and expanded form are informal names. The system was not given a specific name by Mihys, the author of the game.

Basic Rotation

DTET's basic rotations are strongly reminiscent of the ARS and Sega rotation systems, but with two differences:

  • S, Z and I pieces have four rotation states instead of two. However, the two horizontal states are identical.
  • The horizontal orientation of the I tetromino is shifted 1 cell down.

Pieces spawn horizontally in the center, (left of center for the odd width pieces) with their topmost solid block in row 20. The J, L and T spawn pointing downwards.

DTET's basic rotations


Button Processing

DTET only features two rotation buttons, each with a different direction which are not duplicated. Normally, the right rotation button rotates counter-clockwise, and the left rotation button rotates clockwise. However, due to its sophisticated button processing routine, DTET still manages to retain the facility for rapid double rotations without having to double-tap with a single finger. The button processing routine also enables other innovative features, namely: instantaneous 180° Flips, Rotation Reversal, and Failure Compensation, as well as allowing for IRS-like behavior.

For as long as a button is pressed (held down), the game will continually attempt to process it, every frame, until it succeeds in producing a rotation. Once a pressed button has produced a rotation, it must be released before it can produce any further rotations. Therefore, if a rotation fails due to an obstacle, but the rotate button is held down whilst the piece is moved away from the obstacle, the rotation will occur on the first frame on which it is possible. This has been called "Failure Compensation". Also, if a rotation is attempted during ARE and the rotate button held down until spawn, the rotation will occur on the first frame after spawn, if it is possible to do so, thereby creating an IRS-like rotation.

If after producing a rotation, a rotate button is not released, it will cause all rotations produced by the other rotate button to be reversed in sense, i.e. "Rotate Left" will produce a clockwise rotation and "Rotate Right" will produce a counter-clockwise rotation. This has been called "Rotation Reversal", and effectively allows the player to produce two successive rotations in the same sense. For example, to replicate the A, C double counter-clockwise rotation possible in the TGM series, the player would press and hold "Rotate Left", then whilst still held, press "Rotate Right".

If both buttons are pressed, and both are yet to produce a rotation, the game will continually attempt to process both buttons, every frame, potentially producing what looks like an instantaneous 180° rotation. This situation can arise if the buttons are pressed simultaneously, or if one or both buttons were pressed at an earlier frame but could not effect a rotation at that time due to some obstacle, and therefore Failure Compensation was applied. Regardless of which button was actually pressed first, DTET will attempt the processing order of "Rotate Left" followed by "Rotate Right" first, and "Rotate Right" followed by "Rotate Left" second. Note that if the first rotation is successfully processed, it will cause the subsequent rotation to be reversed. In effect, DTET is testing the following two possibilities:

  • Two successive counter-clockwise rotations, the first with left kick precedence and the second with right kick precedence (see below for wall kick precendence)
  • Two successive clockwise rotations, the first with right kick precedence and the second with left kick precedence.

Although any intermediate state is never rendered, it must still exist in order for the two successive rotations to be successful. When rotating J, L and T pieces, there is a third possibility that is attempted when the above two fail:

  • rotate 180° with left kick precedence, bypassing any intermediate state.

Even if one of the three options can only be executed partially, DTET will always do this in preference to attempting a later option; e.g. a single counter-clockwise rotation will be performed in preference to two successive clockwise rotations. Failure Compensation will still apply to any rotate button which failed to produce a rotation.

Wall Kicks

The wall kicks in DTET are an extension of the system pioneered by Arika in TGM's rotation system. In addition to testing for wall kicks 1 cell to the left and right, DTET will also continue to test for wall kicks 1 cell down, followed by 1 cell diagonally down-left and down-right. DTET's wall kicks are sometimes described as "symmetric", the reason being that kicks left and down-left take precedence when rotating with the "Rotate Left" button, and kicks right and down-right take precedence when rotating with the "Rotate Right" button. Note that kick precendence is independent of whether the rotation is clockwise or counter-clockwise and is determined solely by the button pressed; "Rotate Right" will always have right kick precendence, and "Rotate Left" will always have left kick precendence:

Wall Kick Test Order
  "Rotate Left" "Rotate Right"
1 one space left one space right
2 one space right one space left
3 one space down one space down
4 one space down-left one space down-right
5 one space down-right one space down-left

Additionally, the rotation system does not employ the kick restrictions in ARS. As long as a piece is able to pass one of the kick tests, it will kick and rotate, regardless of whether or not the adjacent blocks are occupied.

Other Appearances

This rotation system appears in Heboris Unofficial Expansion with the following differences:

  • The button to perform double rotations is mapped to a separate button, instead of being executed by pressing both left and right rotation buttons. This is treated as an instantaneous 180° rotation with left kick precedence, bypassing any intermediate state, and unlike the actual rotation system in DTET, I, S and Z tetrominoes are also allowed to perform this move.
  • It is possible to perform floor kicks like Ti-ARS, ACE-ARS and ACE-ARS2.

It appears as an available option in Tessellate, albeit with some inaccuracies regarding double rotation.