Tetris DX: Difference between revisions

From TetrisWiki
Jump to navigation Jump to search
Dunspixel (talk | contribs)
mNo edit summary
Dunspixel (talk | contribs)
Updated power formulas to be easier to read
Line 84: Line 84:


In Marathon and Ultra modes, power for a single game is calculated using this formula:
In Marathon and Ultra modes, power for a single game is calculated using this formula:
* P<sub>c</sub> = ((S - D + (D % 16)) / L) * M
 
<math>
P_c = {S - D_1 + D_2 \over L} \times M
</math>
 
* P<sub>c</sub> = Current Game Power
* P<sub>c</sub> = Current Game Power
* S = Score
* S = Score
* D = Soft-drop points
* D<sub>1</sub> = Soft-drop points % 65,536
* L = Lines
* D<sub>2</sub> = Soft-drop points % 16
* L = Lines % 65,536
* M = Line Multiplier
* M = Line Multiplier
** If L is 0, M is 0
** If L is 0, M is 0
Line 97: Line 102:


This is then combined with your existing power using this formula:
This is then combined with your existing power using this formula:
* P<sub>n</sub> = (P<sub>c</sub> + P<sub>p</sub> * N) / (N + 1)
 
<math>
P_n = {P_c + P_p \times N \over N + 1}
</math>
 
* P<sub>n</sub> = New Profile Power
* P<sub>n</sub> = New Profile Power
* P<sub>p</sub> = Previous Profile Power
* P<sub>p</sub> = Previous Profile Power
Line 105: Line 114:


The line value is an internal 2-byte integer, also tracked separately from the line counter. This will overflow at 65,536 lines, though this overflow will not be displayed in the line counter.
The line value is an internal 2-byte integer, also tracked separately from the line counter. This will overflow at 65,536 lines, though this overflow will not be displayed in the line counter.
Any divisions which would result in a value greater than 65,535 will return 65,535.


== Rotation system ==
== Rotation system ==
Line 188: Line 199:


The line counter is capped at 999,999 lines. However, it has a bug where six-digit values will prevent the highest digit from being displayed. For example, a value of 100,000 lines will be displayed in-game as "00000".
The line counter is capped at 999,999 lines. However, it has a bug where six-digit values will prevent the highest digit from being displayed. For example, a value of 100,000 lines will be displayed in-game as "00000".
The power value displayed on the file select screen has a similar bug, only displaying the last four digits. However, the only way to achieve a five-digit power value is by overflowing the internal lines value.


== External links ==
== External links ==

Revision as of 17:15, 19 July 2024

Not to be confused with Tetris Deluxe, a game released for western mobile phones.
Tetris DX
Developer(s)Nintendo
Publisher(s)Nintendo
Platform(s)Game Boy Color
Release
  • JP: October 21, 1998
  • US: October 31, 1998
  • EU: July 1, 1999
Gameplay info
Next pieces1
Playfield size10 × 18
Hold pieceNo
Hard dropNo
Rotation systemBounding box, wall kick, SRS predecessor

Tetris DX is a Game Boy Color game that enhances Nintendo's original Game Boy Tetris, with three new gameplay modes, a profile/save feature, and color graphics when played on Game Boy Color and later systems. The game's rotation system has a glitch which lets players move any tetromino, except the O-piece, upward by holding the direction against a wall and rotating in the opposite direction.

Modes

Marathon

Speed curve:

Level Frames per row
0 52
1 48
2 44
3 40
4 36
5 32
6 27
7 21
8 16
9 10
10 9
11 8
12 7
13 6
14 5
15 5
16 4
17 4
18 3
19 3
20 2

Power

Gameplay data is recorded and stored as "POWER". Each profile has its own POWER data. Using a link cable, this data can be transferred to another cart.

In VS. COM, this can be used to play vs a CPU against a local profile, or a transfered profile's game data.

Your power increases as you play better games using your profile.

In Marathon and Ultra modes, power for a single game is calculated using this formula:

  • Pc = Current Game Power
  • S = Score
  • D1 = Soft-drop points % 65,536
  • D2 = Soft-drop points % 16
  • L = Lines % 65,536
  • M = Line Multiplier
    • If L is 0, M is 0
    • If L is between 1 and 10, M is 0.25
    • If L is between 11 and 15, M is 0.5
    • If L is between 16 and 20, M is 0.75
    • Else M is 1

This is then combined with your existing power using this formula:

  • Pn = New Profile Power
  • Pp = Previous Profile Power
  • N = Number of games played previously, capped at 5

The score value used in this calculation is an internal 4-byte integer tracked separately from the BCD representation used by the score counter. This internal value will continue increasing even after the counter maxes out, up to 4,294,967,295 before overflowing.

The line value is an internal 2-byte integer, also tracked separately from the line counter. This will overflow at 65,536 lines, though this overflow will not be displayed in the line counter.

Any divisions which would result in a value greater than 65,535 will return 65,535.

Rotation system

All rotation states of all seven tetrominoes in TDX. From top to bottom: I, J, L, O, S, T, Z. The circle doesn't appear in the game; it helps to illustrate the axis on which each tetromino rotates.

The rotation system is an early version of what would become SRS. Like in SRS, tetrominoes of width 3 rotate as if in a bounding square; unlike in SRS, L, J, and T start flat side up. TDX first tries rotation about the center of the box (the blue circle). If this fails, it tries rotation about an alternate center displaced by one cell (the gray circle). For I, S, and Z, this center starts out one cell above the ordinary center; for L, J, or T, it starts out one cell below.

Wall climbing

This rotation system is exploitable, especially on low levels:

G.........
G.........
GSSS......
G.S.......
G.........

Charge DAS

G.........
G.S.......
G.CS......
G.S.......
G.........

Rotate left

G.........
GS........
GSS.......
GS........
G.........

Shift left (DAS)

G.........
GSSS......
G.C.......
G.........
G.........

Rotate right about
alternate center

This particular exploit was fixed in SRS.

Infinity

Ordinarily, Tetris DX lock delay follows step reset behavior: only downward motion under gravity resets the lock delay timer. But rotation about the alternate center does reset the timer used for gravity. This can be exploited by placing a piece in a corner and rotating it back and forth about the alternate center:

G.........
G.........
G.C.......
GSSS......
GGGGG.....
G.........
GS........
GSC.......
GS........
GGGGG.....


Other gameplay notes

Scoring uses the Nintendo system, however the score multiplier is capped at 21 (25200 per Tetris).

Timings:

  • DAS: 9 frames startup, 3 frames repeat.
  • Lock delay: 32 frames or (frames per row + 4), whichever is larger.
  • ARE: equal to lock delay, can be cancelled.
  • Line clear delay: 50 frames.

The line counter is capped at 999,999 lines. However, it has a bug where six-digit values will prevent the highest digit from being displayed. For example, a value of 100,000 lines will be displayed in-game as "00000".

The power value displayed on the file select screen has a similar bug, only displaying the last four digits. However, the only way to achieve a five-digit power value is by overflowing the internal lines value.

External links