User:Kitaru: Difference between revisions
Line 71: | Line 71: | ||
|} | |} | ||
The situation becomes even more advantageous if using the "extra tap" method to slightly raise the average rate -- you can get a bit of extra range by using a timed tap to get the final shift out a bit earlier than usual. | The situation becomes even more advantageous if using the "extra tap" method to slightly raise the average rate -- you can get a bit of extra range by using a timed tap to get the final shift out a bit earlier than usual. The d-pad must be released for at least one frame in order to register the tap. The worst case is performing no better than just holding the direction (input pattern: ...1 111101). The best case is frame perfectly releasing on the frame of the final shift, then re-pressing on the next frame (bit pattern: ...1 01). So, the meaningful values for the last tap are in the range of 2~5 frames. | ||
{| class="wikitable" | |||
! | |||
! colspan="5" | frames per cell | |||
! total | |||
! avg frame/cell | |||
! effective rate | |||
|- | |||
| worst case | |||
| style="text-align: right;" | 1 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 25 | |||
| style="text-align: right;" | 5.0 | |||
| style="text-align: right;" | 12hz | |||
|- | |||
| | |||
| style="text-align: right;" | 1 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 5 | |||
| style="text-align: right;" | 24 | |||
| style="text-align: right;" | 4.8 | |||
| style="text-align: right;" | 12.5hz | |||
|- | |||
| | |||
| style="text-align: right;" | 1 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 4 | |||
| style="text-align: right;" | 23 | |||
| style="text-align: right;" | 4.6 | |||
| style="text-align: right;" | 13.04hz | |||
|- | |||
| | |||
| style="text-align: right;" | 1 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 3 | |||
| style="text-align: right;" | 22 | |||
| style="text-align: right;" | 4.4 | |||
| style="text-align: right;" | 13.64hz | |||
|- | |||
| best case | |||
| style="text-align: right;" | 1 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 6 | |||
| style="text-align: right;" | 2 | |||
| style="text-align: right;" | 21 | |||
| style="text-align: right;" | 4.2 | |||
| style="text-align: right;" | 14.29hz | |||
|} | |||
TODO: discuss cases where physical tapping could prove advantageous due to dangerous upstack in the center of the playfield -- i.e. slope of movement and distribution of acceleration | TODO: discuss cases where physical tapping could prove advantageous due to dangerous upstack in the center of the playfield -- i.e. slope of movement and distribution of acceleration | ||
Revision as of 04:44, 16 December 2016
NES Tetris - effective rate of DAS vs. tapping
NTSC
The aim of this write-up is to compare the worst/average/best cases of DAS usage compared to manual rapid tapping. Comparisons will be made using a vertical I-piece traveling to the left wall (i.e., moving the piece 5 cells).
The NTSC NES technically runs at ~60.098814hz. The calculations here assume 60hz for simplicity since this does not affect the results very much (~0.16469% difference).
In the NTSC version of the game, DAS has a 16 frame start-up and a 10hz move rate (piece moves every 6th frame). Without discussing the particulars in-depth here, consider that DAS can be preserved from piece to piece under most circumstances.
Given the above, the naive assumption is that charged DAS is equivalent to tapping 10 times per second. However, under most circumstances, the piece is likely to enter the playfield ready to move earlier than the usual 6 frames. In fact, 10hz is the worst case for skillstop timing -- releasing left/right frame perfectly, just enough to get the final shift and no longer. The average case for skillstop is likely somewhere right in the middle (i.e. +3 frames). The best case (full charge) is also reasonably attainable via wall tech.
If we're charging DAS from scratch, the best case is when the piece is actively in the playfield. If we have no charge and hold left/right _before_ the piece appears, we have to wait a full 16 frames for the first shift. If the piece is already active, the first shift happens immediately (tap movement) and we only wait 15 more frames for the second shift.
Averaged across a shorter distance, the effective rates of charging from scratch appears rather low: the worst/best case for moving just two cells is 5.45hz and 7.5hz respectively. However, the parity with tapping improves when traversing greater distances. Of course, the player must take into account if current gravity and stack conditions allow for waiting through the full charge time, but -- given enough time -- the parity with manual tapping on simple recoveries looks rather favorable.
frames per cell | total | avg frame/cell | effective rate | |||||
---|---|---|---|---|---|---|---|---|
from scratch (worst case) | 16 | 6 | 6 | 6 | 6 | 40 | 8 | 7.5hz |
from scratch (best case) | 1 | 15 | 6 | 6 | 6 | 34 | 6.8 | 8.82hz |
charged (worst case) | 6 | 6 | 6 | 6 | 6 | 30 | 6 | 10hz |
charged (average case) | 3 | 6 | 6 | 6 | 6 | 27 | 5.4 | 11.1hz |
charged (best case) | 1 | 6 | 6 | 6 | 6 | 25 | 5 | 12hz |
The situation becomes even more advantageous if using the "extra tap" method to slightly raise the average rate -- you can get a bit of extra range by using a timed tap to get the final shift out a bit earlier than usual. The d-pad must be released for at least one frame in order to register the tap. The worst case is performing no better than just holding the direction (input pattern: ...1 111101). The best case is frame perfectly releasing on the frame of the final shift, then re-pressing on the next frame (bit pattern: ...1 01). So, the meaningful values for the last tap are in the range of 2~5 frames.
frames per cell | total | avg frame/cell | effective rate | |||||
---|---|---|---|---|---|---|---|---|
worst case | 1 | 6 | 6 | 6 | 6 | 25 | 5.0 | 12hz |
1 | 6 | 6 | 6 | 5 | 24 | 4.8 | 12.5hz | |
1 | 6 | 6 | 6 | 4 | 23 | 4.6 | 13.04hz | |
1 | 6 | 6 | 6 | 3 | 22 | 4.4 | 13.64hz | |
best case | 1 | 6 | 6 | 6 | 2 | 21 | 4.2 | 14.29hz |
TODO: discuss cases where physical tapping could prove advantageous due to dangerous upstack in the center of the playfield -- i.e. slope of movement and distribution of acceleration
PAL
TODO: PAL discussion and tables
frames per cell | total | avg frame/cell | effective rate | |||||
---|---|---|---|---|---|---|---|---|
from scratch (worst case) | 12 | 4 | 4 | 4 | 4 | 28 | 5.6 | 8.93hz |
from scratch (best case) | 1 | 11 | 4 | 4 | 4 | 24 | 4.8 | 10.42hz |
charged (worst case) | 4 | 4 | 4 | 4 | 4 | 20 | 4 | 12.5hz |
charged (average case) | 2 | 4 | 4 | 4 | 4 | 18 | 3.6 | 13.89hz |
charged (best case) | 1 | 4 | 4 | 4 | 4 | 17 | 3.4 | 14.71hz |