There's a nice romhack for the original Gameboy Tetris which backports various modern improvements to it, including the 7-bag randomizer.<p>You can have your dose of nostalgia without the frustration: <a href="https://www.romhacking.net/hacks/5813/" rel="nofollow noreferrer">https://www.romhacking.net/hacks/5813/</a>
I really wish TGM3 was more popular, and got a good port to modern consoles. It is so incredibly unique and in my opinion far more enjoyable than modern Tetris. The one thing they need to fix is the completely inscrutable “t-spin” notification that appears
I always thought a 7-bag where you reset the bag when nearly empty was a good compromise (where "nearly" can be selected for how much randomness you want).<p>Droughts are technically not prevented, but odds of them do go down quite a bit.
I grind on NES Tetris nearly every day at speed 9, game-B. My personal goal is playing "perfect" games where only lines are used to complete rows. These games are by definition finite and sometimes end rather quickly given the nature of tetromino selection. When that gets boring I switch to speed 9, game-B at level 5 which is simply a battle for survival for 25 lines. This is a bit easier.<p>I will need to see how I fare against a newer version of the randomizer one of these days.
Is the Tetris Grandmaster 3 system basically the same as having five bags? So, instead of a bag with 7 pieces, one of each type, you have a bag of 35 pieces, 5 of each type. I'm having trouble picturing the difference.
In the "1 Piece history with 1 roll" code, a global variable `piece` is introduced. There should be a `let piece;` at the top of the function body to scope it locally.