Tetris Analysis ft. Tetrisfish

by Javantea July 10, 2022

Tetrisfish-javantea

I’m playing a lot of NES Tetris recently and I won my first match. What happened? Well, I played well and my strategy turned out to work in this case. I learned about Tetrisfish, which uses the tetris engine StackRabbit to analyze games from video and I ran it on the first game. Since it was fairly slow and didn’t give me anything but tips on how to improve my stacking (thanks by the way), I wrote a simple modification to make it possible to avoid those analysis calls. Instead with my version, I can just output a file that showed what happened during the game: piece sequence, drought for each piece, and tetris rate. Tetris rate ignores pushdown points so the value is not accurate to the actual score, but is good enough since most games are won on scoring points with lines not pushdown.

I’m sure you’re curious what the output looks like for my 5 games:

Game 1

JLTTIOZTOZILSLIJOTTOLTLIIZTLIOSZTSLISOIIIZJZOZJSOIZTZLZOJTIOZOJIOZTZJOSOZTOIJOJSZISJLZSLJZIJZSTOSIJTJTLLTTSTISZOSZIJTJIOILTTITSTITOJOTSIOJIOZLOTOZSJOSJOZISOLISTIOTTIOSTITITSOZLILJSOSZLTSOJOJSLTLJJTISLOJISSTSOOIJTISSZLJIOOILZOJSZJZSIZSTZJSJTJITJZTLILJLIJLIZTISZSLIOLZOLOSOLOSOSOIISTSTLJTSITSLITJLJLOJZLS
Drought durations: max [sequence]
L-PIECE 30 [1, 9, 1, 6, 1, 4, 6, 18, 30, 2, 14, 0, 17, 19, 14, 18, 1, 5, 7, 1, 5, 16, 5, 23, 1, 1, 2, 7, 2, 2, 3, 11, 6, 3, 1, 3]
J-PIECE 31 [0, 14, 26, 3, 9, 5, 5, 7, 1, 4, 4, 2, 6, 1, 14, 1, 13, 5, 9, 2, 27, 8, 1, 4, 0, 5, 8, 6, 7, 2, 7, 1, 1, 2, 5, 2, 31, 8, 1, 2]
S-PIECE 22 [12, 17, 2, 2, 10, 22, 8, 2, 3, 6, 2, 9, 2, 2, 13, 7, 11, 2, 4, 3, 7, 5, 6, 1, 3, 4, 7, 4, 0, 1, 6, 0, 11, 3, 2, 3, 20, 1, 8, 3, 1, 3, 1, 4, 2, 11]
Z-PIECE 33 [6, 2, 15, 5, 9, 1, 1, 4, 1, 1, 5, 4, 1, 4, 7, 4, 3, 2, 17, 2, 26, 4, 6, 21, 7, 32, 7, 3, 1, 2, 2, 8, 10, 3, 5, 33]
T-PIECE 23 [2, 0, 3, 9, 0, 2, 4, 5, 18, 5, 8, 6, 20, 4, 1, 2, 0, 1, 8, 5, 0, 1, 1, 1, 3, 9, 15, 2, 0, 3, 1, 1, 12, 7, 3, 8, 5, 22, 4, 2, 2, 10, 23, 1, 2, 2, 3]
LONGBAR 20 [4, 5, 3, 8, 0, 3, 6, 2, 0, 0, 8, 8, 4, 11, 5, 8, 6, 10, 5, 3, 1, 3, 3, 6, 2, 14, 3, 2, 3, 3, 1, 5, 20, 4, 6, 2, 5, 2, 9, 9, 5, 3, 2, 2, 4, 14, 0, 8, 3]
O-PIECE 38 [5, 2, 7, 2, 9, 7, 6, 3, 6, 3, 1, 2, 4, 1, 2, 2, 17, 15, 7, 10, 1, 3, 2, 2, 1, 3, 2, 3, 5, 3, 7, 6, 5, 1, 11, 6, 0, 10, 0, 3, 38, 2, 1, 1, 1, 1, 1, 20]
Clears:
[4, 1, 1, 4, 1, 1, 3, 1, 4, 1, 2, 1, 1, 4, 1, 1, 1, 1, 2, 1, 2, 1, 2, 4, 4, 1, 1, 2, 4, 2, 1, 1, 4, 1, 2, 1, 3, 4, 1, 2, 1, 1, 2, 2, 1, 2, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
TRT: 77% 156000 / 201600
10 tetrises, 3 triples, 11 doubles, 37 singles

Game 2

SLJLOJLTZOLIOLTSTOLITIOLZIOJOZOJLJSISLZJIZIZJSJTIZOIJTIZOTIZOSOITISTJZJTLSTOITOJOLSZIIZJLTZLJTIZJJTZJZLZIOTOSOTSSSZSZTJLTOSTZLJOSJSITLITOOZLZOLTZLJTLIOZOTIZSJTOILJTLLSJTOLSJSJOLTZOJOTJTOJITLSLIZIJIJSIJTLJLITTLOTZLIOZJITLTOSISOSOJIJZTJISZJTOTZTZJSLIJSILZOJZOLSJSZSIZLOSTZTIZOZTZJZIOSLOJIOLOZTZSZSITOL
Drought durations: max [sequence]
L-PIECE 34 [1, 1, 2, 3, 2, 4, 4, 8, 4, 34, 8, 6, 2, 10, 16, 5, 7, 5, 2, 2, 2, 12, 2, 0, 4, 5, 12, 1, 10, 1, 3, 3, 6, 26, 4, 5, 7, 16, 4, 10]
J-PIECE 21 [2, 2, 21, 3, 1, 5, 4, 1, 5, 15, 1, 8, 7, 4, 3, 0, 2, 17, 7, 2, 16, 10, 4, 4, 4, 1, 5, 2, 2, 8, 1, 2, 2, 12, 11, 1, 2, 3, 6, 3, 5, 4, 17, 6]
S-PIECE 25 [0, 14, 18, 1, 8, 15, 4, 6, 8, 25, 2, 0, 0, 1, 6, 5, 1, 25, 9, 4, 1, 16, 7, 23, 1, 1, 8, 9, 3, 8, 1, 1, 4, 13, 10, 1]
Z-PIECE 22 [8, 15, 4, 8, 2, 1, 5, 5, 3, 9, 13, 2, 3, 4, 3, 1, 1, 10, 1, 7, 13, 1, 3, 6, 3, 22, 14, 17, 3, 15, 4, 4, 1, 8, 2, 5, 2, 4, 2, 1, 1, 1, 10, 1, 1]
T-PIECE 26 [7, 6, 1, 3, 26, 5, 3, 6, 2, 3, 2, 2, 11, 3, 4, 7, 3, 6, 2, 2, 8, 2, 7, 3, 5, 4, 4, 4, 8, 4, 1, 3, 12, 4, 0, 2, 7, 1, 11, 5, 1, 1, 25, 1, 4, 14, 5]
LONGBAR 26 [11, 7, 1, 3, 9, 4, 1, 5, 2, 2, 3, 4, 1, 10, 7, 0, 8, 9, 26, 2, 14, 4, 5, 26, 4, 1, 1, 2, 5, 7, 3, 5, 5, 4, 12, 2, 12, 7, 7, 5, 9]
O-PIECE 24 [4, 4, 2, 4, 4, 3, 1, 1, 19, 5, 3, 1, 12, 2, 1, 24, 1, 1, 11, 5, 8, 0, 3, 8, 1, 6, 9, 5, 3, 1, 3, 23, 4, 6, 3, 1, 11, 13, 2, 9, 6, 6, 2, 2, 1, 8]
Clears:
[1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 4, 1, 1, 4, 1, 2, 2, 3, 2, 1, 1, 1, 1, 4, 1, 2, 1, 1, 2, 4, 2, 1, 1, 1, 2, 4, 1, 4, 4, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 4, 1, 1, 1, 1]
TRT: 84% 231600 / 277280
12 tetrises, 1 triples, 11 doubles, 36 singles

Game 3

TOJSISTJIOLTZOZOITSZZIOIZSJITZOIOLSZSTZJLSTOTLSZTTJSTLZSOJOLOZTIJZISJLJ
Drought durations: max [sequence]
L-PIECE 22 [10, 22, 6, 4, 7, 5, 9]
J-PIECE 18 [2, 4, 18, 12, 10, 6, 6, 3, 1]
S-PIECE 12 [3, 1, 12, 6, 8, 1, 4, 4, 4, 3, 11]
Z-PIECE 12 [12, 1, 4, 0, 3, 4, 5, 2, 8, 6, 6, 3]
T-PIECE 10 [0, 5, 4, 5, 10, 8, 4, 1, 3, 0, 2, 9]
LONGBAR 31 [4, 3, 7, 4, 1, 3, 3, 31, 2]
O-PIECE 12 [1, 7, 3, 1, 6, 7, 1, 10, 12, 1, 1]
Clears:
[4, 1, 4, 1, 1, 2, 1, 4, 2, 4]
TRT: 93% 62400 / 67080
4 tetrises, 0 triples, 2 doubles, 4 singles

Game 4

JLTLTJOZTIJIOJTZTLTLIZJZITZJLZZOTZJSZIOSIOSLIJLSTSISOSTJIOJZILSTSITLJZIZOTOZLITSOLTLLIOIJTOSITOJLJTOILIJIZLLJTTSISJOZOISLJITZLOIOSTLSLOZIZJISLZJSLTOOLZJZITLZIJOSOZJZSZOJTLZOTLTZLOJOLTISZLSITJOJTLTSSOLJLZLZTOZSTZTSZSOSZLJZJZIOITOJOTOZJSISZIJZLZTSZOZTOTLIOZTIZIOZLOZISJOSTIOTLSISLSOSIOLJZOJLOIIJIOTISZTSSJOSTIJTOLTLISTOZJOSLISLJLJZTOTZIZJIJSLTSLTZJIIJJZTZTOLTZSJTIJTJLSOZJIOZOLTZJSLZLJZO
Drought durations: max [sequence]
L-PIECE 22 [1, 1, 13, 1, 8, 14, 2, 14, 5, 8, 4, 1, 0, 11, 4, 4, 0, 12, 4, 5, 1, 7, 3, 3, 5, 14, 3, 2, 3, 4, 7, 4, 1, 1, 14, 22, 9, 9, 11, 3, 5, 4, 21, 1, 8, 2, 1, 12, 2, 12, 9, 8, 4, 1]
J-PIECE 26 [0, 4, 4, 2, 8, 4, 6, 10, 9, 2, 9, 19, 6, 1, 5, 4, 5, 6, 16, 4, 7, 6, 4, 4, 10, 10, 1, 7, 18, 1, 6, 4, 5, 26, 17, 2, 4, 9, 4, 10, 6, 1, 7, 1, 7, 2, 0, 9, 2, 1, 4, 7, 4]
S-PIECE 35 [35, 3, 2, 4, 1, 1, 1, 8, 1, 14, 11, 19, 1, 5, 9, 2, 7, 3, 15, 4, 18, 2, 8, 0, 10, 3, 1, 1, 17, 1, 7, 20, 2, 5, 1, 1, 1, 16, 2, 0, 2, 9, 5, 2, 14, 2, 16, 7, 11]
Z-PIECE 29 [7, 7, 5, 1, 2, 2, 0, 2, 2, 22, 9, 1, 3, 29, 10, 7, 10, 1, 4, 7, 1, 3, 5, 1, 1, 4, 4, 8, 16, 1, 2, 2, 2, 3, 2, 1, 9, 4, 2, 1, 2, 1, 6, 2, 2, 2, 21, 12, 18, 10, 3, 1, 9, 5, 1, 4, 10, 3, 3, 3, 2]
T-PIECE 22 [2, 1, 3, 5, 1, 1, 6, 6, 15, 5, 8, 2, 6, 4, 3, 6, 3, 4, 10, 0, 12, 6, 15, 7, 14, 3, 1, 6, 6, 3, 1, 9, 3, 1, 14, 3, 12, 4, 1, 4, 13, 2, 22, 3, 5, 2, 2, 3, 13, 1, 8, 2, 7, 1, 2, 3, 2, 11]
LONGBAR 34 [9, 1, 8, 3, 12, 2, 3, 5, 5, 3, 4, 4, 6, 7, 1, 4, 7, 1, 1, 7, 5, 3, 4, 8, 2, 13, 3, 25, 4, 34, 1, 9, 2, 13, 3, 1, 5, 5, 4, 5, 8, 0, 1, 2, 9, 6, 8, 10, 2, 9, 0, 13, 8]
O-PIECE 23 [6, 5, 18, 6, 2, 10, 4, 14, 1, 5, 5, 3, 3, 4, 15, 1, 8, 1, 5, 12, 0, 10, 1, 5, 4, 5, 1, 10, 6, 7, 8, 8, 2, 1, 1, 14, 2, 3, 5, 2, 4, 3, 7, 2, 3, 2, 4, 8, 5, 6, 2, 10, 23, 12, 3, 1, 10]
Clears:
[4, 2, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 2, 1, 4, 4, 4, 1, 1, 2, 3, 4, 4, 2, 3, 4, 4, 2, 4, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 4, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
TRT: 79% 271200 / 345280
14 tetrises, 3 triples, 12 doubles, 55 singles

Game 5

TITLISTZOILZSTSISOLJTSLOZTZSOIOOZLIOTILJTLIZJIOJZTLZSSZISLSZSJIJLZLOJZJIJLISLTOSJOTSLJISLZLZLTTJLZTSJTTSLIJSTJOTOZJTSTOTSOSTSITZISZTJSIOSTOZIJIOIJITILZOSIOJTSISZZSJOTITIZJOTJOTLZLILTOJLJTZOOSJLZSITSIJLTZTOIOIJSITZILISZILJSTIOIOTOLJJTZSOTOJIOISTZTI
Drought durations: max [sequence]
L-PIECE 44 [3, 6, 7, 3, 10, 4, 2, 8, 6, 6, 1, 6, 2, 7, 3, 1, 1, 3, 7, 44, 26, 1, 1, 3, 7, 7, 13, 4, 9]
J-PIECE 19 [19, 19, 4, 2, 13, 1, 4, 1, 1, 7, 4, 9, 4, 5, 2, 4, 17, 8, 3, 9, 7, 6, 2, 9, 1, 5, 7, 8, 11, 9, 0, 6]
S-PIECE 27 [5, 6, 1, 1, 4, 5, 24, 0, 2, 1, 1, 14, 3, 3, 3, 11, 3, 3, 8, 3, 1, 1, 4, 3, 2, 15, 4, 1, 2, 27, 3, 2, 11, 6, 4, 12, 7]
Z-PIECE 19 [7, 3, 12, 1, 5, 10, 4, 2, 2, 4, 5, 3, 19, 1, 5, 15, 13, 2, 8, 10, 9, 0, 7, 7, 9, 5, 8, 9, 4, 15, 10]
T-PIECE 27 [0, 1, 3, 6, 6, 4, 10, 3, 8, 27, 4, 10, 0, 3, 2, 0, 5, 2, 3, 1, 1, 3, 2, 4, 5, 9, 8, 8, 1, 4, 2, 5, 4, 9, 4, 1, 7, 10, 4, 4, 3, 6, 1]
LONGBAR 19 [1, 2, 4, 5, 13, 4, 2, 4, 2, 9, 6, 8, 2, 11, 18, 19, 2, 5, 5, 1, 1, 1, 1, 4, 4, 7, 1, 10, 15, 2, 6, 1, 2, 2, 1, 2, 4, 1, 13, 1, 4]
O-PIECE 28 [8, 8, 5, 4, 1, 0, 3, 10, 20, 10, 2, 28, 1, 5, 2, 13, 2, 4, 7, 2, 9, 6, 2, 7, 5, 0, 14, 1, 17, 1, 1, 6, 1, 2]
Clears:
[4, 1, 3, 1, 1, 2, 3, 1, 1, 2, 1, 4, 4, 1, 1, 1, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 3, 1, 4, 4, 2, 4, 3, 1, 4, 4]
TRT: 84% 187200 / 222820
12 tetrises, 5 triples, 4 doubles, 21 singles

If you’re curious about the analysis that Stackrabbit did on game 1, I have the file and a screenshot.

Scores and lines:

``````Javantea                 Coal
202173 12-13 108 lines - 250672 12     90 lines
277411 15-16 109 lines - 288600 15-16 104 lines
67216  12     24 lines - 1560   12      3 lines Early top out
345427 15-20 144 lines - 249040 15-18 124 lines
223120 12     92 lines - 117780 12     60 lines Early top out``````