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].
If your browser supports your controller, you can set it up under Config > Controls. You'll need to bind the buttons yourself by setting it to Custom, though. Sorry!
I've also been playing this game for about 4 years and I'm nowhere near that level, but the progression you're able to make by learning new techniques is still very rewarding.
Really nice implementation of Tetris. Tried multiplayer, got screwed in 20 seconds. The music should probably be something along the lines of norwegian death metal to set the tone for that massacre.
Yeah, I was spectating couple of the players, hard to believe how fast they can move.. maybe somekind of ranked play would be in place not to scare away new players.
The main appeal of tetr.io for me is it's ranked mode. You need an account, and to play a few games for your elo to stabilize, but multiplayer->tetra league is a great way to 1v1 people around your skill level
Ah, did not realize that .. of course would need an account. Will have to try it out maybe, been loving the Tetris Effect multiplayer games, maybe will try this out too.
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.
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.
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.
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?
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.
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
OMG, this brings back memories. I miss Quinn so much on OS X. With its lovely community I spend endless hours over the years with this addicitive game (play). As cool as Tetr.io is, out of the box it does not compare to the smoothness of the Quinn experience. But maybe there are more tweaks to the game options to come closer to Quinn.
But I will never know as I cannot allow myself to be drawn back into that black hole of Tetris addiction.
Hooray! I built the Quinn website[0] and user/high score/game tracker back in the day when I was learning PHP. The archive of that site is pretty great! Even has my own player page[1].
I found and played Quinn and really wanted to play with others so I reached out to the developer to ask whether there was a community of players anywhere and that led us to a conversation about building the site and system. It was great fun.
I was playing Quinn a bit a few years ago. Someone brought it up and I found it. It definitely did not run as great as I remembered. Now I don't even think it would run at all...
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.
> 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!
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
How do they avoid the lawyer cats? I'd heard that the Tetris company was very...zealous with protecting their IP, including anything that looked too similar to Tetris.
Add the name that is intentionally similar to "Tetris" and I don't think they have snowball chance in hell to win if they decide to go after them.
The gameplay itself and the rules are not copyrighteable, but "look and feel" is.
From wikipedia:
"Wolfson discussed which aspects of Tetris were copyrightable as expressive elements, and which aspects are part of the general idea that cannot be protected by copyright. According to Wolfson, copyright cannot protect the idea of vertically falling blocks, or a player rotating those blocks to form lines and earn points, or a player losing the game if those blocks accumulate at the top of the screen. However, Wolfson determined that several aspects of Tetris qualify as unique expression that is protected by copyright. This includes the twenty-by-ten square game board, the display of randomized junk blocks at the start of the game, the display of a block's "shadow" where it will land, and the display of the next piece to fall. Wolfson also granted protection to the blocks changing in color when they land, and the game board filling up when the game is over."
Yeah I was wondering the same thing, looking at this it seems they have been pretty active at it, even removing a Tetris android wallpaper application.
The Tetris Company doesn't have any rights to the game, as Tetris isn't patented. They tend to claim they have "trade dress" rights, but the elements they claim as such in the Tetris Holding, LLC v. Xio Interactive[1] case aren't actually protectable.
They're all either technical elements of the game (like the movement of the pieces, or the shape of the board), or visual elements of the game that do not have any recognizability (as in, if you removed them, people will still recognize it as Tetris, like the colors of the pieces). In the end, the only thing that makes people recognize Tetris as such, is the shape of the pieces, potentially the fact they fall down. Those are all technical elements, so they can't fall under trade dress.
Trade dress is meant to protect things like the design of Coca-Cola bottles (curvy bottle, red label, white text), where said design language is very meaningful (you recognize the Coca-Cola section from far away just by the design), non-technical (any other bottle would work equally well, the product stays the exact same), and confusing if copied (if you picked one up but it turned out to be Pepsi, you would be well confused). Trade dress is not meant to act as a stand-in for a patent.
Sadly, DMCA is very anti-developer in this regard. A small developer who relies on a publisher (like Steam, or the App Store) to publish and monetize their game, can have their game taken down in minutes with a (fraudulent!) DMCA claim, with no real way to appeal. If you do try to appeal, like in said Xio case, you won't actually have any money to deal with the following court case (which TTC will happily stretch as far as possible to bleed you dry), since while you are under DMCA claim, you have no audience, and no way to monetize. Due to that, you will have to pretty much withdraw from the case, which is what happened in this case. Had there been enough pushback from Xio Interactive in this case (which, would cost them a LOT of money), they could have won. It's a very skewed system.
To prevent this, TETR.IO is self-published (not on Steam, etc.) and has many pillars it stands on. This makes it nigh-impossible to take down with a simple DMCA request. To take down TETR.IO, you would need to start a court case. And then, the developer can keep their game up in the meantime, as then, the game is innocent until proven guilty, instead.
The Tetris Company has not sent any legal message to TETR.IO, and I personally doubt they ever will. It's important to remember that if TTC loses such a case, they would go out of business. The only business TTC has is selling their (snakeoil) Tetris License. Such a license would become nearly worthless if it was proven the trade dress isn't real.
So, they would probably rather just keep an eye on me. In fact, I wouldn't be surprised if they'd rather sell a license to me, as that would be far, far less risky for them, unlike sending an email to Steam.
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.
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.
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.
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 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.
I have nothing to contribute except "this is exceptionally well done" so I'll just add the TGM invisible Tetris video I watch occasionally to boggle at:
I haven't noticed any input lag with my setup: Firefox 95.0.2, Arch Linux with the 5.15.11 kernel, CPU+graphics: 4th gen (Haswell) Intel(R) Core(TM) i7-4500U CPU
Perhaps your browser isn't using hardware acceleration properly, or something like that?
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.
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.
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.
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.
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.
Told my gf to try it. Said she doesn't really like it. "It's just another tetris game". And then she proceeded to play it for the next 4 hours. Multiplayer is truly brutal. Very hard to play.
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.
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
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].
[1] https://www.edx.org/course/cs50s-introduction-to-game-develo...