[TARTA] NES Tetris No Rotation - 45 Lines (**NOT** RTA or TAS; read description)

  Рет қаралды 16,133

Adrien Wu

Adrien Wu

3 жыл бұрын

TARTA (Tool-Assisted Real-Time Attack) is a somewhat "mixed" version of RTA and TAS. It can be seen as a run with near-perfect decisions but with physical limitations same as a real-time run (reaction time, input speed, etc.)
TARTA is almost the same as normal real-time runs, except that player has access to some "tools" that help the player to make decisions. The information that the tools can utilize is the same as the player get (hence no random manipulation).
In this video, the tool used is a program that reads the screen and outputs a favorable piece placement with the input sequence. The output of the program can be seen in the bottom-right corner.
Why this run is created?
There are 2 main purposes for creating this run:
1. Demonstrating a new strategy to the no-ro category, with the hope of pushing the WR further.
2. Introducing the concept of TARTA. I assume that TARTA can also apply in other categories such as regular high-score runs, and it could probably be more helpful to the RTA community compared to TAS.
How did you write the program?
I trained an artificial neural network model (consisting of CNN residual blocks) using proximal policy optimization (PPO) algorithm. The training took about 5 days on an RTX 2080 Ti GPU.
The model achieves an average of 24.35 lines. It achieves 30 lines in about 26% of games, 35 in 12%, 40 in 4.5%, 45 in 1.5%, 50 in 0.4% and 55 in 0.1% of games. When doing TARTA, some next-piece-dependent top-row placements become infeasible, but the overall performance is still desirable. I played only ~50 games before this run, and got 36 lines in 3 of the games.
Here's the model and the source code: github.com/adrien1018/noro-te...
About the strategy and some model characteristics
It seems that the (near-)optimal strategy is to build a well on the left and tuck everything to the right (imagine rotating the whole field clockwise by 90 degrees), and build the right stack as accommodating as possible.
In no-ro, there is theoretically no asymmetry except piece movements, which I didn't pose any limit in the training process. However, I found that the model chooses to build the well on the left almost every time. After some research, I realized that it is due to the non-uniformity of the RNG in NES Tetris. Assume the internal RNG is statistically random, the piece spawning process can be formulated with a Markov chain with the following transition matrix (the row/column order is TJZOSLI):
[1 5 6 5 5 5 5
6 1 5 5 5 5 5
5 6 1 5 5 5 5
5 5 5 2 5 5 5
5 5 5 5 2 5 5
6 5 5 5 5 1 5
5 5 5 5 6 5 1] / 32
Notice that S-J sequences are more likely to happen than Z-L sequences, which make the left well more preferable. There are other asymmetries in the transition matrix, but I assume that the S-J sequence is the most decisive one. Though the model scored only 0.2 lines less on average if I reversed the spawning behavior of S/Z and J/L, so the difference between left-well and right-well is not significant.
(meatfighter.com/nintendotetri... describes the RNG mechanism. However, it incorrectly assumes that all tetrominoes are spawned uniformly, thus giving the incorrect final distribution of pieces. The correct distribution is the left eigenvector with unit eigenvalue of the transition matrix, which is [T,J,Z,O,S,L,I]=[1369/9331, 47989/335916, 1334/9331, 1/7, 37/252, 5/36, 5/36], or approximately [14.672%, 14.286%, 14.296%, 14.286%, 14.683%, 13.889%, 13.889%].)
I also found that the model utilized the non-uniformity a lot: when training with uniform RNG (but evaluating on NES RNG), the average score turned out to be about 1~2 lines less. The non-uniformity also makes the no-ro slightly easier: when evaluating the model trained with uniform RNG, the average score on uniform RNG is about 2~3 lines less than NES RNG.
It would be harder to take RNG non-uniformity into account in RTA runs, but some easy factors (e.g. the same piece spawning back-to-back is unlikely) can be utilized when building dependencies.

Пікірлер: 68
3 жыл бұрын
GG dude I wanted to see this happening, like I literally asked for an NN based tetris bot, and actually my prediction was right to fill the sides and tuck a lot, but this is insane. So actually you should fill only one side completely 6-7 deep and then get the lines... GG Thank you so much for your work
@tomjacobs4444
@tomjacobs4444 3 жыл бұрын
My man was rolling on his fingers in 2020
@NerdTheBox
@NerdTheBox 3 жыл бұрын
ahead of his time
@dandanthedandan7558
@dandanthedandan7558 2 жыл бұрын
He even wears a glove
@dekomori8127
@dekomori8127 2 жыл бұрын
I use this technique too
@SpaceAUWasTaken
@SpaceAUWasTaken 4 ай бұрын
I seen it on a NES controller but never on keyboard
@ThinkAboutVic
@ThinkAboutVic 3 жыл бұрын
I'm just focused on your hypertap technique lmfao
@kebub1
@kebub1 3 жыл бұрын
all this time i thought its some special kind of kb without arrows and its more like iphone surface so he can tap ;d
@ducc2658
@ducc2658 3 жыл бұрын
I really hope you're joking....
@thatoneguy9582
@thatoneguy9582 3 жыл бұрын
rolling but funny
@dandanthedandan7558
@dandanthedandan7558 2 жыл бұрын
It's rolling before rolling lol
@dekomori8127
@dekomori8127 2 жыл бұрын
I also use this technique
@aidanhennessey5586
@aidanhennessey5586 3 жыл бұрын
This is incredible. I’ve thought about using CNNs to make a NEStris AI for a while and it’s amazing to see that they work very well in this game. I can’t wait to see your source code!
@adrien_1018
@adrien_1018 3 жыл бұрын
The source code is now available: github.com/adrien1018/noro-tetris-ai
@defaault
@defaault 3 жыл бұрын
Do know any way to play tetris on pc like this what he does?
@joshuafroud6007
@joshuafroud6007 2 жыл бұрын
Crazy that the wr is 52 which is better than the TARTA wr
@norogaming1941
@norogaming1941 2 жыл бұрын
60!
@richardriemersma
@richardriemersma 3 жыл бұрын
Talking about horizontal awareness
@SodiumOverdose
@SodiumOverdose 3 жыл бұрын
You are so cool wtf this is nuts, absolutely amazing
@riccardovignali7307
@riccardovignali7307 3 жыл бұрын
Great job and great descprition!
@nicolasblauthdemattos9803
@nicolasblauthdemattos9803 2 жыл бұрын
Pretty damn impressive! Both the smart plays and the rolling on a keyboard :O
@flophawk
@flophawk 3 жыл бұрын
5:00 wow! they have it! *_𝕤 𝕢 𝕦 𝕒 𝕣 𝕖_*
@Xanderqwerty123
@Xanderqwerty123 3 жыл бұрын
That rolling/hypertaping tech is interesting. Be interesting to see someone adapt that to controller
@chkohl1919
@chkohl1919 3 жыл бұрын
They already have. People are getting over 20 taps per second with a controller.
@Buskyb
@Buskyb 3 жыл бұрын
Already done, even been used in competition
@yeet3279
@yeet3279 3 жыл бұрын
@@chkohl1919 well, over 20 hz tapping would me more accurate IMO
@migangfercab
@migangfercab 3 жыл бұрын
Imminent incoming World Tetris championship non rotation round battle!!
@nagylevente5608
@nagylevente5608 2 жыл бұрын
Now there are 2 players who has beaten this score in a normal real-time game after Poet got 47
@ryanamburgy2791
@ryanamburgy2791 6 ай бұрын
3 now
@jenokiss1959
@jenokiss1959 3 жыл бұрын
Nice showcase of what noro can evolve to. So do you wanna go for the wr by yourself as well? Or aren't you interested? Love the flyheck tapping method!
@adrien_1018
@adrien_1018 3 жыл бұрын
I think I would rather make more tetris AIs than going for the WR though
@jenokiss1959
@jenokiss1959 3 жыл бұрын
@@defaault Messen and Fceux emulators!
@ChicagoRetroGamer
@ChicagoRetroGamer 3 жыл бұрын
Whoa, so cool. Big props.
@netzocot8375
@netzocot8375 3 жыл бұрын
You sir, deserve more subscribers
@giusepperesponte8077
@giusepperesponte8077 3 жыл бұрын
Wow, what are the odds. I can’t roll with an nes controller, so I was experimenting with ways of doing it and I found that the way you do it in this video is the only way I can do it as well. It sucks there’s no real way to do this on an NES controller, because this method of rolling your finger is super effective. I’m glad that I can hypertap fast because rolling is just really clumsy to me.
@maxjohnson5686
@maxjohnson5686 2 жыл бұрын
He has no idea
@gnochhuos645
@gnochhuos645 3 жыл бұрын
Here after Zoltan use this in his new WR
@jenokiss1959
@jenokiss1959 3 жыл бұрын
Yeah, he is insane and I think he will get 50 lines soon for sure!
@kwdmawdmwoa5668
@kwdmawdmwoa5668 3 жыл бұрын
s t thay o khap noi
@jenokiss1959
@jenokiss1959 2 жыл бұрын
He got 52 which is higher than the TARTA
@PretzelBS
@PretzelBS 3 жыл бұрын
What a great video
@SamTheS
@SamTheS Жыл бұрын
Remember when 45 lines was insane? No disrespect to this, i think you set alot pf great groundwork for the eventual noro community, im just saying that it has evolved so much in the past year.
@GabrielConstantinides
@GabrielConstantinides 2 жыл бұрын
3:10 lmao I wasn't sure if you'd go for that, very nice
@Lampyboi
@Lampyboi 3 жыл бұрын
Outrageous
@svalis1068
@svalis1068 Жыл бұрын
Do you know of any guides on how to roll on a keyboard? If not, can you share some details regarding your own set-up (keyboard, emulator, button configuration etc.)? Any other tips and tricks would be much appreciated.
@isaacmammel9186
@isaacmammel9186 3 жыл бұрын
Wow! Really cool! What makes you say left well works best? Is it just what you've found is best empirically or do you have a theoretical reason behind it?
@isaacmammel9186
@isaacmammel9186 3 жыл бұрын
Also what is your tapping method lol
@aidanhennessey5586
@aidanhennessey5586 3 жыл бұрын
Read description. He explains how the piece distribution isn’t perfectly uniform and this makes left well desireable
@kikemaster0
@kikemaster0 3 жыл бұрын
It's funny for a spanish speaker. TARTA means CAKE haha
@dekomori8127
@dekomori8127 2 жыл бұрын
Yo you use the same technique as me, that’s cool to know someone does it too
@TFWPLSSUB
@TFWPLSSUB Жыл бұрын
How long was the model trained for? I'm also using PPO but for normal tetris, so far no progress
@papakaicovers3710
@papakaicovers3710 11 ай бұрын
this is as close as you can get to rolling on a keyboard
@7venxce
@7venxce 3 жыл бұрын
fuckin brilliant
@jasminehuang7748
@jasminehuang7748 5 ай бұрын
RUN IT AGAIN i wanna see it beat the world record
4 күн бұрын
it's done
@Daniel-em4ov
@Daniel-em4ov 2 жыл бұрын
The white glove was necesaary to achieve 45 lines
@121DSpCe-Tile
@121DSpCe-Tile 3 жыл бұрын
Why start at lvl 3?
@thingocnguyen4096
@thingocnguyen4096 3 жыл бұрын
Can you show me the link of this tetris game? Thanks
@AgoraNights
@AgoraNights 3 жыл бұрын
0:52 E
@DouglasZwick
@DouglasZwick 3 жыл бұрын
@puseven8604
@puseven8604 3 жыл бұрын
Holy wtf is this
@gabymorgi9465
@gabymorgi9465 3 жыл бұрын
TARTA is a lie (tarta means cake in spanish)
How Did I Complete This IMPOSSIBLE Tetris Challenge!?!?
16:10
fractal161
Рет қаралды 395 М.
The Luckiest No Rotation Game (BetaTetris NoRo)
4:06
Adrien Wu
Рет қаралды 10 М.
She ruined my dominos! 😭 Cool train tool helps me #gadget
00:40
Go Gizmo!
Рет қаралды 30 МЛН
Василиса наняла личного массажиста 😂 #shorts
00:22
Денис Кукояка
Рет қаралды 4,4 МЛН
Balloon Stepping Challenge: Barry Policeman Vs  Herobrine and His Friends
00:28
The French Scrabble Champion who doesn't speak French
48:59
Alex Dings
Рет қаралды 848 М.
How Super Mario 64 was beaten without the A button
24:12
Bismuth
Рет қаралды 729 М.
Tetris Effect - E3 2018 Announce Trailer | PS4
2:58
PlayStation
Рет қаралды 2,4 МЛН
Dumbest Tetris World Records
2:42
KezDaBez
Рет қаралды 19 М.
Tetris: The Grand Master by eon in 10:40 - Frost Fatales 2023
21:52
Games Done Quick
Рет қаралды 12 М.
TETRIS NES Original Soundtrack (Nintendo Version)
2:22
Mexxita Music
Рет қаралды 39
First Ever AI REBIRTH SCREEN on Original NES Tetris
1:15:46
Adrien Wu
Рет қаралды 125 М.
She ruined my dominos! 😭 Cool train tool helps me #gadget
00:40
Go Gizmo!
Рет қаралды 30 МЛН