User:Edo/DRS: Difference between revisions

From TetrisWiki
Jump to navigation Jump to search
Edo (talk | contribs)
next on the agenda: DRS
 
preliminary only
Line 3: Line 3:
==Basic Rotation==
==Basic Rotation==
DTET's basic rotations are strongly reminiscent of [[Sega rotation]], but with two differences:
DTET's basic rotations are strongly reminiscent of [[Sega rotation]], but with two differences:
* S, Z and I tetrominoes now have 4 rotation states instead of 2. However, the two horizontal states are identical in orientation.
* ''S'', ''Z'' and ''I'' tetrominoes now have 4 rotation states instead of 2. However, the two horizontal states are identical.
* The horizontal orientation of the I tetromino is shifted 1 cell down.
* The horizontal orientation of the ''I'' tetromino is shifted 1 cell down.
[[Image:Dtet-pieces.png|left|frame|DTET's basic rotations]]
[[Image:Dtet-pieces.png|left|frame|DTET's basic rotations]]
<br clear="all">
<br clear="all">
==Button Processing==
DTET only features two rotate buttons with no duplicate: "Rotate Left" and "Rotate Right". (Normally "Rotate Left" rotates counter-clockwise, and "Rotate Right" 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.
For as long as a button is pressed (held down), DTET 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 tetromino 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 [[TGM]], in DTET 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, then DTET 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 ealier 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'' tetrominoes, there is a third possibility that is attempted when the above two fail:
*rotate 180&deg; 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==
==Wall Kicks==
The [[wall kick|wall kicks]] in DTET are an extension of the system pioneered by Arika in [[TGM rotation#Wall kicks|TGM rotation]]. 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 counter-clockwise, and kicks right and down-right take precedence when rotating clockwise:
The [[wall kick|wall kicks]] in DTET are an extension of the system pioneered by Arika in [[TGM rotation#Wall kicks|TGM rotation]]. 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:


{| border="1" style="text-align:center"
{| border="1" style="text-align:center"
|+Wall Kick Test Order
|+Wall Kick Test Order
!width="30" |&nbsp;
!width="30" |&nbsp;
!width="200"|Counter-Clockwise
!width="200"|"Rotate Left"
!width="200"|Clockwise
!width="200"|"Rotate Right"
|-
|-
| 1 || one space left || one space right
| 1 || one space left || one space right
Line 29: Line 44:


Additionally, DTET Rotation does not employ the kick restrictions in TGM Rotation. As long as a piece is able to pass one of the kick tests, it will kick and rotate, no matter what adjacent blocks are occupied.
Additionally, DTET Rotation does not employ the kick restrictions in TGM Rotation. As long as a piece is able to pass one of the kick tests, it will kick and rotate, no matter what adjacent blocks are occupied.
==Double Rotation==
Although DTET only features two rotate buttons with no duplicate, it is still possible for the player to produce double rotations, without having to double-tap with a single finger. Two methods can be used:
*Press and hold one rotation button, then press the second whilst the first is still held. This produces two successive 90&deg; rotations, the second rotation in the same sense as the first (but with mirrored wall kick test order, see below).
*Press both rotation buttons simultaneously. This produces an instantaneous 180&deg; counter-clockwise rotation, with no intermediate state.
In cases where the first method is attempted, but the first button press cannot effect a rotation even with wallkicks, then when the second button is pressed (whilst still holding the first), DTET will regard the presses as simultaneous and attempt the 180&deg; counter-clockwise rotation described in method two. Another subtle use of the first method is not to double rotate, but to mirror the wall kick test order: for example, pressing and holding button "A" will produce a counter-clockwise rotation with counter-clockwise wall kicks, pressing button "B" whilst "A" is still held will produce another counter-clockwise rotation, but with the wall kick test order of a clockwise rotation. Any subsequent presses of "B" while "A" is held will still produce counter-clockwise rotations with a clockwise wall kick test order.
==Failure Compensation==
If a rotation fails, but the rotation button is held down, the rotation will occur as soon as the piece is moved away from the blockage causing the rotation to fail.
[[Category:Rotation Systems]]
==ARE Cancel==
After making a [[Drop#Hard drop|hard drop]], enter an input during ARE to immediately spawn the next piece. [[Line clear]] delay can also be canceled in this manner.
Skillful usage of ARE cancel can immensely speed up a game, at the cost of control.
In DTET, ARE cancel does not work in NORMAL modes.


==Other Appearances==
==Other Appearances==
Line 52: Line 50:
* [[Tetris The Grand Master 3 Terror-Instinct|TGM3]]-style [[floor kick]] was added.
* [[Tetris The Grand Master 3 Terror-Instinct|TGM3]]-style [[floor kick]] was added.
It is also an available option in ''[[Tessellate]]''.
It is also an available option in ''[[Tessellate]]''.
[[Category:Rotation Systems]]

Revision as of 19:46, 25 September 2009

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. Pieces spawn in the center, (left of center for the odd width pieces) with their topmost solid block in row 20.

Basic Rotation

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

  • S, Z and I tetrominoes now have 4 rotation states instead of 2. However, the two horizontal states are identical.
  • The horizontal orientation of the I tetromino is shifted 1 cell down.
DTET's basic rotations


Button Processing

DTET only features two rotate buttons with no duplicate: "Rotate Left" and "Rotate Right". (Normally "Rotate Left" rotates counter-clockwise, and "Rotate Right" 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), DTET 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 tetromino 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 TGM, in DTET 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, then DTET 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 ealier 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 tetrominoes, 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 rotation. 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, DTET Rotation does not employ the kick restrictions in TGM Rotation. As long as a piece is able to pass one of the kick tests, it will kick and rotate, no matter what adjacent blocks are occupied.

Other Appearances

DTET Rotation appears in Heboris Unofficial Expansion, though it is implemented slightly differently:

  • Double rotation is mapped to a separate button, instead of being executed by pressing both left and right rotation buttons
  • TGM3-style floor kick was added.

It is also an available option in Tessellate.