- 1
- 78 452
fghsgh
Приєднався 22 лис 2011
AI destroys NES Tetris (26487 lines cleared)
I got a lot of backlash from the original joke title so I changed it.
Featuring an AI from meatfighter.com/nintendotetrisai/ (not by me). Go check that site out by the way, it's good.
Recorded in FCEUX.
The AI also had to do a hack to prevent the game from freezing at 1550 lines. This causes inaccurate scores past level 30, but hey, it maxes out anyway. I've included a FCEUX Lua script below to do just this hack.
It doesn't make any Tetrises because it doesn't care about score.
Downloads:
- the savestate when it stopped playing: www.dropbox.com/s/pq7ei6qfcweoma2/Ehm_I_broke_Tetris.sav?dl=0
- the fceux movie of the whole gameplay, compressed: www.dropbox.com/s/2h06bcx4s7cybna/Ehm_I_broke_Tetris.fm2.zip?dl=0
- the Lua script to stop the game from freezing at level 155: www.dropbox.com/s/s1rc1h6dpn5i5bq/Tetris_disable_killscreen.lua?dl=0
0:00:12 - game starts
0:11:42 - level 29 reached
0:27:20 - max-out
0:29:25 - line counter reaches A00
0:38:58 - colors get weird (level 138)
0:43:11 - game would have frozen at 1550 lines (see below)
0:59:08 - first 800-line level reached
1:10:39 - S piece statistic reaches A00, followed by Z piece
1:28:14 - level counter overflows
1:37:53 - first digit of line counter becomes -
11:11:53 - line counter overflows (during 800-line level)
11:34:05 - game ends
If you find any other interesting things in the video, let me know so I can add them!
paonquinho:
Score max-out at Level 91: 27:20
810-line level: Level 219 [96] 59:07 - 1:19:14
1st lap completed - 1:28:14
810-line level: Level 173 [06] 2:15:43 - 2:35:51
2nd lap completed - 2:56:16
810-line level: Level 127 [06] 3:32:05 - 3:52:18
3rd lap completed - 4:24:13
810-line level: Level 91 [A8] 4:51:09 - 5:11:21
4rd lap completed - 5:52:13
810-line level: Level 45 [96] 6:07:40 - 6:27:48
810-line level: Level 255 [A8] 7:19:53 - 7:40:05
5th lap completed - 7:40:05
810-line level: Level 219 [96] 8:39:01 - 8:59:08
6th lap completed - 9:08:03
810-line level: Level 173 [06] 9:55:10 - 10:15:26
7th lap completed - 10:35:56
810-line level: Level 127 [06] 11:11:35 - 11:31:48
Line counter loops back to 000 after 25600 lines cleared 11:11:53
Commits suicide at 11:34:01 on Level 136 of the 8th lap, clearing a total of 26,487 lines. 9591 T-blocks, 9215 J-blocks, 9795 Z-blocks, 9458 O-blocks, 9591 S-blocks, 9457 L-blocks, 9179 I-blocks
TheMoonRover: 2:33:46 I probably skipped past some, but this was the first tetris I saw.
All the bugs shown during the video:
- The statistic blocks have a weird color during two frames before the game starts. (you can view individual frames by pressing ',' and '.')
- After level 29, the levels get weird: Unlike most numeric variables, the level is stored in binary format (others are in packed BCD). To convert from the level number to a string that can be displayed, a lookup table is used, but it ends at level 29. The next few values are another lookup table, and another one follows. The remainder are instructions. You can look in the comments, where I put a displayed to actual level number lookup table.
- The colors get weird at level 138: determining the tetromino color is done by subtracting 10 from the level number until the result is smaller than 10 and then looking that value up in a lookup table, but the "smaller than 10" check is done as if it were a signed 8-bit number (instead of unsigned), so any signed number above 127 will actually be negative (and thus smaller than 10). The reason 128-137 aren't weird is because the "is smaller than 10" check is done by with subtraction and 137 - 10 = 127. If the level number is above 137, the resulting data will be well after the lookup table. Colors also repeat every 64 levels, which makes sense because each palette consists of 4 bytes, making it 256 bytes in total.
- Line counter and statistics go beyond 999: the rightmost two digits are stored in packed BCD and checks are done to ensure it won't reach A, but the first digit is a byte by itself and no checks are performed.
- The game would have frozen at 1550 lines: to calculate the score that should be added, a value (0 for none, 40 for single, 100 for double, 300 for triple and 1200 for tetris) is multiplied by the level number + 1. This multiplication is performed every frame, but usually, the number of cleared lines will be 0 and nothing will be added. The problem is that this multiplication is performed by repeatedly adding one number to the other and at level 155, the time that would take becomes more than one frame. To disable this, it capped the level number + 1 variable at 30, the highest value it was ever supposed to reach. This means higher levels will have inaccurate scoring, but hey, it still maxes-out. I disabled it using the single-line Lua program you can find in the downloads.
- Some levels are 800 lines longer (so 810 lines in total): first time at 2190 lines, then in regular intervals of 2900. When the line counter overflows, this also happens.
Featuring an AI from meatfighter.com/nintendotetrisai/ (not by me). Go check that site out by the way, it's good.
Recorded in FCEUX.
The AI also had to do a hack to prevent the game from freezing at 1550 lines. This causes inaccurate scores past level 30, but hey, it maxes out anyway. I've included a FCEUX Lua script below to do just this hack.
It doesn't make any Tetrises because it doesn't care about score.
Downloads:
- the savestate when it stopped playing: www.dropbox.com/s/pq7ei6qfcweoma2/Ehm_I_broke_Tetris.sav?dl=0
- the fceux movie of the whole gameplay, compressed: www.dropbox.com/s/2h06bcx4s7cybna/Ehm_I_broke_Tetris.fm2.zip?dl=0
- the Lua script to stop the game from freezing at level 155: www.dropbox.com/s/s1rc1h6dpn5i5bq/Tetris_disable_killscreen.lua?dl=0
0:00:12 - game starts
0:11:42 - level 29 reached
0:27:20 - max-out
0:29:25 - line counter reaches A00
0:38:58 - colors get weird (level 138)
0:43:11 - game would have frozen at 1550 lines (see below)
0:59:08 - first 800-line level reached
1:10:39 - S piece statistic reaches A00, followed by Z piece
1:28:14 - level counter overflows
1:37:53 - first digit of line counter becomes -
11:11:53 - line counter overflows (during 800-line level)
11:34:05 - game ends
If you find any other interesting things in the video, let me know so I can add them!
paonquinho:
Score max-out at Level 91: 27:20
810-line level: Level 219 [96] 59:07 - 1:19:14
1st lap completed - 1:28:14
810-line level: Level 173 [06] 2:15:43 - 2:35:51
2nd lap completed - 2:56:16
810-line level: Level 127 [06] 3:32:05 - 3:52:18
3rd lap completed - 4:24:13
810-line level: Level 91 [A8] 4:51:09 - 5:11:21
4rd lap completed - 5:52:13
810-line level: Level 45 [96] 6:07:40 - 6:27:48
810-line level: Level 255 [A8] 7:19:53 - 7:40:05
5th lap completed - 7:40:05
810-line level: Level 219 [96] 8:39:01 - 8:59:08
6th lap completed - 9:08:03
810-line level: Level 173 [06] 9:55:10 - 10:15:26
7th lap completed - 10:35:56
810-line level: Level 127 [06] 11:11:35 - 11:31:48
Line counter loops back to 000 after 25600 lines cleared 11:11:53
Commits suicide at 11:34:01 on Level 136 of the 8th lap, clearing a total of 26,487 lines. 9591 T-blocks, 9215 J-blocks, 9795 Z-blocks, 9458 O-blocks, 9591 S-blocks, 9457 L-blocks, 9179 I-blocks
TheMoonRover: 2:33:46 I probably skipped past some, but this was the first tetris I saw.
All the bugs shown during the video:
- The statistic blocks have a weird color during two frames before the game starts. (you can view individual frames by pressing ',' and '.')
- After level 29, the levels get weird: Unlike most numeric variables, the level is stored in binary format (others are in packed BCD). To convert from the level number to a string that can be displayed, a lookup table is used, but it ends at level 29. The next few values are another lookup table, and another one follows. The remainder are instructions. You can look in the comments, where I put a displayed to actual level number lookup table.
- The colors get weird at level 138: determining the tetromino color is done by subtracting 10 from the level number until the result is smaller than 10 and then looking that value up in a lookup table, but the "smaller than 10" check is done as if it were a signed 8-bit number (instead of unsigned), so any signed number above 127 will actually be negative (and thus smaller than 10). The reason 128-137 aren't weird is because the "is smaller than 10" check is done by with subtraction and 137 - 10 = 127. If the level number is above 137, the resulting data will be well after the lookup table. Colors also repeat every 64 levels, which makes sense because each palette consists of 4 bytes, making it 256 bytes in total.
- Line counter and statistics go beyond 999: the rightmost two digits are stored in packed BCD and checks are done to ensure it won't reach A, but the first digit is a byte by itself and no checks are performed.
- The game would have frozen at 1550 lines: to calculate the score that should be added, a value (0 for none, 40 for single, 100 for double, 300 for triple and 1200 for tetris) is multiplied by the level number + 1. This multiplication is performed every frame, but usually, the number of cleared lines will be 0 and nothing will be added. The problem is that this multiplication is performed by repeatedly adding one number to the other and at level 155, the time that would take becomes more than one frame. To disable this, it capped the level number + 1 variable at 30, the highest value it was ever supposed to reach. This means higher levels will have inaccurate scoring, but hey, it still maxes-out. I disabled it using the single-line Lua program you can find in the downloads.
- Some levels are 800 lines longer (so 810 lines in total): first time at 2190 lines, then in regular intervals of 2900. When the line counter overflows, this also happens.
Переглядів: 78 475
Eo quay mà 11 tiếng
Tetris again in 4:22:17 in 10000 to 10004 lines ,2 tetris so far to be found
Timestamping the whole video! 0:12 - The start 8:00 - Level 19 8:49 - 100k score 11:43 - Level 29 11:58 - Perfect clear 27:20 - Maxout 29:26 - 1000 lines 38:58 - Glitched colors 59:07 - 810 line level 59:46 - Perfect clear 2# 1:19:15 - End of 810 level 1:28:14 - Rebirth 1:37:53 - Line counter break 2:07:00 - Glitched colors 2# 2:15:44 - 810 line level 2# 2:33:46 - First tetris 2:56:16 - Rebirth 2# 3:54:47 - Glitched colors 3# 3:55:32 - Perfect clear 3# 4:24:13 - Rebirth 3# 4:51:08 - 810 line level 3# 5:22:53 - Glitched colors 4# 5:23:20 - Perfect clear 4# 6:07:39 - 810 line level 4# 6:50:43 - Glitched colors 5# 7:19:54 - 810 line level 5# 7:40:06 - Rebirth 6# 8:18:46 - Glitched colors 6# 8:39:01 - 810 line level 6# 9:08:02 - Rebirth 7# 9:46:28 - Glitched colors 7# 9:55:11 - 810 line level 7# 10:00:00 - 10 hours! 10:35:57 - Rebirth 8# 11:11:54 - Line counter fix 11:33:59 - End game
I’m guessing this is a modded cartridge as it normally would have crashed on on line for a specific level
The rom is not modded. It's the lua script that caps the multiplier that is used for the score calculation at 30 (level 29). This means score counting is inaccurate past that level.
@@fghsgh yea I see now
this might be the world record
nah, it's just a program, it can play indefinitely (also, i didn't make it, im just showcasing it, credit is in the description)
@@fghsgh it was a joke but okay
43:12 IT DIDN'T CRASH
Yeah, the multiplier for the score calculation is capped at 30 by the lua script, which means score is only accurate up to level 29. I think it was believed at the time that this crash could not be prevented (recently, methods have been found to avoid the crash all the way to level 255), so if you wanted to play past 155, you needed to hack the game.
Im wondering what is the score.
sequence: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-,'>! Minecraft Heart ??? and more...
Why does it wait until the last second?
At level 89 at 26:49 perfect clear happens
is no one gonna talk about the fact that the ai waits till last second for the movements in the early levels
it's like water
The Ben Shapiro of Tetris 🤭
10:35:58 REBIRTH NUMBER 7
9:08:04 REBIRTH NUMBER 6
7:40:06 REBIRTH NUMBER 5
5:52:14 REBIRTH NUMBER 4
4:24:14 REBIRTH NUMBER 3
2:56:17 REBIRTH NUMBER 2
1:37:54 Line counter breaks
1:28:15 REBIRTH NUMBER 1
1:19:16 The 810 line long level ends. Level 220, 35 levels away from Rebirth (Level 255 clear)
59:08 Level 219 - the 810 lines level It has been confirmed that NES Tetris has one single level that is 810 lines long (After clearing 10 lines here, the color palette doesn't change and the level up sound doesn't play). EricICX managed to figure out that this level is somewhere in the 200s, depending on what level you started on. If you started on Level 0, then the 810 lines level is Level 219.
59:08 Level 219 - the 810 lines level It has been confirmed that NES Tetris has one single level that is 810 lines long (After clearing 10 lines here, the color palette doesn't change and the level up sound doesn't play). EricICX managed to figure out that this level is somewhere in the 200s, depending on what level you started on. If you started on Level 0, then the 810 lines level is Level 219.
43:13 This right here (clearing a single while having 1549 lines cleared from a Level 0 standpoint) is what should have been the first major crash trigger But because the AI starts on Level 0 and clears lines by burning, the game's internal calculator can still crank out a few solid calculations.
38:58 Glitched colors at Level 138
27:22 Maxout at Level 91
And it's not even rolling!
55:22 high stack
perfect clear on charcoal 46:55
Did anyone manage to count the score?
11:29:46 how much is a Tetris worth in this level
152400
5:36 11:58 never dissapoints me
Happy 6 years
1:37:52 lines counter reaches -00
How to relax the red army down 😅
5:36 actual first perfect clear
57:54
46:57 perfect clear
11:58 Another perfect clear
5:37 Perfect clear !!
its weird how it reacts on the last possible moment
1:04:07 another perfect clear
1:51:07 first perfect clear i saw
Why did the AI commit suicide? 11:34:02
Decided i had let it run for long enough. My goal was to overflow the piece counters too but the line counter was good enough.
@@fghsgh I was looking through your comments and had figured that out myself, but thank you for letting me know
1:00:38 what a strange tuck
Now do in a version that we can see score and focus on tetris
This is how you get ♾️ points
59:39 perfect clear
1:24:16 Lines: WOOOOOOOOOOOOOOOOO
Phase 1: Speed Increasement. 0:12 - 11:42 Phase 2: Killscreen Speed 11:42 - 38:58 Phase 3: Glitched Colors 38:58 - 1:28:15 Phase 4: Rebirth Screen #1 1:28:15 - 2:56:17 Phase 5: Rebirth Screen #2 2:56:17 - 4:24:14 Phase 6: Rebirth Screen #3 4:24:14 - 5:52:14 Phase 7: Rebirth Screen #4 5:52:14 - 7:40:06 Phase 8: Rebirth Screen #5 7:40:06 - 9:08:04 Phase 9: Rebirth Screen #6 9:08:04 - 10:35:58 Phase 10: Rebirth Screen #7 10:35:58 - 11:34:02 Phase 11: Game Over 11:34:02 - 11:34:22