No video

This Might Be The Best* Game Of Tetris Ever Recorded On Real Hardware - AI Plays NES On Live Stream

  Рет қаралды 839

CodingLikeMad

CodingLikeMad

Күн бұрын

This video has what I believe to be the best (Non-TAS/RNG Maniped) game ever recorded on real hardware. Last year I created a tetris AI that demolishes Tetris 1989 in real time on an actual Nintendo Entertainment System from the 1980s. No random number manipulation, pre-programmed TAS moves, or emulation was used for the game play itself. Since my last video I've added a reinforcement learning system to focus on getting absurdly high scores - keep an eye out for a video explaining all the details, but for now, enjoy an AMAZING game of tetris.
If you want to watch me make this stuff live, checkout my twitch:
/ spshkyros
Check out my other social media if you want to follow my work:
Twitter: / codinglikemad
Reddit: / codinglikemad
Original Video Was Here:
• AI Destroys NES Tetris...
If you want more details on the algorithm, I posted an unlisted video with more details here:
• Tetris Bot AI Descript...

Пікірлер: 17
@dkomo2
@dkomo2 3 жыл бұрын
8:24 "I don't think we're going to make D unless it gets a tetris after the killscreen." Bot: Ok, I'll make three tetrises and go for E.
@Blastoisebob
@Blastoisebob 3 жыл бұрын
Kyros you are not supposed to lose the D good sir Feelsbadman. Also i am still waiting for that free Pizza and T-spins i asked for last Vid
@Blastoisebob
@Blastoisebob 3 жыл бұрын
DANG THIS BOI LOOKING FINE!
@dkomo2
@dkomo2 3 жыл бұрын
7:32 The field wasn't tetris ready. Maybe thats why the bot put the long bar there and was burning stuff down? Does it prioritize being tetris ready for using a long bar, unless it needs to burn to stay alive?
@CodingLikeMad
@CodingLikeMad 3 жыл бұрын
Sadly, it is a black box ai - it does what it wants and wont tell us why. Means that you cant tell if genius move or stupid move until after the fact:p
@JohnSmith_1123
@JohnSmith_1123 3 жыл бұрын
Wow some of the delayed double burns are unthinkable for me
@JohnSmith_1123
@JohnSmith_1123 3 жыл бұрын
Curious question, why is the ai building left wells?
@CodingLikeMad
@CodingLikeMad 3 жыл бұрын
@@JohnSmith_1123 We've been arguing over this for a while! I've trained something like 4 or 5 reinforcement learning agents so far. The first couple (including this one) preferred left wells, while the most recent couple preferred right wells! My training doesn't actually use gravity at all, so it shouldn't really have a preference in my eyes. My guess is that it's just picking one to focus on, and that it's easier to learn to do only one and chance dictated it - but who knows! The more advanced ones ARE picking right well consistently (as much as "2/2" is consistent anyway), so I guess we'll see as we add a couple more data points in the future :)
@JohnSmith_1123
@JohnSmith_1123 3 жыл бұрын
@@CodingLikeMad Thanks for explaining man! Love your videos, I could binge watch them all day!
@norwegianoot4124
@norwegianoot4124 3 жыл бұрын
need more tspins
@CodingLikeMad
@CodingLikeMad 3 жыл бұрын
Soon!
@mthees08
@mthees08 3 жыл бұрын
I find it weird the bot always stacks right to left.
@CodingLikeMad
@CodingLikeMad 3 жыл бұрын
Earlier versions preferred left to right. I think it has trouble figuring out that it can switch between the two.
@ussgordoncaptain
@ussgordoncaptain 3 жыл бұрын
Why couldn't you have a screen reader on the level to change the height it wants to play at depending on the level it's on? Stockfish has completely different piece valuations depending on the number of pieces currently on the board and I'd think it'd be a simple if statement to change the AI's "height suggestion"
@CodingLikeMad
@CodingLikeMad 3 жыл бұрын
The main reason I've hesistated to do this is that reading the screen and processing it is relatively expensive (keep in mind this is real time running on hardware - frames are precious), so I'd need to multithread further and that's a decent chunk of time to invest. That said, my next step alluded to in this video is to adapt the height level dynamically based on the number of pieces placed. I'll be releasing a couple vods based on that performance improvement in the next couple weeks :) Changing the height in this case isn't that easy, because the height is a fundamental parameter of the neural net, but I created a set of neural nets that knew how to play at many height levels simultaneously, and that seemed to work out very well :) Stay tuned!
@ussgordoncaptain
@ussgordoncaptain 3 жыл бұрын
@@CodingLikeMad Ah one of the many fragilities of NN based archetecture compared to search based ones. Good luck getting it to learn faster. Also it's probably useful to have it learn in gravity after a point, IDR how changing enviornments works out for some NN based architecture but if you're using tensorflow you probably can do it relatively cleanly. You'd need 3 Ai's probably 1 for level 18 (if you want to be true to human play you start at level 18) 1 at level 19-28 1 at level 29+ I agree that screen recording and reading the number isn't cheap, you could save frames by pooling the number only every 20 frames or something.
@CodingLikeMad
@CodingLikeMad 3 жыл бұрын
@@ussgordoncaptain The system I currently use (alluded to being my "plan" in the video, but when I made this video it wasn't done yet) actually takes in a variable indicating the "height" of the board. This lets me tune it to play more conservatively at 29+ vs. at 18 for instance. By doing this in one AI instead of two, they share information - this is one approach to "transfer learning" people talk about in this field, I'm not sure if it's commonly done this way though. It has been my best performance to date though, so there's that :) Gravity is going to be a nightmare the way I have coded things right now, but I do have some thoughts on how to do it. :/
AI BREAKS NES TETRIS! - 102 MILLION and level 237
25:48
Greg Cannon
Рет қаралды 2,8 МЛН
I Paid Fiverr Game Developers to Make the Same Game
10:25
BadGameDev
Рет қаралды 677 М.
The Giant sleep in the town 👹🛏️🏡
00:24
Construction Site
Рет қаралды 21 МЛН
Gli occhiali da sole non mi hanno coperto! 😎
00:13
Senza Limiti
Рет қаралды 22 МЛН
The Joker kisses Harley Quinn underwater!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 19 МЛН
I Beat The WORST PvZ Knockoff [The Movie]
46:13
Brando
Рет қаралды 790 М.
Bringing GLaDOS to life with Robotics and AI
13:04
Dave's Armoury
Рет қаралды 852 М.
These Keys Shouldn't Exist | Nostalgia Nerd
19:32
Nostalgia Nerd
Рет қаралды 657 М.
The Windows XP Frog Mystery…
11:44
bjiru
Рет қаралды 135 М.
Rush E but played by a real person
2:45
Elioth
Рет қаралды 82 МЛН
A 15 Year Old Just Broke Every Tetris World Record
40:03
aGameScout
Рет қаралды 4,6 МЛН
Installing The Sonic Drive-In Operating System
36:26
Bringus Studios
Рет қаралды 899 М.
AI Destroys NES Tetris On A REAL Nintendo!
9:58
CodingLikeMad
Рет қаралды 5 М.
I Made A Difficult Game About Climbing
15:04
Pontypants
Рет қаралды 2,1 МЛН
The Giant sleep in the town 👹🛏️🏡
00:24
Construction Site
Рет қаралды 21 МЛН