After 34 years, someone beat Tetris [video]
youtube.com
youtube.com
I grew up with Tetris and playing a traditional DAS [1] style and never was able to put the time into learning hypertapping. Once rolling came out a few years ago I totally abandoned trying to keep up. My highest score was almost a maxout on 29
Something you'll notice too is that the younger players are crushing the traditional players by changing the rules. So, NOBODY at CTWC is playing DAS anymore and I think Jonas was the last big DAS player, before moving to Tapping. I attribute this to anyone over 30 learning in the DAS style while younger players can START with rolling.
RIP Jonas Neubauer (NubbinsGoody https://www.twitch.tv/nubbinsgoody) he was the guy that kind of lead the explosion of Tetris after the movie came out and Thor more or less retired. He and his wife were very helpful to me trying to get to maxout with some tips back in 2018 to get a CRT monitor as that was a limiting factor back then.
DAS - "Delayed autoshift," the delay is between when you press the button and when the long keypress starts to register as multiple clicks, auto-shifting the piece to the sides. So this is kind of a software-based "convention" that everyone knows, you open your word processor, you press the down arrow, it goes "down" one line and then waits for a quarter-second and then starts going in a more fluid motion steadily downwards as the software converts the continuous keypress to effectively be a stream of down-button-presses. Tetris has this too, if you hold down left/right you'll move once then after a delay it'll start shifting constantly to the edges.
tapping, hypertapping - tapping a NES controller very quickly by using pressure in your grip to create a "springy" system where you can rapidly flip up/down across the actuation point, so that you don't wait for the delay and the computer-auto-button-presses but communicate each button-press yourself
CTWC - Classic Tetris World Championship, hosted by the Portland Retro Gaming Expo.
Rolling - strategies where you flip tapping/hypertapping "upside down", so that the hand holding the button in tension is actually pressing on the D-pad while the hand actuating the button rapidly is pressing on the traditional bottom of the controller. I don't know what styles are popular but the controller itself might be held upside down to facilitate this. This is something like pressing on your mouse button with two or more fingers in an alternating rhythm in clicky-style games, normally the directional pad is too small to hit with multiple fingers but this technique allows multiple fingers to each register a separate keypress.
Maxout - I believe this refers to when the score overflows the digits available for display and the game just tells you that you have 999,999 points and you have to use independent means to confirm how much you actually scored
CRT monitor - hopefully I don't have to explain this to folks here but a big bulky sort of display that was used before LCDs became ubiquitous, short for "cathode ray tube," which is a big electron gun that we would eagerly point at our own faces hoping that the electrons all got 100% absorbed by little phosphors on the actual screen, which could be reliably triggered to emit red, green, or blue light.
There is also a lot more to latency than just refresh rate. Retro RGB, My Life in Gaming, Digital Foundry and more have volumes on digital signal latency, and it is not as simple as getting a high refresh rate monitor or television. The TV itself can add latency. If going through a receiver, it can add latency. Need to scale a signal from 720p or 1080p to 4K? Maybe you’ll add latency, maybe you won’t. If the display doesn’t have a fast scaler, external devices can be used which will reduce the total latency, even though they may add some of their own (10-33ms).
Though after looking it up: seems hard to find, some quote as little as 1ms, but the general trend is towards 4-5ms, so 200fps in theory. Learn something new every day.
I suppose in that case, then it really just comes down to people having fond memories of lugging their CRTs to lans, but not wanting to re-enact it when we have great >=27" 144hz 4k monitors that are also like 10mm thick :p
I couldn't imagine how big and heavy a CRT with similar specs to modern displays would be!
https://twitter.com/AndrewKemendo/status/1738948621238694167
At least 40lbs
Funny story, one of my best friends, former head of BD for confluent and former power lifter got this CRT for me and literally carried this massive thing down the street in downtown DC to deliver it to me. Ha!
It lets you avoid tearing even if the sender starts acting weird.
Almost any sufficiently advanced community will develop jargon that those outside it find confusing or lackluster.
Hyperclicking I get - it's pushing the button faster than the inbuilt repeat rate. DAS seems to just be.. what people must have been doing before hyper clicking got invented? Were people calling it DAS before hyper clicking became a thing? Or was it a retronym introduced to describe the disadvantages of that technique compared to hyper clicking?
tapping/hypertapping: what you do to your mouse trying to get your click speed above 10 CPS
rolling: the same but tapping each finger on the bottom of the controller while pressing the buttons to feather tap the switch state extremely fast. like fiddling a mechanical keyboard key over the actuation point. The equivalent of putting sharpied electrical tape on your mouse and rubbing it.
DAS: the thing we did as kids to hold the piece up by holding down a horizontal direction.
> what you do to your mouse trying to get your click speed above 10 CPS.
?!
> The equivalent of putting sharpied electrical tape on your mouse and rubbing it.
?!?
I'll grant you that the modern way of having a dedicated "Shift" key on the keyboard is more convenient, especially if you need to type a lot of lower-case letters in a row. But we got by alright.
So if you can vibrate the controller on a way that your input rate increases it doesn’t matter how you make it do that
> tapping/hypertapping: what you do to your mouse trying to get your click speed above 10 CPS
Now imagine for a second that you have, as someone not engaged in the higher levels of professional competitive video gaming, never considered measuring click speed in 'CPS', nor considered how one might get it above 10. You would have no idea what you do to a mouse to accomplish such a thing, so you're none-the-wiser what 'tapping' or 'hyper tapping' actually are (or what the nuanced distinction between them might be).
Can you see how they might be confused?
Then they were told that 'rolling' is
> The equivalent of putting sharpied electrical tape on your mouse and rubbing it.
Again, not having ever considered sharpieing electrical tap, nor what effect it might have if one were to put it on a mouse and rub it (static buildup and a loud squeak possibly?) what is our poor non-elite-gamer to make of this explanation?
Now you're telling them that it doesn't matter how this input rate speed is accomplished. And yet it seems apparent that tapping, hyper tapping and rolling are all nuanced and distinct ways to accomplish this.
This is why people learn not to take an interest in other people's hobbies.
In an effort to be accessible it’s often lands as hard to read cause so much is assumed.
You nailed the point though, so communication happened if maybe more circuitous than optimal
Didn’t everyone memorize Deleuze? (Joking)
There are multiple ways to do this. Jitter clicking and butterfly clicking are the most common ways to do this which don't make use of a particular defect in some mice (double clicking).
Though this is a different video of the same author as the original video in the OP
ssh playnetris.com
Code: https://code.rocket9labs.com/tslocum/netrisConnection to playnetris.com closed by remote host.
Connection to playnetris.com closed.
>ssh playnetris.com
ssh: connect to host playnetris.com port 22: Connection refused
https://acoup.blog/2019/08/16/collections-this-isnt-sparta-p...
The UFC exists today. Some fighters, like Jon Jones, are incredibly gifted and have won, and held, a championship title despite doing a lot of things "wrong" outside of the ring.
Part of the enjoyment of watching modern MMA is seeing chess matches and tactics play out between the most highly skilled fighters in the world.
with lots of steroids and other PEDs
This is also why young players are generally better at first-person shooters, and why I'm unlikely to stay alive for more than a minute in CoD. ':)
Try it now ;-)
PS love the by-line "WARNING: FULL FRONTAL NERDITY"
Since this version was made for 16-bit Windows, it was no surprise that they used a 16-bit integer to store your score. What was surprising is that they used a signed 16-bit integer, meaning that after you passed 32,767 points, your score would roll over into the negative.
Teenage me was so good, I'd consider it a disappointment if my score didn't turn negative in every round I played.
Of course, I'd have to dig up my old computer from a landfill to try and prove it, so I just have to live out the rest of my days knowing that I'm an unrecognized world record holder.
Being super competitive, in order not to lose to me, he became a fiend at minesweeper, being able to do solve the beginner series in under 20 seconds. As he would get better and better, I would continue to beat his high score until he had the beginner down to somewhere around 7 seconds.
I changed it to 6 seconds.
He beat it to 5 seconds.
I changed it to 4 seconds.
At that point he was like, WHAT IS GOING ON? And then I showed him how I could just edit the scores. Boy was he dissapointed. But it goes to show how far we can push ourselves if we know that it's "possible."
Anyway, I think that it's not really surprising that they'd use a signed integer in either case. In every codebase I've ever worked on, signed ints are the default merely because they're the obvious choice for a number. I only see uints when it actually matters, or when a developer is overly pedantic.
Indeed, I consider it a disappointment when I don't succeed to turn the score negative. When I'm in the right state of mind, and have enough time, and a bit of luck maybe, I can go from positive to negative to positive back to negative multiple times; I've never kept count, but I know of some instances where I've played a single game for over 45 minutes at least.
I might give the dosbox + windows 3.1 option a try though, thanks for the suggestion.
Celebrating the first NES Tetris game crash (biggieblog.com)
197 points by davidrjones1977 10 days ago | 56 comments
Here is another great introduction to the Tetris community by John Green from 2018:
The setup is horrifyingly complicated and precise though, involving getting some near-impossible scores and entering specific names in the highscore list, then reaching the crash on the same frame that the internal values for random number generation happen to represent a jump instruction to said highscore list (and we get lucky and various registers also happen to contain values we need).
Then from there, there is some bootstrapping before total control is achieved.
This setup would even allow crude human-possible ACE. Right now we're limited to small payloads (I made a proof of concept that activates the unused two player mode), but more sophisticated setups might give us more power.
Also the Tetris player here (edit: arguably) isn't "exploiting" a bug. The game just literally hits a limitation that can only be hit via extended and nearly superhuman play
I think most "serious" Tetris players can get to 30 easily in a short amount of time, right? Like 15-20 minutes? It'd be hard to think of that as a legitimate "ending."
Whereas a run to level 100+ or whatever for this kill screen is a major achievement. Took people 30+ years to get there.
I don't know, though. It's all subjective. If you want to think of a hypothetical lvl 30 crash as a "kill screen" or "ending" then hey... go for it.
So, this was the first person to encounter the "bug" (hardware limitation). But, future players may try to hit that point faster, with a lower/higher score, or other combinations of game state to beat the game in a "better" (more interesting) way.
Pushing limits in games is fun.
I've never played competitively, but I remember well my own excitement as a child whenever I managed to trigger a glitch (such as getting enough bonus lives to overflow the lives counter on Commando on C64, which was pretty simple but still was very exciting the first time it happened).
In a game with no human-authored intentional "win state", one reasonable definition of "beating the game" is "reaching a state that no other player is able to surpass". If the game crashes at a certain point, then reaching that crash is a viable state that fits that definition.
A couple of old arcade games have "kill screens", such as Pacman and Donkey Kong.
It is technically possible to go up through level 255 at which point it loops back to 0. It's been done through a tool assisted run (carefully doing inputs frame by frame rather than playing in real time)
All that said, I feel a bit weird telling a community I don't belong to that they're incorrectly enjoying a game I don't play.
Reverse engineering the NES Tetris cartridge shows that it has only so many possible states which is what allows one to find these limits.
Exciting to finally get to the kill screen of this classic!
The definition of "beating" the game is simply a convention.
At around level 247, you start to get game crashes without clearing any lines, just because the 'wrong' kind of piece appeared.
Now try to clear a bunch of lines with restrictions on what kind of pieces are allowed to randomly spawn.
The only issue is that I haven’t figured out how to intentionally disconnect. It’s almost like falling asleep: you can be jarred back to reality and realize you were “zoned out” and can sometimes feel yourself on the edge of zoning back out, but the very act of “cognizantly deciding” to relinquish mental control is at fundamental odds with actually doing so. So you just have to “let it happen” so much as I can tell.
(My personal best high score in snake or some similar game on TI-82 or whatever came when I was playing covertly under the desk arm in math class in middle school while paying attention to the lesson with all my non-visual senses.)
Beautiful
(pun... just in case anyone didn't get it)
----
Edit - Also worth a look:
Just like 4-5 years ago it felt like Joseph is GOAT and his records will hold for a while, and now he and the style that he perfected (hypertappjng) looks like relic of dinosaur era.
I'm left wondering if the game score be overflowed to produce different kill screens?
I'm speculating that modern games limit the amount user IO on PC and Consoles?
That actually kind of what I was thinking of :-) . I would have though more "modern" games , particularly multiplayer, would have software limits even as the hardware got more capable.
The simulation rate is often lower than the draw rate though. Minecraft is as low as 20 updates per second, while something like Counter Strike 2 handles events immediately and sends precise timestamps to the server, not discretized to any sampling rate beyond your hardware.
As for single player games there are barely any reasons for game developers to have improved in this regard over the years. "OnKeyDown" is still a standard API in many input libraries and the simplest thing to do is to have this mistake. Unless it's an ability with multiple second cooldown where the mistake would be obvious. And that's not unique to small games made by beginners or indie devs, AAA games have the same problems. Just few years ago DOOM Eternal had an exploit where mapping jump to a scrollwheel (even better if you have freely spinning scrolwheel), in combination with a few other quirks allowed you to do game breaking jumps skipping large parts of levels by quickly doing a bunch of them in a row and accumulating speed before game noticed that you are above ground and shouldn't be able to jump again. It was somewhat hot topic between speed runners of that game.
This is actually false! Top players can actually roll faster than 30hz if they want; however, the game won't recognize this as all distinct inputs, so it really is the hardware that's limiting us. Check out this video to see how precise some players can be: https://www.youtube.com/watch?v=K81CjNo4B_Q
(incidentally, i made a romhack of nes tetris that supports polling multiple times per frame, effectively removing this limit. i talk about it here https://www.youtube.com/watch?v=n9vKMNu5JWo)
That has got to be very hard for a 13 year old.
I wouldn't say being the first is a waste of time, because I think virtually any effort at self-improvement has some value. But being among the best in the world, even in a smaller competitive environment, is extraordinary regardless of the intrinsic value of the activity.
It also reflects a certain tunnel vision which can be helpful or harmful later in life. But he'll be dining out on this story for a long time.
If I could have it back
All the time that we wasted
I’d only waste it again
If I could have it back
You know I would love to waste it again
Waste it again and again and againBut yeah gaming can also be a way of procastenating or even become an addiction. Then it's used as short-term feel good escape. And you can get caught up in it and yeah waste a lot of your time.
But you don't know what someone's incentives are for pursuing a certain action. Because the same action can be done for different reasons by different people. And it can be a waste of time in one situation and a great achievement in another situation.
Although I am not a professional musician, the time spent kept me out of trouble as a kid and a teenager. In addition, I learned to win and to lose gracefully, which publicly funded schools no longer teach.