Tetris
colinfahey.com
colinfahey.com
I would love to add multiplayer to in someday...
Also, if you haven't read the Kotaku review of "Tetris" (the game in general, not any specific release/platform), it is not only profound but hilarious: https://kotaku.com/tetris-the-kotaku-review-1718328217
> The best-known and best-loved video game ... is not a Skinner box of rewards for players but a bleak encounter with futility ... Tetris ends with certain death. It is a jigsaw puzzle that must be assembled on deadline, yet never can be ... The enemy in Tetris is not some identifiable villain ... but a faceless, ceaseless, reasonless force that threatens constantly to overwhelm you, a churning production of blocks against which your only defense is a repetitive, meaningless sorting. It is bureaucracy in pure form, busywork with no aim or end, impossible to avoid or escape. And the game’s final insult is that it annihilates free will. Despite its obvious futility, somehow we can’t make ourselves stop rotating blocks. Tetris, like all the stupid games it spawned, forces us to choose to punish ourselves.
Just some feedback:
- You need to add a bit more delay initially on holding left/right before moving a second time. It's too often that I held down the key just a bit too long and it moved over two spaces when I only wanted it to move once, screwing me over. And it doesn't feel like my fault because that's not how most implementations behave.
- The spin logic while touching the stack feels wrong. There's really not enough wiggle room there IMO.
- When holding soft drop, as soon as it touches the stack, it locks. It should have some delay before locking unless hard drop is hit to be able to move a piece over. Too often I just hold it down to get a piece to shift it into a corner and it locks on me before I can move it.
- Get rid of that alert at page load please. Especially if you require F5 to play a new round.
This worked in 2012 I swear! Oh the shame now however :'(
Thank you! The timing of EVERYTHING was by far the hardest part, as evidenced by your comments, there's something intrinsically familiar about the Tetris (or Breakout or Galaga or etc...) version you are used to. I modeled this one to be closest to the first I played, the 80s GameBoy version.
That said- I've noticed these myself in some form or another. 2 & 3 are related- I need to delay more as the block sits atop a collision. 1 I thought was off but just couldn't justify the time to prove it.
Thanks for the feedback!
Yes, because it's a relatively complex game. My bet's on something much simpler like Rock–paper–scissors which has over 60 implementations just on Rosetta Code: https://rosettacode.org/wiki/Rock-paper-scissors
The "Number reversal game" has more implementations, but that's probably less unambiguously a game and more a special-case of of a programming problem: https://rosettacode.org/wiki/Number_reversal_game
Chess implemented much more times than Tetris!
The modern system/rule for rotation and collision is called the Super Rotation System which was made by the Tetris Company. This allows for techniques such as T-Spins in which a T Tetrimino (the one shaped like a T) can be fit into spaces that wouldn't normally fit in which result in extra points. Without these rules or requirements implemented, your game cannot be officially licensed by the Tetris Company and get the Tetris branding.
In "Tetris: The Grand Master 3 - Terror Instinct" (the one with invisible blocks at the credit screen) had two modes, classic and world. World uses modern rules which is considered much easier with the Tetris Company rules as mentioned above.
With that, and the hold functionality (also not around in this article, or at least not discussed) you can play indefinitely without any random chance, modulo reaction time.
[0] https://web.archive.org/web/20110805131134/http://www.simonh...
For documentary fans, this follows some of the best Tetris players in the world: http://watch.ecstasyoforder.com/
Interesting to see how they play and practice, the terminology ("drought"), etc.
It is also playable on IPv6 traceroute, though controls are inconvenient: https://milek7.pl/tracehack/
That plus competitive multiplayer meant you were incentivized to stack things uncomfortably high while you waited for the right pieces to complete your gold 4x4's, and THEN clear lines containing the 4x4's.
Some variations include T-spin and allow T-shapes to rotate in place and allow clearing 3 rows simultaneously, which in my humble opinion, make the game a bit more fun.
Tetris is owned by the Tetris Corporation, and SRS Tetris is their standards applied to the game. The fact that SRS Tetris is missing from this entire page is... a BIG red-flag to me.
SRS Tetris is the style used in official Tetris Games sponsored by the Tetris Company: Tetris Friends, Tetris Ultimate, Puyo Puyo Tetris, and "The Tetris Effect".
Here's a remake you can play in your browser built by some friends of mine: http://blockbattle.net/
It's been so long that I can barely remember how any of it worked, but IIRC it had some sort of scripting language or config file that would allow you to modify game parameters on the client side, so you could give yourself an advantage by binding a key that would issue you a particular special block, or ensure that you were never automatically assigned a negative special block, and so on.
Now to see if I can get it working in 2018...
which is actualy open sourced at: http://www.dnosp.com
For details on the official Tetris specifications, see fan wikis such as:
* http://tetris.wikia.com/wiki/Tetris_Guideline * https://harddrop.com/wiki/Tetris_Guideline
The official Guidelines set consistent colors on the pieces, various mechanics and details about where and how pieces rotate, as well as "bonus points" for TSpins, TSpin Mini, Neo TSpins, B2B rules, and more.
Not all Tetris games follow the guidelines (Tetris Grand Master is the most popular non-guideline game). But the vast majority of official Tetris games follow the guidelines.
Tetris Guidelines started with Tetris Worlds (2001). While the parent article makes numerous references to 2003 or later (the code says 2007, some various Perl bits are 2005, etc. etc.)
Fortunately, the article is never wrong per se. It is clearly written that "Standard Tetris" is the name that the article gives to the IBM PC version of Tetris (1986). Its just odd to me that it has references to all sorts of 2003, 2005, and 2007 stuff without mentioning SRS or Guidelines.
> Later in 2003, I received a message from Henk Rogers, inviting me to Hawaii to meet him and Alexey Pajitnov to talk about establishing some sort of standard for Tetris, for the purposes of having Tetris tournaments.
What's fair to say, though, is that although there's technically overlap on the timeline, he would've most certainly been more familiar with the myriad of Tetris games that predated the guideline. Tetris Worlds came out two years before his article, and at that point, nobody really even knew there was a guideline.
Blockout: https://en.wikipedia.org/wiki/Blockout
Welltris: https://en.wikipedia.org/wiki/Welltris
A lot of it sounds like a cold war spy story, and I highly recommend it.
I link to part [3], because parts 1 and 2 has an introduction of how Soviet Russia saw cybernetics. Later parts explain how Atari ended with the rights for home computers and Nintendo for consoles and the schemes and skulduggery that followed.
[3] https://www.filfre.net/2017/06/a-tale-of-the-mirror-world-pa...
As soon as I opened this link I started to whistle the music from Tetris (GameBoy of course). When I spotted Steve Wozniak I remember seeing a video of him playing Tetris obsessively on a GameBoy Light (or maybe a Color). I instinctively went to eBay.
Tetris really is the crack cocaine of video games!
The source code is at https://github.com/gunn/tetris/
And you can try playing it at http://wolandbros.com/tetris/
And a Pt 2 followup: https://www.youtube.com/watch?v=0j_fp5L8Si8
Very entertaining and well worth watching even if you're not a Tetris superfan.
https://m.youtube.com/watch?v=VaRyWcd6me4
So many hours. We'd battle many nights. Going to sleep still fitting blocks in my head.
I found an implementation on kongregate, but it requires flash: https://www.kongregate.com/games/banthar/hell-tetris