The concept is really cool, unfortunately as soon as I started playing it (Firefox) the pieces started moving of their own accord, and the play field started shaking, not sure if it's a game feature or a bug.
The game client is built with PixiJS, and otherwise mostly uses vanilla JS. The backend is built with Node.js, and the game uses a custom WebSocket protocol called Ribbon.
Note that if there are others like me who have never set foot into game dev and are curious, there is the CS50G Introduction to Game Development at [1].
Yes!! I spent _hours_ a few weeks ago trying to figure out if there was a Tetrinet equivalent these days, so if this is anywhere close I'm extremely excited.
> TETR.IO is a modern yet familiar online stacker. Play against friends and foes all over the world, or claim a spot on the leaderboards - the stacker future is yours!
Yup it has that mode, which to be fair existed in Tetris clones long before Tetris 99. I just meant that it had many more modes and I don't really thing that's the focus of Tetr.io? I could be wrong though I'm not a player.
Tetris Party for Wii is well liked in our house. Adds some fun game modes and twists on the original gameplay.
Tetris 2 for SNES is different (goal is to clear certain colored blocks for each level instead of just not dying). My wife and I found it to scale well for our differing video-game skills, as I tend to be better than she is.
While both are Tetris, TGM is very different, and closer to modern Tetris than the NES version.
The NES version is much less forgiving when it comes to rotation, locking, random generator, etc... It also has a single preview, no hold piece and no hard drop. At high level, a major challenge is to move pieces fast enough to reach the sides, including a technique called "hypertapping" where you mash buttons extremely quickly to move the pieces faster instead of just holding a direction.
Modern Tetris is much faster. At high level, you get to "20G" mode, where the pieces drop immediately and you have to rely on the lock delay and rotation system to move pieces around. Later versions introduced T-Spins as an alternative to Tetrises for high scores and attacks in multiplayer.
I would argue that TGM is closer in spirit to NES Tetris than to modern Tetris. In both NES and TGM, the speed of the game is extrinsic - it comes from the game itself, forcing you to play faster and faster.
In modern Tetris, the speed is intrinsic - it comes from the player skill. Even with forced 20G the rotation system and the wall/floorkicks mechanism makes it much more easier to both move and recover from screwups.
Yes, the newer rules (seeing multiple upcoming pieces, swapping pieces, pieces being shuffled instead of completely random, being able to move a piece once it's touched the ground) seem almost like cheating compared to the NES version.
This is highly subjective, but I spectated a few games and the amount of shaking that is happening seems excessive to me. Maybe the kids are impressed by all the shaking going on, but I find it hard to focus when the thing I'm focusing on keeps jumping around.
On a related note, I think screenshakes are extremely overused in indie games. It's so cheap to add that it cheapens the games.
- Threw a grenade? Boom. screenshake.
- Shot a bullet? Boom. screenshake.
- Picked up an item? Boom. screenshake.
- Let out a big sigh? screenshake.
- Physically shook your display? Double screenshake.
- Rolled your eyes at all the screenshakes? There's a screenshake for that too
In StarCraft, the screen didn't shake even if you dropped a nuke on someone else's base. I guess the good folks at Blizzard at the time didn't watch that one GDC talk, "Juice It or Lose It", so they had to come up with a different way to make a good game.
The game has a very robust config that allows you to alter the amount of shaking. I also did not like it. I turned shake and bounce all the way down to 0%.
You're comparing the wrong genres. StarCraft (age of empires, etc) is an RTS where you have a god view. Screen shakes make little sense when you, the player are removed from any of the characters and the terrain in play. From a usability perspective, these games also have a ton of information the player needs to process in a teeny amount of time. Screenshake would seriously mess with the player's ability to stay focused on what needs to prioritized. Hell, pro SC2 players even turn off ragdolls and environmental particle effects so that there's even less "noise". Does that mean Blizzard artists were compensating for poor gameplay when they implemented those?
Meanwhile, "arcade" style games like platformers, bullet hells, puzzles (tetris etc), turn based card games, etc need to juice up the moments when important things happen (because these aren't games full of subtlety moment to moment), and don't have a crazy amount of complex information on the screen that gets sacrificed in a screenshake.
To note, Hearthstone and Diablo III both have plenty of screenshake, although I believe you can turn them off (and many indie games heavy on screen shake offer this option too).
Juice is indeed very important to make games "feel" good, but perhaps more devs need to ask "is the juice worth the squeeze?" to not turn off players like you.
You can remove almost all of the visual effects in Tetr.io ghost piece transparency, background images, grid visibility etc.
You can even adjust key repeat speeds, manual drop speed and everything related to game play. It's extremely versatile in that regard and easily the top 1 tetris clone in my opinion.
This is cool! I'm guessing inspired by Tetris 99 available on Nintendo Switch.
Thank you for having an anonymous mode!
edit: After playing and watching a bit it's very obvious that if you want to win you'll have to use a bot. A quick google search turns up a a couple pre-made bots you can download and start running yourself. It's fun to see bot vs bot in the multi-player quick play.
They aren't bots, the skill ceiling for Tetris is practically non-existent. The fastest player in the world can clear 40 lines in like 14 seconds I think.
It's basically the equivalent of random casual players hopping into an FPS and immediately being able to spectate top tier pros and deciding that everyone must be aimbotting. No, some people really are just that insanely good at video games.
The community has written a great wiki page about the game for those looking for more details without looking around inside the game: https://tetris.wiki/TETR.IO
there's no existing input lag from my knowledge; if it's slow, as it is by default, you can change your handling (ARR, DAS, SDF) to however fast you want it
Quite OT: how do people get adsense (or other advertisers) on apps/games like these? I have a few apps that I would love to try an monetize but whenever I apply for adsense I get rejected for "lack of content".
Don't use adsense for web games. Take this advice from someone who had to deal with them. You're just one sniff away from Google's algorithm locking down your account and impacting your earnings.
Short answer: you don't, Google doesn't like them. If you have a huge amount of players, you may be able to get in contact. TETR.IO uses AdinPlay, which does use the same Google network, but without being immediately thrown out of the network
If you find his latest article objectionable — even though his words are completely in line with the perspective held by non-crank doctors[0] — then you’re probably the kind of person for whom it would benefit the most.
Try to instead give it five minutes[1], digest and understand the content, and rise above the faith-based scientism that is the likely cause for increased anti-vaccination sentiment.
Fairly bold of you to assume I didn't read the article, but anyway:
I've given five minutes to the thought that being an anti-vaxxer in the middle of a pandemic when vaccines are provided to you for free and at the point that only very long term effects can be a concern is comparable to being a jew in nazi Germany, and I still think it is atrocious, sorry.
But I mean, there's only so much you can talk about when "faith-based scientism" is used for vaccines.
His shader stuff and graphics programming articles are neat. But yeah his other stuff is... misguided, at best (and I think he's amazingly wrong in his latest article). I just don't read those ones.
Hmmm, well, his very first post ("Who Doesn't Go Nazi?") is about being an anti-vaxxer, saying how anti-vaxxers would resist becoming Nazis, and comparing anti-vaxxers to the Jews, which already has me questioning his critical thinking skills.
I looked at a couple of his other articles, and despite being a good writer, there's some subtle, and not-so-subtle, points he misses. E.g., in "Storms and Teacups", he thinks that Jezebel celebrating women's "equality and self-determination" means they are hypocritical to criticize Michelle Williams for dressing up as a Native American, and the fashion industry because they "didn't objectify a woman in a tasteful enough fashion".
This shows he doesn't understand that 1) "equality and self-empowerment" are not to come at others' expense, an unstated, but real, caveat, he seems to have missed, and 2) criticism of an industry doesn't have to involve every possible complaint all the time. That's just editorial focus.
Ironically, towards the end of the article, he says "We don't want to talk about the full complexity at play here", while parroting standard responses. I'm 99% sure he spends his time digging up things that confirm his viewpoint, locating the 1% of outliers that support him, and no time engaging with the scholarship of the majority of the other side. It's like trying to talk about racism using only Candace Owens' talking points.
I don't know how you can say this with any intellectual integrity. I suspect you either didn't read the Storms and Teacups article, or you skimmed it and recoiled at every word, refusing to consider any of his arguments in any capacity.
> It's like trying to talk about racism using only Candace Owens' talking points.
Are you so sure you aren't guilty of this yourself? How much Thomas Sowell or John McWhorter have you read?
There's no WASM, it's mostly vanilla JS, together with the PixiJS library, which does 2d WebGL rendering. It has in-house libraries for text rendering, particle systems and the such. It's not super strong, but as long as you understand the limitations of the browser and try to adapt to the client's machine, you can get a very decent experience in. I hope this game sparks a bit of a trend of trying to make more genuine gaming experiences in the browser.
Reminds me of the original version of blockles [1] on i'minlikewithyou (later OMGPOP) [2]. That was one of my favorite games back in the day. From reading the Wikipedia article, it looks like they were a YC company too.
Haven’t tried multiplayer yet but there are definitely bots on the solo play leaderboard. The fastest time for getting 40 lines in blitz mode is 15 seconds. It’s not humanly possible.
Huh. Seems like I may be in the wrong here. I've been watching some of the NES Tetris videos recently and they don't even go this fast so I thought it wasn't possible. I guess that's that's the different between a "sprint" and a "marathon" though?
I can barely even register the next piece at that speed, I wonder if these players are mostly just visualizing the board in their mind. Doesn't seem possible to be looking at both the upcoming piece and the playfield at this kind of speed.
NES tetris and modern tetris are VERY different games. NES tetris didn't have hard drop, hold, SRS, 7-bag randomizer, or multiple piece previews, all of which are in all modern guideline tetris games and can help you go faster. Tetr.io and Jstris go even further than guideline tetris: there's no line clear delay and you can set DAS/ARR[1] to anything you want, which lets you go even faster.
The bottleneck isn't the keyboard input. Pretty much all top players use ARR 0 and 2-step finesse[2] (or something close to it), which means you can position any piece where you want in 2 keystrokes at most, plus 1 more to hard drop it. And certain stacking styles (e.g. 6-3 stacking[3]) lend themselves well to not requiring the full 2 keystrokes pretty often, so in practice you end up with ~2.6 keys per piece instead of 3. A typical DAS for a pro player (e.g. someone like Firestorm) might be somewhere around 70ms. So if we roughly estimate 100ms average per piece (70ms to DAS, with some extra for the sometimes-needed rotation and hard drop), that would be ~10 pieces per second, which is well over the ~6.5 PPS in the record sprints.
The physical pressing of the keys also isn't really a bottleneck. Keys per second in the top sprints is ~16. I just mashed my movement/rotation keys into `time | wc -c` and got ~35 KPS after 2 beers, and I don't even have a particularly gaming-focused keyboard.
The bottleneck also isn't reaction times. Someone might trot out a hastily-googled 250ms as a typical human reaction time and claim 100ms per piece isn't possible, but good players aren't reacting to each piece as it comes -- they're using the previews (and hold) to react to the piece that's coming 4-5 steps in the future, which is closer to a second away.
It's really just about how fast you can process the upcoming queue and still stack cleanly.
Wow, thank you for this very thorough response. I also had to look up SRS [0] as a key concept. Really impressive the way that all the different piece and placement combinations have been broken down in a comprehensive way.
I can see now how this becomes a much more organized and deterministic game with these changes, allowing players to plan their moves and inputs precisely so that they are barely need any visual feedback to confirm the state of the board, allowing them to queue up multiple moves in rapid succession.
Of course I’m sure it takes a lot of training and practice as well!
> Seems like I may be in the wrong here. I've been watching some of the NES Tetris videos recently and they don't even go this fast so I thought it wasn't possible. I guess that's that's the different between a "sprint" and a "marathon" though?
That's because the NES Tetris has considerably different mechanics. NES Tetris simply wasn't built for fast play. The DAS, piece locking, RNG rules etc. are very unforgiving, so the players are doing most of the work fighting against them instead of finding piece placements as fast as possible.
Yeah... I played a few rounds and after getting my butt kicked incredibly fast, (side note: I love Tetris and am the household champion in comp. games), I thought there was something fishy going on.
Yep, bots galore. A simple Google search turned up an open source bot on github[1], meaning there are probably better bots hidden within the community.
Ugh. So many online games today are ruined by cheaters.
Dev of the game here, its anticheat is quite sophisticated (esp. for a webgame), trying to run a bot like this at any significant speed would get you promptly automatically banned. There's not really many times this happens - rather, Quick Play just tends to have a few really good players in it. For example: all the plays on the leaderboards for the "40 LINES" and "BLITZ" modes are ensured correct and fair. They're prominent community figures, most of the time. If you're not convinced, there's a liveplay[1] of a top player playing it at their top speed.
This game plays so well, I really like it. I've sucked at TGM and nullpomino for years and I'm looking forward to sucking at this now. Thanks for posting the video, it can be hard to believe how good some people are at tetris.
> Yeah... I played a few rounds and after getting my butt kicked incredibly fast, (side note: I love Tetris and am the household champion in comp. games), I thought there was something fishy going on.
Being good in your household means basically nothing for an online game, especially one like Tetris. Games like this, the skill ceiling is insanely high, if you haven't seen high level play before then you're probably drastically underestimating what humans are capable of.
Other competitive game genres are like this too. Compared to 'good in my family' players for FPS games, top tier pros will basically look like they're running an aimbot. I'm big into Starcraft and the pros for that game look similarly insane when you watch from their perspective, with how fast they are at context switching.
As a decently active player in the community, it's actually really hard to make a convincing bot. there's a lot of subtle tells (timing, handling, types of setups, response to pressure) that make bots really obvious to an experienced eye.
More importantly, there's just a lot of people who are really good at Tetris. Once someone practices enough, they naturally become faster because of muscle memory, up to levels that seem superhuman to beginners[1].
In short, it's far more likely that the people you played are just players who have practiced a good amount, rather than bots that have somehow remained undetected.
145 comments
[ 1.9 ms ] story [ 188 ms ] threadIn fact, there's a whole list of open source dependencies at https://tetr.io/about/acknowledgements/.
Note that if there are others like me who have never set foot into game dev and are curious, there is the CS50G Introduction to Game Development at [1].
[1] https://www.edx.org/course/cs50s-introduction-to-game-develo...
From: https://tetr.io/about/
It's not the only Tetris game with big lobbies. An earlier popular one is https://jstris.jezevec10.com/
Sounds pretty Tetris 99.
[1] https://twitter.com/harddrop/status/1467314109393735681
Tetris 2 for SNES is different (goal is to clear certain colored blocks for each level instead of just not dying). My wife and I found it to scale well for our differing video-game skills, as I tend to be better than she is.
https://tetris.wiki/Tetris_The_Grand_Master
The NES version is much less forgiving when it comes to rotation, locking, random generator, etc... It also has a single preview, no hold piece and no hard drop. At high level, a major challenge is to move pieces fast enough to reach the sides, including a technique called "hypertapping" where you mash buttons extremely quickly to move the pieces faster instead of just holding a direction.
Modern Tetris is much faster. At high level, you get to "20G" mode, where the pieces drop immediately and you have to rely on the lock delay and rotation system to move pieces around. Later versions introduced T-Spins as an alternative to Tetrises for high scores and attacks in multiplayer.
This is also true for TGM 1, TGM 2 adds sonic drop but still only has 1 preview.
But yeah it was just a suggestion since the TGM series is not as popular as NES or Guideline but offers a very different experience!
On a related note, I think screenshakes are extremely overused in indie games. It's so cheap to add that it cheapens the games.
In StarCraft, the screen didn't shake even if you dropped a nuke on someone else's base. I guess the good folks at Blizzard at the time didn't watch that one GDC talk, "Juice It or Lose It", so they had to come up with a different way to make a good game.Meanwhile, "arcade" style games like platformers, bullet hells, puzzles (tetris etc), turn based card games, etc need to juice up the moments when important things happen (because these aren't games full of subtlety moment to moment), and don't have a crazy amount of complex information on the screen that gets sacrificed in a screenshake.
To note, Hearthstone and Diablo III both have plenty of screenshake, although I believe you can turn them off (and many indie games heavy on screen shake offer this option too).
Juice is indeed very important to make games "feel" good, but perhaps more devs need to ask "is the juice worth the squeeze?" to not turn off players like you.
You can even adjust key repeat speeds, manual drop speed and everything related to game play. It's extremely versatile in that regard and easily the top 1 tetris clone in my opinion.
No need to be snobby. For the record, I'm in my 30s, and I disagree with the central thesis of your comment.
Thank you for having an anonymous mode!
edit: After playing and watching a bit it's very obvious that if you want to win you'll have to use a bot. A quick google search turns up a a couple pre-made bots you can download and start running yourself. It's fun to see bot vs bot in the multi-player quick play.
have webdev lost their mind?
other than this issue, i love the concept, the art style is kinda nice too, it's tetris, but there is a fresh and modern look, i like it
fix the input lag issue, and you get all my support!
Obvious example: https://acko.net/
Try to instead give it five minutes[1], digest and understand the content, and rise above the faith-based scientism that is the likely cause for increased anti-vaccination sentiment.
[0]: https://youtu.be/5iABaxRWGxk
[1]: https://signalvnoise.com/posts/3124-give-it-five-minutes
I've given five minutes to the thought that being an anti-vaxxer in the middle of a pandemic when vaccines are provided to you for free and at the point that only very long term effects can be a concern is comparable to being a jew in nazi Germany, and I still think it is atrocious, sorry.
But I mean, there's only so much you can talk about when "faith-based scientism" is used for vaccines.
Do you think, for example, that he is not in a good position to write about the oppression of minorities?
I looked at a couple of his other articles, and despite being a good writer, there's some subtle, and not-so-subtle, points he misses. E.g., in "Storms and Teacups", he thinks that Jezebel celebrating women's "equality and self-determination" means they are hypocritical to criticize Michelle Williams for dressing up as a Native American, and the fashion industry because they "didn't objectify a woman in a tasteful enough fashion".
This shows he doesn't understand that 1) "equality and self-empowerment" are not to come at others' expense, an unstated, but real, caveat, he seems to have missed, and 2) criticism of an industry doesn't have to involve every possible complaint all the time. That's just editorial focus.
Ironically, towards the end of the article, he says "We don't want to talk about the full complexity at play here", while parroting standard responses. I'm 99% sure he spends his time digging up things that confirm his viewpoint, locating the 1% of outliers that support him, and no time engaging with the scholarship of the majority of the other side. It's like trying to talk about racism using only Candace Owens' talking points.
> It's like trying to talk about racism using only Candace Owens' talking points.
Are you so sure you aren't guilty of this yourself? How much Thomas Sowell or John McWhorter have you read?
It's more like a simple version of Puyo Puyo or Puzzle Fighter.
[1]: https://youtu.be/-JziMvyIyKI?t=24
[2]: https://en.wikipedia.org/wiki/OMGPop
https://github.com/misterhat/tetrio-bot
https://www.youtube.com/watch?v=4OFq31lek2g
https://www.youtube.com/watch?v=MJDz4-pr9J4
https://www.youtube.com/watch?v=Azm-hbVTRJk
I can barely even register the next piece at that speed, I wonder if these players are mostly just visualizing the board in their mind. Doesn't seem possible to be looking at both the upcoming piece and the playfield at this kind of speed.
The bottleneck isn't the keyboard input. Pretty much all top players use ARR 0 and 2-step finesse[2] (or something close to it), which means you can position any piece where you want in 2 keystrokes at most, plus 1 more to hard drop it. And certain stacking styles (e.g. 6-3 stacking[3]) lend themselves well to not requiring the full 2 keystrokes pretty often, so in practice you end up with ~2.6 keys per piece instead of 3. A typical DAS for a pro player (e.g. someone like Firestorm) might be somewhere around 70ms. So if we roughly estimate 100ms average per piece (70ms to DAS, with some extra for the sometimes-needed rotation and hard drop), that would be ~10 pieces per second, which is well over the ~6.5 PPS in the record sprints.
The physical pressing of the keys also isn't really a bottleneck. Keys per second in the top sprints is ~16. I just mashed my movement/rotation keys into `time | wc -c` and got ~35 KPS after 2 beers, and I don't even have a particularly gaming-focused keyboard.
The bottleneck also isn't reaction times. Someone might trot out a hastily-googled 250ms as a typical human reaction time and claim 100ms per piece isn't possible, but good players aren't reacting to each piece as it comes -- they're using the previews (and hold) to react to the piece that's coming 4-5 steps in the future, which is closer to a second away.
It's really just about how fast you can process the upcoming queue and still stack cleanly.
[1]: https://harddrop.com/wiki/DAS [2]: https://four.lol/mid-game/finesse [3]: https://harddrop.com/forums/index.php?showtopic=2985
I can see now how this becomes a much more organized and deterministic game with these changes, allowing players to plan their moves and inputs precisely so that they are barely need any visual feedback to confirm the state of the board, allowing them to queue up multiple moves in rapid succession.
Of course I’m sure it takes a lot of training and practice as well!
0: https://tetris.fandom.com/wiki/SRS
That's because the NES Tetris has considerably different mechanics. NES Tetris simply wasn't built for fast play. The DAS, piece locking, RNG rules etc. are very unforgiving, so the players are doing most of the work fighting against them instead of finding piece placements as fast as possible.
[1]: https://twitter.com/jstrisgame/status/1424548438096683011
it’s insane how good you can get in so little time tbh
Yep, bots galore. A simple Google search turned up an open source bot on github[1], meaning there are probably better bots hidden within the community.
Ugh. So many online games today are ruined by cheaters.
[1] https://github.com/misterhat/tetrio-bot
[1] https://www.youtube.com/watch?v=MJDz4-pr9J4
Being good in your household means basically nothing for an online game, especially one like Tetris. Games like this, the skill ceiling is insanely high, if you haven't seen high level play before then you're probably drastically underestimating what humans are capable of.
Other competitive game genres are like this too. Compared to 'good in my family' players for FPS games, top tier pros will basically look like they're running an aimbot. I'm big into Starcraft and the pros for that game look similarly insane when you watch from their perspective, with how fast they are at context switching.
More importantly, there's just a lot of people who are really good at Tetris. Once someone practices enough, they naturally become faster because of muscle memory, up to levels that seem superhuman to beginners[1].
In short, it's far more likely that the people you played are just players who have practiced a good amount, rather than bots that have somehow remained undetected.
[1] happy to 1v1