I have a somewhat contrarian opinion. I think if you're making a clone of Tetris you should actually take design cues from the somewhat more obscure Tetris the Grand Master series instead of the "guideline" or NES Tetris rules. TGM's rotation and kick rules are a lot more elegant and avoid a lot of unneeded complexity. Guideline Tetris kicks let you do absurd and weird things (look up the series of kicks that make up a T-Spin Triple and see if that makes sense to you) and rewards doing canned setups really fast, whereas TGM's game design is all about doing good stacking very fast.<p>The TGM randomization algorithm is also pretty elegant. 7 bag is a bit extreme, it gives you such a perfect set of pieces at all times that it's genuinely less challenging and fun. TGM's random piece algorithm is a lot simpler: the randomizer has a 4-piece history window and it tries multiple times (IIRC, 6) to find a unique piece that hasn't appeared in that window. It is initialized to SSZZ to lower the odds of starting with an S or Z early on. (~~They also use the Mersenne Twister as their PRNG, which was a pretty good PRNG in an era where many games still used LCGs.~~ edit: Apparently, they do not. Don't ask me where I got this, I have no idea.)<p>Now of course I'm not sure if it matters <i>at all</i> for <i>this</i> particular game since it isn't really a Tetris clone at all, but while TGM is a well-known cult classic for people deep into Tetris it's relatively obscure outside of that circle (and presumably outside of Japan.) The Tetris Company is very strange about licensing and has apparently, as the legend has it, blocked and forced changes on TGM releases for a very long time due to the fact that it doesn't fit with the Tetris guideline rules they enforce in an oddly totalitarian fashion, probably suppressing the game even further in an era where speed games and competitive gaming is a lot more popular.
The rabbit hole runs much deeper, this is a specification of the rotation system for current (modern) Tetris games:<p><a href="https://harddrop.com/wiki/SRS" rel="nofollow">https://harddrop.com/wiki/SRS</a><p>The "modern" rules ("guideline", as the community calls them), with Hold, 7-bag, multiple previews and a rotation system that allows easy T-spins make for more interesting multiplayer games that go beyond "who can spam Tetrises the fastest".
I really like the implied general principle of the wall kick - if the user tries to do an action in a state that doesn't allow it, if there's something that's useful and pretty close, do that instead.<p>For instance, I'm building a tree editor with vim movement keys, and I found that a "j" that brings me up to the first child <i>or</i> next sibling node is strictly more useful than a "j" that only descends to children and a "l" that only goes to the next sibling.<p>Obviously, you have to be very careful to avoid introducing footguns, but the idea of "don't dogmatically adhere to operation semantics" is good.
Apotris (<a href="https://akouzoukos.com/apotris" rel="nofollow">https://akouzoukos.com/apotris</a>), a GBA "demake" of tetris is one of the cooler ones I've seen with regard to QOL. Lots of settings for tweaking controls and sensitivity that make it possible to fine tune the game to just feel fantastic to play
> Before we implemented this, we played entire games with not a single stick piece in over 100 pieces<p>Are you sure there wasn't some other bug? There's a 6/7 chance of not getting a stick piece, which means for 100 pieces in a row there's (6/7)^100 = about 1 in 5 million.
That brings some memories. I got into tetris around 1988 on a 8086 PC with 5" floopy drives. Somebody gave me a copy of a very early tetris, it was a tiny DOS .com file, and the game was in text mode, written by the original Russians. I must have spent entire weeks on that thing, and when I learned programming, I proceeded to write a whole list of tetris variations, including one hexagonal, one for 3 players on a single PC, and a regular Tetris in assembly that fit on a boot sector. To this day it I open a tetris, I expect the exact rotations as that original version. Never got into these easier random generators - all my clones used full random pieces. Except for one where the machine would always throw you the hardest piece :)
i created a not tetris clone here <a href="https://ihopethisisfun.franzai.com/" rel="nofollow">https://ihopethisisfun.franzai.com/</a> (not tetris in a flipping / rotating board with vertical lines also possible) and I learned more about the SRS (super rotating system) then i ever wanted to know, think it is still off and i might give it another try soon
Ah, Tetris. I remember stripping out the copy protection from the MSDOS version with a debugger. Not because I wanted to resell it, which would have been difficult back then, just because I found it irritating.<p>I also added mouse support, once again using a debugger, for Hercules Graphics to a wargame - it was the ever popular Battle of the Bulge, by a famous designer who's name I can't remember. Guy that did Eastern Front on the Atari.<p>Edit: Chris Crawford
As you may know, I have been working on DropZap World, a falling block game with lasers for many years.<p>It lies somewhere between Tetris and Candy Crush.<p>Getting the game mechanics right has been hard and I've tried numerous variations on the game rules.<p>I think I have something that works now.<p>Check out the beta: <a href="https://testflight.apple.com/join/CdEXgjst" rel="nofollow">https://testflight.apple.com/join/CdEXgjst</a><p>Any feedback would be appreciated!
People who want play tetris _fast_ (on places like jstrs) will prefer the "real" rotation to the "NES" rotation, because it allows you to place pieces with fewer button presses.<p>To explain why check out this video: <a href="https://www.youtube.com/watch?v=_QBs703nOnk&t=502s" rel="nofollow">https://www.youtube.com/watch?v=_QBs703nOnk&t=502s</a>
Side question: how can I introduce my son to the joys of Tetris? Is there a good game available somewhere currently? I tried to find one for the iPad, but came up empty-handed.