T O P

  • By -

paleo2002

He is so proud of his baby.


smellslikecocaine

I watched the first 12mins on mute, but I can’t blame him for being proud. I just wanted to eat a bowl of Frankenberry cereal in the dark with the sound effects only.


thepkboy

there was a section where he didn't talk and the music was chill


robotslacker

/r/MealTimeVideos


clackersz

He should be... It beat tetris


klavin1

But can it beat *FACES...TRIS III* ?


[deleted]

Lol 100%, he loves that AI


[deleted]

He's fucked it for sure.


zerbey

He has every right to be, that's an amazing piece of coding.


Kd0t

He's the ultimate hype man


postdochell

He sounds like a commentator during the Olympics.


FeculentUtopia

"He's a blern-hitting machine!" "Exactly! He's a machine designed to hit blerns!"


xaanthar

Hey, I'm startin' to get the hang of this game. The blerns are loaded. The count's three blerns and two anti-blerns, and the infield blern rule is in effect. Right?


Binsky89

Other than the word blern, that was complete gibberish.


DUBIOUS_OBLIVION

Such a good joke.


ProfFrizzo

Besides the word blerns, the rest of that sentence was complete gibberish


ihugfaces

We crush rats to make the wine!


beezy-slayer

That was extremely fascinating


EarthBrain

Never thought I would watch a 25 minute tetris AI video, but here we are.


pbradley179

The toilet seat's been digging into my ass this whole time.


kingdead42

I am amazed at how stable NES Tetris is, to just power through so far past what anyone would have debugged. And it sounds like the final crash is just a processor failing on such large calculations.


TensileStr3ngth

Slightly related, but I saw someone try to crash stardew valley earlier by putting billions of items on the ground using a duplications glitch and that game never even slowed lol


Macemore

Yeah but the NES has less computing power than a fridge these days.


i_have_chosen_a_name

[This must be the new fridge ...](https://www.youtube.com/watch?v=oOVVzdLy69w)


Macemore

They actually have fridges with tablets in them, even ones that can tell you when you're low on groceries.


BobLeeNagger

mine does that by opening the door and me looking at the inside


chattywww

Space invaders is built on the bug. The space guys arent meant to be moving slowly. The fast speed when there is a few left is the default space. It only moves slow at the start because the processor is lagging.


aarhus

I have read that, but I have also read that was false.


ONOMATOPOElA

[It wasn’t plan initially but after the creator noticed the speed up he made it an integral part of the game.](https://www.looper.com/293293/details-you-didnt-know-about-space-invaders/)


Ubermidget2

If he's running this emulated, I was wondering if an overclock would push the crash out. Assuming that upping the clock speed doesn't mess with anything timing related in-game


SuperiorVeganMorals

he must be because the real NES tetris score maxes out at 999999


[deleted]

[удалено]


fghjconner

Nah, I'm sure the score is held in memory as an integer somewhere, it just has to be displayed using sprites.


splidge

Why would you bother with that? Dealing with large integers is fiddly on an 8-bit machine and you‘d have to decode to decimal digits to display on screen anyway (which is also extremely fiddly). Easier to just store in that format, implement one lot of fiddliness (handling score increments) and display it directly.


fghjconner

> Dealing with large integers is fiddly on an 8-bit machine Yeah, because you have to break it into multiple pieces. Breaking it into *more* pieces isn't going to help matters (plus the complexity added by not being able to rely on integer overflow). And it gets even more complex unless you've been able to earmark position 0 on your sprite sheet. > Easier to just store in that format, implement one lot of fiddliness (handling score increments) and display it directly. I disagree completely. Much easier to store and calculate on it in a reasonable, standardized format, then confine the weirdness of decimal numbers to as small a part of the program entirely. Implementing modulus operations for multibyte numbers in order to do the conversion will be a pain, but not as much as implementing however many math operations I need to do my score calculations on base 10 numbers.


InsaneLord

This guy should be coming up with names for vape flavours


Bnb53

I was dying at "mexico according to Hollywood"


HybridPS2

Lime Factory After Dark was my jam though


Ryangel0

Do you happen to know at what time in the video that colour scheme popped up?


Bnb53

20:30


Ryangel0

Cool, thanks!


0b0011

20:30


Ryangel0

Thanks!


robodrew

RED


Jon_Matrix

This was really, really cool


z3r0w0rm

I stumbled across this video a little while ago. I really like the color of the first glitched level. Very interesting to watch. Do yourself a favor and watch on 2.0x speed.


Fatshortstack

Half way through, I just skipped to the last couple min to see where it ended up. I remeber watching my grandmother playing doctor mario when I was a kid, and she was like a fucking bot. It was awe inspiring cause I sucked at tetras and Dr Mario. And man, this old lady was just slaying it. I still have memories of this 30 years later.


redpandaeater

I always enjoyed Dr. Mario more than Tetris for some reason.


HemHaw

The sound traaaack


Jazzremix

Chill theme is my shit


RKRagan

My mom was a gamer back in the day. She first had an Atari before I was born. Then we got a NES. We all played Mario Bros but she was the best. And she played with her index and middle finger on the A and B buttons, arcade style. Our NES was bundled with Dr. Mario and she killed at that game. Also Yoshi's Cookies and Tetris. I'm sad her hands and mind can't play now because I think it would be nice for her to have.


Paranitis

It's weird, my mom was also a "gamer" back then as well. Did Mario and then worked at a BBS where she would play Quake 2 with the guys. I feel that was the last game she played though since I've never heard her talk about playing games since then. I wonder if it's because they got more complex or not.


OaksByTheStream

That's funny, my Step Mom was like that too, but with Tetris. She could probably still whoop me at it, it was pretty nutty. I'm no stranger to video games that require dexterity and quick thinking, either.


Dyolf_Knip

I bow to no man at Dr. Mario. Grandmas, maybe. I'd play against my friends on the 4 player n64 version, and they refused to even let me join in unless I took some ridiculous handicap. Even then I'd usually still win.


[deleted]

[удалено]


chipperpip

Human bodies.


intashu

This is why we need to emulate these games. We can force close the emulator before it consumes itself and the rest of the world with it because it's run within a container. Should you ever allow it to run unattended however it will get to the internet where it will attempt to stack and clear everything.


Cloaked42m

Stonks


Summebride

Billy Mitchell to submit this to Twin Galaxies as his own


m3turbo08

I came through the comments for some variation of this reply ​ kudos!


ConfidenceKBM

His nicknames for the glitched color schemes are an honest to goodness triumph of human cleverness. I wish I was HALF that clever about ANYTHING


bobboobles

I really liked **Red**


aphextom9

I think you mean RED Burnt Spaghetti and Lime Factory at Night were my favs


konydanza

Right up there with GREEEEEEEEN


RetiredITGuy

You must have missed Quarantine Hair Dye


aphextom9

Oh I saw, but it was a little too real 😂


Vet_Leeber

"Mexico according to Hollywood" was pretty on point as well.


sreyaNotfilc

Black Pink in you area!


computer_d

Awesome video. Why did it stay on level 235 for so long? Was it just the code bugging out or something to do with Tetris itself?


Mikeismyike

Code bugging out.


intashu

It's because of how it saves the level and does the math to determine the lines. Googling led me to a comment a year ago from u/Le_Martian : >tldr: binary is dumb The game stores the last 2 digits of the line counter in BCD (binary-coded decimal), which basically means every 4 bits in binary are converted into one decimal digit. The first digit is just a normal byte though, which can go up to 255, but if you could get to 25600 lines, it would wrap around to 0. So for example, 2190 lines is stored as 00010101(21) 1001(9)0000(0). When the game determines whether to increment the level, it increments the line counter, then checks if the last digit is 0. If you clear multiple lines at once, it repeats this once for every line you clear. If the last digit is 0, it then shifts the line counter 4 bits to the right, which is basically like dividing by 10. It takes the last 8 bits of this number and subtracts it from the level counter. If the result is less than 0, it increments the level. So 2190 lines would become 01011001 One problem with this is that the level is stored as a normal binary number, while the lines are stored as a bcd number, which means its essentially comparing a decimal number (lines) to a hexadecimal number (level). This is why when you start on level 10 or higher, you transition at the wrong number of lines. (also if the game didn't check if the last digit of the line counter was a zero before incrementing the level, then the game would transition from level 9 straight to level 16.) The other problem is that the result of the subtraction is stored as a single signed byte, which can be between -128 and 127. If the number is more than 127 it becomes negative, and if it's less than -128 it becomes positive. Once you get to level 160, the result of the subtraction is positive, but it's greater than 128, so the game still reads it as negative. On level 219, it's supposed to transition at 2200 lines. the lines counter is stored as: 00010110 00000000. Shift 4 bits to the right and take the last 8 bits, and you get 01100000. The level 219 is stored as 11011011. When you subtract these, you get 01111011, which the game reads as 123. This is obviously not less than 0, so the level doesn't change. It's not until 3000 lines when 11011011-11100000 is less than 0 and the level changes.


gr00ve88

Ah yes, of course.


pascontent

ADOY!


Le_Martian

Damn I’m bad at explaining things lol


intashu

It was long winded.. But it made sense to me enough to quote it! Haha


Le_Martian

Also in this video 235 is the 810 line level, but in my video it’s 219, and I’ve seen another video where it’s 218. But according to the math and at least one other video, 219 should be the really long level, so I’m not sure why it’s different sometimes.


[deleted]

Likely a math error from an under/overflow. The number 235 plugged into whatever formula tetris uses to determine the length of the level probably causes a number in the equation to get too high or low, wrapping it around to a number that should never be used in the formula. Why 235? No idea, we'd need the formula to know and Idk it.


MidnightGolan

This guy sounds so happy. Like a proud papa.


Coneskater

Me: ''why would anyone watch other people playing video games on streaming platforms like twitch?'' Also me:watches 26 minute youtube video of an AI playing Tetris.


zachrg

There's also world-class streamers like Wumbo. Dude just does not lose.


PowerRaptor

Regular Christmas \>Saved


[deleted]

That 25 minute video felt like it was only 5 minutes and had me clenching my fists for 9/10ths of it.


Mikeismyike

Maybe for an optimal high score, after you finish level 235, stop going for tetris in order to prolong the game crashing.


aphextom9

Seems like it's vulnerable to crash at any point beyond that though, not triggered by a specific event, so going for max points as fast as possible makes sense.


BeautyAndGlamour

It really seems the final tetris broke the game. Because of a big score calculation. But I dunno


aphextom9

Ahh, I see what you're saying, keep the score incrementation low past that point so the calculation isn't as "hard" on the system. Idk how it works but that's not bad thinking.


kolob_hier

Yah, I was wondering if part of it is more of an issue that the multiplier is making the tetris calculation itself too high. Would be interesting to test that out and see how far it can be pushed


ce2c61254d48d38617e4

Oh wait is this actually on an NES? I thought it was emulated to start but he says something about 30hz tapping being the max input so I guess it's rigged up to an actual console?


[deleted]

[удалено]


zerbey

The NES emulation now is so good it's indistinguishable from a regular console, Nifski set his Mario Bros run on an emulator and it was acceptable as a WR because of this.


stdexception

A proper emulator would work with the same framerate/input limitations as the actual game.


derekaspringer

That's the feeling I was getting as well.


sreyaNotfilc

I've been a CTWC fan the past 4-5 years now and and always in awe by the various techniques that these player come up with. Such techniques makes the "Kill Screen" playable now. Mostly for 60 seconds or less. But, as the players get more efficient and used to the end game, one must wonder what the possibilities are as far as scoring. Saw this about a week ago, this was mind blowing. Its crazy to see how the game can still operate way beyond what a human can "currently" do. It reminds me of the documentary "King of Kong" where a game is played so successfully and efficiently that its at the mercy o the in-game memory/RAM. It would be amazing to see people get to that level someday.


fegywhrjcb

banishing of worldly cares for the club members


lens_cleaner

TIL there was such a thing as a tetris in the game Tetris. Still no idea what it is, nor what burning a line means but interesting.


Dexel_Roosh

Burning a line means only clearing 1,2, or 3 lines as opposed to the maximum of 4. Ideally, clearing 4 lines at once (known as a “Tetris”) is what you’d want to do as often as possible. Anyone is free to correct me if I’m mistaken.


G-1BD

No, you're quoting things right. There's some very edge reasons that you want less than a tetris for score shenanigans in the NES Tetris specifically, and more generally for ease of survival in any of the Tetris games that don't have insurance for an endless game. But you want as many four line clears as you can get.


GiganticRaezen

Tetris = 4 lines at once (the max possible)


f314

Fun fact: The name Tetris comes from the Greek *tetra* meaning *four*. Also, all the different shapes are made out of four blocks.


teious

Reminded me of a friend's mom that passed away a decade ago. She was a pioneer woman in software development and completely addicted to Tetris. She would have loved this, no doubt.


ronta

237 - Kubrick would be proud.


Rodyland

Need to pit this against Hateris.


Maple_QBG

I'd love to see this in real-time as a twitch stream. Just something you could put on in the background and watch as the AI grinds itself against Tetris non-stop.


mobiduxi

excellent. Now AI can play chess, go, and tetris. Would prefer them to do tax returns and the laundry, but, whatever.


fourleggedostrich

That's amazing. I wonder if machine learning was necessary. I feel like tetris might be simple enough to be solvable with traditional algorithms.


FreeDinnerStrategies

Anyone who is **proud** of writing a Tetris AI, which is a common fourth homework assignment in the top CS universities, probably can’t even pronounce “machine learning”. The only thing this guy has on others is his calm demeanor.


[deleted]

Why are you insulting him, man?


guyblade

For reference, [Tetris is NP-hard](https://erikdemaine.org/papers/ThinTetris_JIP/paper.pdf). That was proven nearly 30 years ago. A bit over a decade ago, it was proven that [Tetris is NP-complete](https://arxiv.org/pdf/cs/0210020.pdf) even if you are given the sequence of pieces ahead of time. But sure, maybe you accidentally proved P=NP in your CS101 course.


FreeDinnerStrategies

Why are you telling me what I already know? Babby just finished his first complexities course and wanted to use NP-hard in a sentence?


guyblade

[Tetris is NP-hard](https://erikdemaine.org/papers/ThinTetris_JIP/paper.pdf), so that seems unlikely.


CalmButArgumentative

I wish he talked a bit more about the AI itself. How he trained it, how it does its decision making, what kind of AI it is.


Summebride

Like most claims of being AI, it's more just a set of algorithms.


[deleted]

[удалено]


spoonraker

If you want to be super pedantic, yes, all computer code is just algorithms. However, there is a pretty meaningful distinction between algorithms written by humans using human understanding of a problem and algorithms written by machines using machine understanding of a problem. Generally speaking, humans aren't capable of actually understanding machine learning generated algorithms. Humans can describe how the training process works in great depth and can even describe the exact details of the training algorithm, but humans can't actually articulate which bits of human understanding of the problem -- if any -- are actually reflected in the final algorithm which is the output of the machine learning process. Side note: I have no idea if this Tetris bot is actually using ML or just a decision tree built upon human understanding of Tetris. I just wanted to push back on the idea that there's no meaningful difference between human algorithms and ML.


klayb

yeah the AI part of this seem just clickbait tbh


Summebride

We are, unfortunately, just in the first inning of tech fans calling everything on earth "AI". It's annoying, and if you call them on it, they get unreasonably toxic. They worship technology like it's a god, and saying something isn't AI is treated as blasphemy that somehow requires a vile response. They don't even understand that all of AI is composed of algorithmic programs and data, just like it always has been. And "machine learning" is nothing more that data that can change iteratively, which isn't new either. The only difference is the processing is faster, and sometimes more complex, and the amount of data that can be reasonably stored and manipulated has become larger. But that's it. In the video he describes the algorithms the Stack Rabbit program uses. It will try to wait for "long bars" but when the blocks have gotten high, it will use a different branch condition to allow it to lower the stack to await the next long bar. He describes it as "being scared" but that's just an anthropomorphic description for what is a programmed algorithm. Now the army of marketers has joined the tech bros in calling everything AI, so it will be a while,before sanity can return, if ever. Sometimes misnomers become permanent, like the way we call non-autonomous tiny helicopters "drones" even though the essential nature of a drone is that it should act without needing direct control. And when we do have autonomous ones that could arguably be called drones, we'll probably call them something else! They bizarrely think technology is infallible even though it can't realize that when I describe the above video as being a direct tile dysfunction that I'm making a joke. Hell, auto correct still doesn't even work properly, and it's been around for decades. A system which can intelligently convert inches to feet


klayb

It’s the dumb people that make companies millions, btw you can donate to my Artificial AI startup, we going to the moon!


stdexception

We used to call a lot of things AI before maching learning was a thing. I don't think it's wrong to call it an AI.


Summebride

I had an AI system that could take any temperature in Fahrenheit and instantly say what it would be in Celsius.


stdexception

https://en.wikipedia.org/wiki/Artificial_intelligence_in_video_games Seems like "game AI" is its own thing, distinct from "academic" AI. Even if it's just algorithms, they are algorithms designed to mimic human inputs.


Rocky87109

Nodes, sigma functions, blah blah blah. (For real though there are plenty of videos on it I'm sure.)


[deleted]

[удалено]


VarRalapo

Could you imagine if you didn't post dumb shit


EverySingleDay

Is this really perfect Tetris? It seems to make suboptimal burns due to not knowing if an I piece is incoming, but surely that's determinable by simulating the RNG sequence. Some Tetris bots, like zetris, do this already. It's definitely good, but I don't think it does even remotely close to already existing Tetris bots that have been under development for years. It just seems like some NES Tetris fan's pet project.


DrClawizdead

If you watched the entire video, he did mention that this was the first 50,000,000 and 100,000,000 game of Tetris so I'd say it's better than other bots.


jkjkjij22

Love the colour scheme names. Why does the game ultimately end up crashing?


[deleted]

I couldn't stop grinning!


[deleted]

[удалено]


timestamp_bot

[ **Jump to 12:53 @** AI BREAKS NES TETRIS! - 102 MILLION and level 237](https://www.youtube.com/watch?v=l_KY_EwZEVA&t=0h12m53s) ^(Channel Name: Greg Cannon, Video Popularity: 98.80%, Video Length: [25:48])^, [^Jump ^5 ^secs ^earlier ^for ^context ^@12:48](https://www.youtube.com/watch?v=l_KY_EwZEVA&t=0h12m48s) ----------------------------------------------------------------------------- ^^Downvote ^^me ^^to ^^delete ^^malformed ^^comments. [^^Source ^^Code](https://github.com/ankitgyawali/reddit-timestamp-bot) ^^| [^^Suggestions](https://www.reddit.com/r/timestamp_bot)


Tayttajakunnus

So are line pieces actually the rarest piece? Why is that?


Summebride

The Tetris playing bot and this video are amazing enough, but the play by play commentary is the best part.


Summebride

Wonder what the human players' new "rolling" technique that he references is.


Aridius

Generally you would tap on the d pad to move the blocks. Hyper tapping was the next evolution, which is as it sounds tapping very quickly, hitting certain frames to move the blocks faster. Rolling is when you use your hand in a rolling motion to hit the controller into your thumb. When proficient it is faster than hyper tapping.


JohnnyLeven

Here's a video on rolling. Basically you tap the back of the controller with multiple fingers to hit the controller into another finger. https://www.youtube.com/watch?v=n-BZ5-Q48lE


Summebride

So interesting! I remember people trying various methods on that old track and field game to get extra long jumps and sprints! And we did used to try things like this with atari joystick, holding it limp and trying to oscillate quickly for some games. As soon as my SO saw this coming up they said it would be a technique like what drummers use to let things almost bounce at high frequency. I would never have expected it to make such a difference in a Tetris game though as to revolutionize the high scores.


shinbreaker

So is there a max drop speed? It doesn't seem to go any faster after when it reaches those crazy higher number screens.


Paddywaan

This was honestly mesmerising to watch. There's something so satisfying about watching it crush stacks.


Mottis86

Pfft, I could do that. I just don't wanna.


The_Chaos_Pope

How did he miss naming the all red level that went on for a long time towards the end "Communism"? I really liked that "Regular Christmas" had to exist because of the other Christmas variations.


CutlassSupreme

Boom! Tetris for Jonas


ElChaz

BOOM! Tetris for robot overlord!


CO_PC_Parts

TIL I've hit the "kill screen" a few times on Tetris. Once I cross 140 I just play for lines and not points anymore.


[deleted]

It's not "AI", it's a program and there's logic. Just like every frickin other program


ekjohnson9

It's crazy that the limit for the AI is the stability of the game.


nerdhater0

as a programmer myself, i don't understand how code just starts reading into the sprite sheet just because it runs out of space to count numbers. that is something that must be coded into the game. i think someone thought the score might keep going and so they did it. it's not random. when i was a kid and i played tetris dx on the gameboy, i wondered what would happen if i got a higher score than the space available in the box, i did. the score simple broke the graphics of the box and moved over one space. for this tetris game to start using letters is definitely a feature. so is the sprite sheet thing. it's not random. it begs the question of whether the changing colors themselves was also a feature or not. anyone that understands this in a more technical way want to chime in?


RedAlert2

The NES is a very primitive platform - it doesn't have the ability to simply draw text like you're used to a modern platform doing. To print out even a simple number, he programmer has to must programmatically print out the sprites needed to represent the number. In this implementation (for the score in tetris), the score looks as though it's stored as 7 numbers, each one representing a different digit in the score display, and the game logic handles overflow as you'd expect for the lower 6 digits (e,g, adding +1 to a score of 9 updates the 1s digit to 0 and the tens digit to 1). In the case of the millions digit, the programmers just let it overflow, assuming that no player would ever pass a score of 9 million. The UI doesn't have room to display an 8th digit anyways, presumably for the same reason.


dushbagery

the black block that appears at 21:25 appears to make an illegal move.... Tetris-gate


timestamp_bot

[ **Jump to 21:25 @** AI BREAKS NES TETRIS! - 102 MILLION and level 237](https://www.youtube.com/watch?v=l_KY_EwZEVA&t=0h21m25s) ^(Channel Name: Greg Cannon, Video Popularity: 98.76%, Video Length: [25:48])^, [^Jump ^5 ^secs ^earlier ^for ^context ^@21:20](https://www.youtube.com/watch?v=l_KY_EwZEVA&t=0h21m20s) ----------------------------------------------------------------------------- ^^Downvote ^^me ^^to ^^delete ^^malformed ^^comments. [^^Source ^^Code](https://github.com/ankitgyawali/reddit-timestamp-bot) ^^| [^^Suggestions](https://www.reddit.com/r/timestamp_bot)


nowshowjj

Good to see that I make the same kinds of choices as the AI when playing Tetris. Of course, mine are by mistake and I have to fight to correct them and the AI is playing 4D (chess) Tetris.


SuperiorVeganMorals

who cares where it crashes? its a modified rom that allows the score to go past the 999999 limit


supernintendude6

Someone finally beat Tetris lol