The Tetris guidelines Random Generator is apparently simple.

Thread in 'Discussion' started by colour_thief, 28 May 2006.

  1. kbr420

    kbr420 Unregistered


    that's me btw. sorry i forgot to log in.
     
  2. tepples

    tepples Lockjaw developer

    Either that, or it's a variant mode of play, such as Square Tetris. Because having multiple identical "Tetriminos" in a row is an advantage in Square Tetris, I've noticed that The New Tetris and Square mode of Tetris Worlds don't use the Random Generator.

    Yes. It's a different play-style, and scoring isn't really comparable between "Memoryless" mode (classic rand()%7) and "Random Generator" (permutation at a time) mode.

    True, "Memoryless" results in longer maximum runs of one "Tetrimino", but if all players receive the same sequence (from the same seed) as was the case in Tetris & Dr. Mario for Super NES, it becomes more fair.


    But the Random Generator has one weakness: Games that use it can be played deterministically, making it easier to construct a bot that can toss out multiple Tetrises in a row obscenely quickly. And it'd also be useful to have a standardized name for this behavior that's more specific than "Random Generator". (EA calls it "Random Tetrimino Bag".)
     
  3. K

    K

    Hello mister "kbr420" :

    what is your "exact function" on BPS to want feedback about this randomizer ?

    you lives in HAWAI ?


    sorry but i'm (and surely not the only one) skeptic about "VIP" guy claiming working for BPS coming here for collecting feedback about "the randomizer"...


    it would be really great if we were able to discuss about Technicals choice on TETRIS guideline, but please be more persuasive on your working job description...


    thanks.
     
  4. kbr420

    kbr420 Unregistered


    I'm sorry, I do not want to post any personal information regarding my job title. But, yes I do live in Hawaii.


    It is more than understandable for you to be skeptical about my claims, but they are true, take it as that. You can ask me any question regarding Tetris and the mechanics of it, but I cannot disclose anything from our Tetris Design Document. This document is for our licensees to have for development and not open to the general public.


    The reason why I am asking for feedback regarding the Random Generator which is what IT IS CALLED, is because there are talks about changing the system. I personally do not want the change to a greater amount of Tetriminos in it. I like it at 7. No more, no less.


    BTW, in the SRS (Super Rotation) images on this website, the rotation point for the I-Tetrimino is the second to the left block, standardly known as a Mino....tepples, you did a good job in describing the aspects of the game!
     
  5. tepples

    tepples Lockjaw developer

    Agreed. I don't ask for trade secrets here or on forum.gbadev.org. But phoxinus?
     
  6. If I understand you properly here, I believe you are misinformed. I know for certain that the main modes (Master and Shirase) use neither the Random Generator nor the older chaotic system. In fact, I have performed a statistical analysis on the game which strongly suggests its generator follows these rules:

    -the game keeps a history of the previous 4 pieces
    -if the game generates a piece found in this history it will reroll
    -the game will reroll up to 4 times before giving up

    Given these rules, the probabilities of various phenomenon match those found in TGM3 piece sequences very closely. If you're interested I've got a half written description of my analysis I could finish and share. It's fairly long though.


    The bag method is definitely leagues better than the common modulo 7 approach. However, there are "seams" where the "bags" connect, if you follow the metaphor. The player is fairly often dealt strings of SZSZ at this point, and it's not uncommon to be starved of the I mino for 12 pieces. It makes for a bumpy ride, with each seam potentially throwing a nasty sequence at the player (Hold doesn't help much against SZSZ) or throwing too good a sequence at the player (II) that will starve him from that essential piece for a while.


    The TGM style generator described above is more consistent. This is essential in the arcade when you are paying for every game and demand consistent value for your 100 Yen. I think it should apply in consumer games also, because I like to get consistent value out of my free time. I realise that consistent doesn't necessarily mean better. Taken to an extreme, you would get boring piece sequences that are far too predictable. In my opinion though, the TGM piece randomizer is well balanced and does not go too far. It's smooth yet unpredictable.


    Using 14 pieces instead of 7 for the Random Generator would introduce more chaos than even the current rules, making it more similar to the classic games. In my opinion this is a step in the wrong direction, or at least a step away from my personal preferences.


    Just so you don't get the wrong idea, I am also critical of the TGM approach. My ideal method would use a different technique to achieve all the benefits of both modern methods without any of the drawbacks. But this post is getting long and off topic now so I'll stop. [​IMG]
     
  7. tepples

    tepples Lockjaw developer

    Equivalently, the game chooses one of the front three, adds it to the next piece queue, and then moves it to the back of the bag.

    If all 5,040 bags are equally probable, then the odds of getting a bag ending in SZ are 1 in 42; the odds of getting a bag ending in either SZ or ZS are 1 in 21. Therefore, the odds of a given seam being four snakes (SZSZ, SZZS, ZSSZ, or ZSZS) are 1 in 21*21 = 1 in 441. A typical game of 40-line B-type will have about 105 Tetriminos, or 15 bags; you can expect four snakes in a row in roughly 1 out of 441/15=29.4 games.

    One out of 49 seams will have I, twelve others, I. That's what the Hold Piece is for.

    (One thing: Why hold "piece", next "piece", and ghost "piece" when the rest of the user manual uses the term Tetrimino?)

    Hold doesn't help you against SZSZ. The point is to look at the next pieces (and official games seem to show at least 3 nowadays), and if you see a lot of snakes on the plane, grab a T and hold it.

    II means use the hold piece, or start building for an L triple or a T-spin double.

    Either that, or the game supports a mode similar to Nintendo's PlayChoice in which the player rents the machine for 5 minutes and plays as many games of B-type as fit into that time period. A 55tpm player could fit at least 3 games of 40-line B-type into that time.

    Imagine an inlet pipe on your tetrion, right next to the bottom of the next piece queue. Connect a memoryless randomizer, TGM move-to-back randomizer, or Random Generator to that pipe.
     
  8. I think you were a little too pedantic in your reply... 4 of SZ in a row is the worst case. More generally I think 3 of SZ in a row is also unfair. And if your Hold slot is already filled with an I mino and you get II they're wasted on you.


    I personally think it's a cop-out to say that Hold will solve these difficulties. It isn't used any less when you don't have to worry about compensating for unfavourable sequences. The function of Hold simply shifts to higher level strategies. Instead of thinking "how do I deal with this incoming chaos" the player gets to more often think "how can I rearrange this sequence to get Tetrises/T-Spins/nothing stacked above where I'm about to open a hole."


    To a certain extent we're always playing for that lucky optimal sequence anyways, and a generator with a constant history size just saves the player time and keeps things fair.
     
  9. I think moving in the direction you describe would make the game more boring, CT. To me Tetris has always been about finding the best way to deal with difficult situations, and if you eliminate or drastically reduce the number of times those situations occur, you take out a lot of the fun.
     
  10. Tarto

    Tarto Unregistered

    I personally like the 7-piece generator, I think it's a good tradeoff between chaos and consistency.


    Extending the "size" of the randomizer would add randomness to the game and, in my opinion, lead to less significant rankings.
     
  11. Guest

    Guest Unregistered

    I doubt the validity of asking people what algorithms are good or bad, without giving them a chance to actually playtest an implementation of said algorithms.


    Game design is an iterative process. Good design only emerges out of repeated cycles of prototyping, testing, and evaluation. (As described in countless game design documents, notably Salen & Zimmerman's "Rules of Play.") It is impossible to fully grasp the implications of any design decision without actual prototyping and playtesting, as there are always consequences that affect play in a way that was unforeseen with mere simulation in the mind.


    I don't think everyone who replied had actually played on a 14-bag randomizer or a move-to-back randomizer. Asking for input about algorithms on people without actual experience of said algorithms does little good, aside from strengthening the status quo, which people have actual first-hand experience with.


    Therefore, if one was to solicit input for this decision, I would ask them to supply the respondents with functional prototypes implementing each algorithm.
     
  12. tepples

    tepples Lockjaw developer

    I view open-source fan games as such prototypes. But unfortunately, The Tetris Company and its law firm are again projecting an image that a game's functionality itself can be copyrighted (however the US Copyright Office doesn't agree) and that fan games infringe TTC's copyright even if they do not infringe the Tetris trademark.
     
  13. I agree with guest above, in that the average user's input is pretty meaningless without actually playing using a particular algorithm.


    Along those lines, I would caution you Caithness to perhaps not prematurely dismiss constant history size algorithms as boring. After all, half the time the Random Generator is less predictable and half the time it is more predictable. If you play some TGM or watch the movies you will no doubt encounter clever puzzles in the gameplay, regularly.
     
  14. I just took a quick look at some youtube videos of Tetris Effect and tetr.io, both being some fairly recent new tetris games, and I see that both use bag-7 (aka 7-bag or Random Generator).
    I'd rather play a more challenging game with modulo-7 than play a boringly predictable bag-7. I come from a square tetris world (tnt64) -- I never liked playing regular marathon squareless tetris.
    There is more art and beauty in the square world. Tnt64 uses bag-63, which turns out to be a nice compromise between modulo-7 and bag-7. I don't think I would be able to build such manageable constructions such as the following, and get away with it, if it were modulo-7.

    [​IMG]

    Here is another example, taken from a different game than the above image.

    [​IMG]

    And as pointed out earlier, one can mindlessly algorithmically play forever with bag-7 (https://tetris.wiki/Playing_forever).

    It would be interesting to try out different sized bags in tnt64; for example, bag-14, bag-21, ..., bag-56.
     
    Last edited: 8 Apr 2021

Share This Page