First place in Tetris 99 using computer vision, classical AI, a lot of free time
27 comments
·February 3, 2025speff
chefandy
It’s weird that caring about people impacted by the training of a hobby NN model feels anachronistic. Well those people were ALL the way at the other end of the internet tube, and it was only a game so their time doesn’t really matter, and think about how many people “weren’t” impacted!
It seems like tech has gotten so dang self-absorbed.
Waterluvian
Feels like feeling slighted by a drop of rain in a storm.
speff
Your point's not lost on me, but if you allow me to modify the analogy to: Feels like feeling slighted by a water hose in a storm. I think that's more accurate. Yea I'm still drenched, but it would feel (irrationally) worse if someone sprayed me in the rain
soganess
This is really cool! Plus I like the ramification that the 'hard bits' of playing a game like tetris might be contained in the vision/recognition phase.
My only gotcha is with calling DFS 'classical AI'. I get they have a fancy hand-tuned cost function, but if that is AI, then I guess all approximate optimization algorithms are AI? Maybe in 60s that kinda of classification would have been fine, but not now, right?
Either way, that is a minor nerd-gripe with the messaging and does not, at all, detract from an otherwise rad project.
Retric
> Maybe in 60s that kinda of classification would have been fine, but not now, right?
Thus classical, as a reference to the idea that:
As Soon As It Works, No One Calls It AI Anymore: https://quoteinvestigator.com/2024/06/20/not-ai/
It’s kind of surprising to me we still call feedforward neural networks AI.
free_bip
Hopefully the author gets banned from the game for this. It's clearly cheating.
tobyhinloopen
I agree.
It is the future of cheating, completely undetectable
Daneel_
The inputs would form a very distinct pattern that likely doesn’t look anything like what a human creates - I think this would certainly be detectable, although you could also account for this in your program (similar to the ongoing back and forth with captcha).
toast0
For the author, if they revist this, they might look into 7-bag random generator. TLDR, most modern tetris games, including tetris 99 select a permutation of the 7 unique pieces every 7 pieces; this means even though Tetris 99 shows you the next 6 pieces, you may know more about the next pieces.
For example, at the beginning of the game, it shows you 6 pieces, but you can determine the 7th piece because it's the one that's not shown. The 8th piece could be any of the 7 pieces, but when you see the 13th piece, you know the 14th piece (and when you see the 12th piece, you know there are only two possibilities for the 13th piece).
Additional look ahead every so often might be helpful, given that they found
> When looking only 3 moves ahead, Jeff achieves a Tetris percent of 8.9%. When looking 6 moves ahead, he improves to 9.7%—nearly perfect!
I'd also be interested in seeing optimization for combos. Or t-spins; t-spins send 2x lines of garbage for each line cleared; which I hate, because I grew up before t-spins were encouraged. :P
Sohcahtoa82
> TLDR, most modern tetris games, including tetris 99 select a permutation of the 7 unique pieces every 7 pieces; this means even though Tetris 99 shows you the next 6 pieces, you may know more about the next pieces.
Wait, is this true?
I always assumed each piece was selected perfectly randomly, making it possible (though rare) to get the same piece 3 times in a row.
If what you're saying is true, then that mean there should never be more than 12 pieces between I pieces, and if you get two in a row, then it'll be a minimum of 6 before you see another.
Which...all seems within the realm of possibility. Tetris always seemed really good at having a very even spread of pieces without "streaks".
trothamel
Yes, it's part of the (leaked) Tetris Guideline.
TZubiri
Using AI to win in a game where reflexes are a key factor is lame.
minimaxir
Given the computer vision approach, I'm surprised they didn't try different themes other than the Fire Emblem: Three Houses theme. There are many other themes for Tetris 99 with likely better visual clarity for the tetriminos.
gildas
No T-spins [1], impressive!
charlieyu1
No T-spins, disappointed.
It looks like the bot just beat humans because they react faster
foobaw
yes but this aligns with the initial statement in the post that top 1 doesn't happen as much and top 15 is more common.
gildas
I must admit I'm a little disappointed that the bot isn't able to do this. It would be much more efficient.
mizzao
TK that needs updating:
> mention graph search for vision correction? https://github.com/bpinzone/TetrisAI/blob/master/tetris_ai_e... do we still use this?
excalibur
Welp there it is, I've been replaced by AI.
MisterTea
Relax, it's not an AI. Instead, you were replaced by a depth first search algo.
Kapura
I am not impressed that a computer can beat a human at a computer game. i am more pissed that i may have been playing tetris 99 against unbeatable ai.
ultimafan
100%, can we not normalize this kind of thing in multiplayer games played by humans?
My friends and I have quit a number of multiplayer computer games when they've become infested with cheaters and developers couldn't or wouldn't keep up with the arms race of banning them. This is really not that different from someone writing and using an aimbot in a public lobby for a shooter.
If you're going to be writing and testing cheats or AI or bots do it in single player games or private multiplayer lobbies so normal players aren't affected.
GuB-42
It is not unbeatable. The author says it doesn't always get first place, far from it, and the video is one if its best games. He deliberately stopped working on the project before it would become unbeatable by a human.
HenryBemis
Especially for a game like tetris that has a limited (many but finite) options, it comes down to how fast is the eye-hand coordination/reflexes. "The Flash" should have no point beating the game for that very reason.
null
tobyhinloopen
[flagged]
I read the article, but I didn't find a reason as to why they picked the multiplayer Tetris game as opposed to the myriad of singleplayer ones. I think this is a neat beginner project, but can't help but think of the handful of times I tried T99 just to quickly quit again because I got stomped on every time.
How much unnecessary frustration was caused by testing this out in prod? I know they said they only got a handful of wins, but how many people did it knock out over the course of testing it?