Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Tetris Randomizers (2018) (simon.lc)
57 points by rdpintqogeogsaa on Aug 14, 2023 | hide | past | favorite | 16 comments


There's a nice romhack for the original Gameboy Tetris which backports various modern improvements to it, including the 7-bag randomizer.

You can have your dose of nostalgia without the frustration: https://www.romhacking.net/hacks/5813/


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).

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.

I will need to see how I fare against a newer version of the randomizer one of these days.


> These games are by definition finite and sometimes end rather quickly

You should try Hatetris: https://qntm.org/files/hatetris/hatetris.html


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.


As the sibling comment explains, the system with the 35-bag has a nonrandom way of adding pieces to the bag when one is removed. But even without that, the size of a bag does make a big difference to what sequences can appear.

Suppose you have a 7-bag system and you draw 35 pieces from it. Each subsequence 0-6, 7-13, 14-20, etc must contain exactly one of each piece. On the other hand, 35 pieces from a 35-bag system have to contain 5 of each piece, but they can be jumbled up. So the sequence could start SSSSSZZZZZ, whereas with the 7-bag system you would have to get at least one I and one T before you could have a second S or Z. In Tetris, as in other games, this totally affects your chances of winning - if it takes longer for the pieces counts to 'average' out, you might have died waiting for an I before they do.

This is a little like the situation with card-counting in blackjack. Going from 1 deck to 6 decks shuffled together doesn't affect the odds for a player who isn't paying attention to the cards. But it makes the job of a card counter way, way harder, and increases the chance that she will run out of money during a long spell of unfavorable cards, before the inevitable regression to the mean eventually happens.


In the bag system, eventually your bag runs out of pieces and you move to a new bag. That's not the case for the TGM3 system. You always have 35 pieces, when you "take one out" of the bag it's immediately replaced before any other pieces are drawn. So there's always a pool of 35 pieces to choose from, and the contents of the pool will change to include more and more of the pieces you haven't drawn until you inevitably draw one, then it will change to whatever the new least drawn piece is. It's constantly self-correcting in that way, but I suppose with a really unlucky sequence you could end up with a lot of one piece in the pool and then get that piece repeatedly.


I like how it basically forces you to see more of a piece you haven't played. I'm assuming in the variants where you can keep "swapping" the current piece with the next piece, this can act as a way to prime the random options?


> When a piece is dealt, instead of removing it from the pool, it is replaced with the most droughted piece

So as I understand, the contents of the bag remain in flux, and pieces that don't occur in the history as much start to appear in the bag more.

It's interesting to think about how much tuning this required for them to get it right, my immediate worry is that this would create an oscillating system.


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.


What is the best Tetris on Nintendo Switch?

I searched in the store, it seems there many options. I want something closer to the classical game.


Has anyone implemented a version of tetris where the player can toggle the randomiser mid-game?


From a purely pedant point of view, the star item in 4 player versus in Tetris DS switch the standard 7-bag randomizer into one that only deals the I piece.


NES Tetris didn’t have a uniform randomizer? How did I not know this!?


And this article describes a simplified version of the NES Tetris randomiser. The actual one is barely distinguishable from the described one, but is technically a bit biased[0]. I made a small script to compare randomiser probabilities a couple of months ago[1], in which I wrote a vaguely readable version of the NES randomiser.

[0]: https://meatfighter.com/nintendotetrisai/#Picking_Tetriminos [1]: https://pastebin.com/XumxE1tV




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: