Randomizers

Started by kbr, May 12, 2015, 01:34:15 PM

Previous topic - Next topic

kastle09

How the f*** did i not notice before the letters that make up the pieces in tetris can say JIZ LOTS
The revelation.

caffeine

By the way, thanks a lot for including the community in this, kbr & co.

meow

The bag randomizer is as easy as it can get.

For single-player, some of the modes have turned into rote memorization of patterns (ST/ZT stacking). These modes have lost the puzzle aspect of Tetris. It sucks that single player has devolved into repeating setups infinitely.

For multiplayer, the consistency of the pieces in the bag randomizer lets players stack their desired opening pattern almost every time. I don't know what players think of 3/4-wide opening strats at the moment - maybe the community shuns it or it's not effective anymore - but this could be a factor when considering the randomizer. Aside from the opening, the randomizer is quite nice for the current VS rules - combos and Tspins are well-balanced.

My opinions on multiplayer are based only from watching TOP and TF 1v1.

Taiga

Quote from: meow
The bag randomizer is as easy as it can get.

For single-player, some of the modes have turned into rote memorization of patterns (ST/ZT stacking). These modes have lost the puzzle aspect of Tetris. It sucks that single player has devolved into repeating setups infinitely.

For multiplayer, the consistency of the pieces in the bag randomizer lets players stack their desired opening pattern almost every time. I don't know what players think of 3/4-wide opening strats at the moment - maybe the community shuns it or it's not effective anymore - but this could be a factor when considering the randomizer. Aside from the opening, the randomizer is quite nice for the current VS rules - combos and Tspins are well-balanced.

My opinions on multiplayer are based only from watching TOP and TF 1v1.
Agreed. Also, pls accept my friend request Meow-senpai  
"Practice Makes Perfect Never Give Up Pizza Power!"

Okey_Dokey

I prefer playing with a randomizer that is very close to memoryless. With 7-bag and Hold, clearing Tetrises is way too easy. The only way to make guideline Tetris challenging stackingwise is by a) inserting garbage lines or b) by rewarding creating & clearing overhangs. I find the latter just stupid and unnatural. Let's be honest, most people haven't performed a T-Spin in their entire life.

That said, from the economic standpoint it's probably better to stay with a 7-bag alike randomizer. Simply for the fact, that the big part of the clientage is used to 7-bag. Most people are not open-minded enough for changes. Even double bag would be too much change.

However, I would also include a classic rule in the game: randomizer close to memoryless, no Hold, 1 or 2 previews, lock delay doesn't reset if piece is moved or rotated, pieces don't spawn at the bottom, no upward-kicks. Things like Marathon and 5-minutes-Ultra simply work better with classic rules, sometimes also Multiplayer (because the skill gap is smaller). Such a ruleset would be a completely different Tetris experience and it would find its audience, if there were seperate highscores and rankings.

The low difficulty of bag randomizer is not its only problem. Another problem is that the last piece of each bag is fixed. People have learnt how to abuse this fact (especially in Multiplayer). To a certain extent, the problem is also present with double bag randomizer. I could imagine that the 2-minutes-Ultra highscore will be done with the T-Spin Triples loop. There's a very high chance that it fails, but with some luck it works long enough. 4 wide is also powerful in double bag (as long as you have Hold).

Here are 2 ideas for randomizers: a bag-alike randomizer that is refilled before it is emptied, and a randomizer using weights.

Example 1: Add 7 pieces to bag when 1 piece is left in the bag

This randomizer is a teeny, tiny bit harder than the 7-bag randomizer. Initially, the bag is filled with the 7 different piece shapes.

IOTLJSZ

Now pieces are drawn from the bag until 1 piece is left. Let's say the T piece remains in the bag. Now, the 7 different piece shapes are added to the bag. So it contains 8 pieces before the next piece is drawn:

IOTTLJSZ

Now again, pieces are drawn from the bag until 1 piece is left. So, at least 1 T piece is handed out during this period. The longest possible piece drought is around 20 pieces.

Example 2: Add 7 pieces to bag when 7 pieces are left in the bag

This randomizer is a bit harder than 14-bag (double bag) randomizer. Initially, the bag is filled with 14 pieces, 2 of each kind.

IIOOTTLLJJSSZZ

Now pieces are drawn until 7 pieces remain in the bag. Let's say they are:

IIOOTLJ

Now, the 7 different pieces are added to the bag:

IIIOOOTTLLJJSZ

Now again, pieces are drawn until 7 pieces are left. The left-over could look like this:

IIITLJS

In this example, no I piece was handed out. The longest possible drought is around 60 pieces, but it's very very unlikely that a drought will take longer than 25 pieces.

Example 3: Weighted Randomizer

If you want to make a decent memorizer which is close to memoryless, but reduces the chances of droughts and floods, then use weights. Every piece has a base weight. Let's say it is 100.

I = 100, O = 100, T = 100, L = 100, J = 100, S = 100, Z = 100

Now, the randomizer looks at the last handed out pieces and reduces the pieces' weights accordingly. Let's say the last handed out piece was an S piece. This is punished by 40. The second-last piece was an Z piece which is punished by 20. The third-last piece was again a Z piece, which is punished by another 10.

I = 100, O = 100, T = 100, L = 100, J = 100, S = 60, Z = 70

Now, the randomizer looks on pieces, that haven't been handed out for a long time, and increases their weights accordingly. Let's say the last I piece appeared 20 pieces ago. This is rewarded by 50. The last O piece appeared 15 pieces ago which is rewarded by 20.

I = 150, O = 120, T = 100, L = 100, J = 100, S = 60, Z = 70

The randomizer could also look, if the second-last hand-out was a very long time ago. Let's say the last L piece appeared 7 pieces ago (pretty recent), but the second-last L piece appeared 30 pieces ago. Then this is rewarded by 50.

I = 150, O = 120, T = 100, L = 130, J = 100, S = 60, Z = 70

Now the weights are finalized. The chance that a certain piece appears is its weight devided by the sum of all weights. In our case, the sum is 150+120+100+150+100+60+70 = 750. The I piece has a 150/750 = 20% chance of appearing. The S piece has a 60/750 = 8% chance of appearing.

This was just an example. There are several ways how weights could be modified (and by which amount). The range of such an implementation could vary between (almost) memoryless and double bag.

Here's a randomizer class I have written. The weighted implementation is used in nextolaf(). The class also contains a method that calculates the standard derivation of how long you have to wait for a piece. This way you can express the randomness of a randomizer in a single number: memoryless = 6.48, gameboy = 6.16, nes = 5.71, refill7if7left = 5.00, doublebag = 4.36, refill7if1left = 3.60, tgm1 = 3.18, bag = 2.83, tgm2 = 2.71 .

Quote from: bigwig
For nearly any single player game, the TGM randomizer is the best. It does its job of preventing excessive duplicates and draughts with minimal interference or side effects. It avoids the Cultris problem of getting OJ OJ ST ST which happens way too much. The only argument here is memory 3 or memory 4.
For nearly any single player game, the TGM randomizer is the best.

LOL. The problem of TGM randomizer illustrated in a single picture:

[!--ImageUrlBegin--][a href=\\\"http://i45.tinypic.com/106aw77.png\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"500\\\" class=\\\"attach\\\" src=\\\"http://i45.tinypic.com/106aw77.png\\\" border=\\\'0\\\' alt=\\\"IPB Image\\\" /][!--ImageUrlEnd--][/a][!--ImageUrlEEnd--]

The picture shows the chances of the next, the second-next, the third-next etc. piece having the same shape as the current piece. If the last 4 pieces had different shapes, then there's just a 10.66% chance to get one of these 4 shapes again. And then suddenly when a piece falls out of the history, chances are multiplied by 10. What makes an SOTS sequence as bad as an SSTO sequence? And what makes SOTSI so much worse than SOTIS? How is a randomizer that offers no challenge at all "best" for nearly any singleplayer game? Also note, that's TGM 1 randomizer in the picture. TGM 2 randomizer is even more extreme. Stacking hundreds of Tetrises in a row is very easy there, even without Hold. You won't encounter any droughts (because Maths).

Generally speaking, rerolls are bad (TGM, NES, Gameboy). Rerolls reduce significantly the chance of certain sequences, but leave all other sequences untouched. Cultris II is a decent programmed randomizer. You see how smoothtly the bars converge to 1/7 = 14.286% in the image? SZSZ sequences are more a problem in NES than in Cultris 2. I see only 2 problems with Cultris 2 randomizer:
  • The chance of getting 2 equal pieces in a row is reduced too much.
  • There's no mechanic reducing the chance of droughts (especially bad for James Clewett's).

Blitz

I don't think individual randomizers should be judged alone. There is no all purpose randomizer that is good for everything. A randomizer must be seen in context with the rest of the game to determine if it is a good fit or not.
Here is a couple of things to think about before deciding which randomizer to use.

Is the game singleplayer or multiplayer?

If it's multiplayer, who do you want the players to play against? Do you want them to play against the game or against the opponent player? If the randomizer is too difficult, the players will focus more on fighting the game than fighting the other player. I think it makes most sense to let the players play against the opponent player, so a reliable randomizer would be necessary here. In the case of the 7-bag randomizer and the current Tetrisfriends/TOP multiplayer gameplay, I think the objective in that mode is too easy to achieve with 7-bag, but I do not think the best solution to this is to make the randomizer more difficult. I think a better solution is to make the objective of the game more difficult.
With a randomizer so reliable as 7-bag, you can allow yourself to design a multiplayer mode that asks the player to do much more demanding maneuvers than t-spins and expect that players will be able to consistently perform any tasks you throw at them regardless of how complicated they may seem at first glance.

If you are making a singleplayer game you probably want the player to play against the game and you should go for memoryless, unless your game got a very demanding or specific goal and a different randomizer is absolutely necessary for any player to ever reach that goal.

Previews and hold also affects the difficulty of a game so you should take that into consideration as well.

Okey_Dokey

The following post has nothing to do with randomizers at all.

Quote from: Blitz
In the case of the 7-bag randomizer and the current Tetrisfriends/TOP multiplayer gameplay, I think the objective in that mode is too easy to achieve with 7-bag, but I do not think the best solution to this is to make the randomizer more difficult. I think a better solution is to make the objective of the game more difficult.
With a randomizer so reliable as 7-bag, you can allow yourself to design a multiplayer mode that asks the player to do much more demanding maneuvers than t-spins and expect that players will be able to consistently perform any tasks you throw at them regardless of how complicated they may seem at first glance.
In my opinion, making the game more difficult shouldn't be achieved by additionally rewarding fancy moves. It should be done by making the garbage harder. If smart spins help you to downstack faster, then fine - but why should send that additional lines? I am not completely against rewarding T-spins because of the exceptional role of T-pieces (Parity). However, rewarding All-spins doesn't make sense in my opinion.

Now about garbage: I refer to garbage as the heart of multiplayer. Strangely, the consistency of garbage does'nt seem to be defined in the Tetris guideline. Garbage varies from game to game. I dislike clean garbage. In the 3DS version of Tetris Ultimate, the garbage column switches exactly every 4 columns. This is the opposite of difficult in my opinion. All what you have to do is clearing the garbage lines with I pieces, and paying attention to not covering the garbage holes below.

[fumen]115@VgD8AeI8AeI8AeI8AeK8AeI8AeI8AeI8AeC8JeAgWh?AFLDmClcJSAVDEHBEooRBPoAVB0nltCqCMgCpfLuC0AAAAv?hOTFBVHBMBBJSBvRBuYBqJB6PBTABJnB+KBMfBvbBNVBAAP?IAzno2A3uSrD[/fumen]

If you are going with change-per-attack garbage (as in Tetris Friends and Tetris Online Japan/Poland) in the PC version of Tetris Ultimate, then I have the following suggestion:
  • Garbage hole column always switches after each attack (resp. line clear).
  • During an attack, there's a small chance (e.g. 20%) that the garbage hole column switches after each line.
The reason for the second rule is that Tetrises and T-Spins create too clean garbage otherwise. Sending clean garbage can backfire, since it can be cleared easily (thus sent back). Change-per-attack garbage only works in Tetris Friends because of the long garbage countering period (which can be used to cancel messy garbage), the long line clear delay and the weak combo table. It's debatable if change-per-attack works in TOP.

Let's say we are in a 1-vs-1 situation. One player makes a Tetris into a back-to-back Tetris. In Tetris Friends Expert+ mode, this sends 9 lines over to the opponent, whereas the garbage hole switches exactly one time.

[fumen]115@LgD8AeI8AeI8AeI8AeI8AeK8AeI8AeI8AeI8AeC8Je?AgH[/fumen]

One way to make that garbage harder is by considering the back-to-back line as a seperate attack. But let's just say, it's not a seperate attack. Now kicks the rule in, that the garbage hole can change during an attack. The results may vary. There're 7 lines, where the garbage column can change by hazard. If the chance for a switch is 20%, then there'll be 0.2*7 = 1.4 additional garbage column switches in average. If the opponent is lucky, then there's no additional switch at all (as in the picture above). If the opponent is unlucky, then there are 4 additional switches.

[fumen]115@LgD8AeN8AeD8AeI8AeI8AeF8AeO8AeI8AeH8AeC8Je?AgWpAV2khEjBCUASo78AYu78Awh6nDJPONEuikTASIjoEJv?Y1DlN98AZAAAAZgAADeA8eeA8DeAAIeAAA8HeAAA8VeAAPm?Aswg/D5oo2AFbGIEvoo2ABny4D0eDKEBD98Awsd5D0lbTAy?lAAADhA8BeAAFeA8BeAAdeAAPhAQM9dE0W98AQCJlDrW98A?wnoRBxno2AzTGeED988AZAAAAPgA8DeAADeA8DeAAAeAABe?A8FeAABeA8UeAABeA8FeAABeA8deAAPiAiu2TASoPKEswg/?D5oo2AFbm9AFbsYE3uGlDoY0TAylAAASgAAAeA8AeAAGeA8?AeA8BeAAFeA8BeAAUeA8BeAAFeA8BeAAFeA8BeAATeAAPlA?QM9dE0W98AwfRDE1VCvEFbcRASUjRASIjoEJvY1DlN98AZA?AAA[/fumen]

Sisu

what RNG is used here?

note: ^ this is not the same old n-blox

caffeine

Flood and drought frequency is a recurring topic in randomizer discussions. Why is it so important we avoid them? Back in the day, getting a long run of Z's or not getting an I piece was frustrating, but also exciting. It was a natural challenge to the game.

bigwig

Quote from: Okey_Dokey

Example 1: Add 7 pieces to bag when 1 piece is left in the bag

Example 3: Weighted Randomizer


Interestingly, your 7+1 randomizer was used in TOJ and people liked it.

The two facets of your weighted randomizer are:
1)Punish recent pieces
2) Promote "draught" pieces

The first part is a good method to prevent duplicates and near duplicates, however the second part is more contentious. It would move the piece distribution to look a lot like 7 bag, except remove the predictability of the last few pieces. Since we're only talking about 7 pieces, I don't think the extra promotion of draught pieces is warranted. With any randomizer bias against recent pieces the chance of draughts of 12+ is very low.

I find the Cultris randomizer extremely annoying considering there was no hold and I had to keep an opening clear for garbage. In many cultris situations I found SXXS and SXS  situations to be nearly the same. What made me stop playing cultris was just how often I would get sequences like SXSXS or SSXS. They happened all the time, nearly every game.

For multiplayer, 7 bag, 7+1, or something like your weighted randomizer is probably best, as long as the garbage is messy enough to warrant the predictability.

It seems like our main disagreement is how strongly to bias against recent pieces, and how many recent pieces. I argue that getting two of the same piece in a row is almost as bad as getting 2 of the same piece in a sequence of 3 pieces, maybe 4.

The strong predictability of TGM may not be warranted if we're using SRS or the speeds aren't insane. In that case,  a gentler curve of double prevention with a shorter history of 3 instead of 4 is warranted.

We gotta get colour_thief's opnion on this.

Alexandra

#25
Is it a general consensus that people want a "challenging" randomizer? So you want a Cultris, Nes-like, TGM multiplayer?  
Wouldn't that result in a very boring start to finish combo stacking game?  
(But isn't combo stacking, Tspins, tetrising- etc. all those things, rather inevitably repetitive. Perhaps Tetris itself is just repetitive and we're just denying that fact and trying to somehow make it so it isn't repetitive. but even with any type of bag, it would be repetitive.. wouldn't it?)

Also, I was under the impression that Tetris Ultimate would be the official PC guideline Tetris game to replace the splendid client, TetrisFriends.  
So I guess there will not be an official multiplayer guideline client other than TF for another 7+years?  
And so I guess, most of the guideline tournaments will continue to be held on the remarkably inconsistent TF?

;_; i sad.

please dont change the bag too much.. double bag was pretty fun but I don't know if people would be able to make stacks other than combos with such crazy tgm hist4 bags.. the bag+1 sounds fun. something not so crazy with 4 sz or lj or whatever kind of thing..

caffeine

#26
Quote from: Alexandra
Is it a general consensus that people want a "challenging" randomizer?
Isn't that just exactly the type of information this thread is trying to ascertain?

Quote from: AlexandraSo you want a Cultris, Nes-like, TGM multiplayer?  
From what I understand, those randomizers tend to protect against floods and allow droughts. Also, it's a bit of a leap to say that simply changing the randomizer will change the entire multiplayer experience to that of NES or TGM. Multiplayer Tetris is made up of many different systems: rotation system, garbage hole changing system, what attacks send what, garbage distribution in FFA, line clear delay, autorepeat, canceling, number of previews, etc.

Alexandra

#27
Quote from: Alexandra
Also, I was under the impression that Tetris Ultimate would be the official PC guideline Tetris game to replace the splendid client, TetrisFriends.  
So I guess there will not be an official multiplayer guideline client other than TF for another 7+years?  
And so I guess, most of the guideline tournaments will continue to be held on the remarkably inconsistent TF?

;_; i sad.

is the main thing really..

Quote from: caffeine
Quote from: Alexandra
Is it a general consensus that people want a "challenging" randomizer?
Isn't that just exactly the type of information this thread is trying to ascertain?
you are correct ;_;

Quote from: caffeine
Quote from: AlexandraSo you want a Cultris, Nes-like, TGM multiplayer?  
Also, it's a bit of a leap to say that simply changing the randomizer will change the entire multiplayer experience to that of NES or TGM. Multiplayer Tetris is made up of many different systems: rotation system, garbage hole changing system, what attacks send what, garbage distribution in FFA, line clear delay, autorepeat, canceling, number of previews, etc.

you are correct (but i dont fully agree with you here.)

i'm all for a new? different? type of tetris gameplay and such but i was just under the impression that TU would be a 'guideline' tetris that would replace the wondrous TetrisFriends.. So im just reluctant to support a different type of tetris when we don't have even the most basic, lagfree, bugfree, guideline client available ;_;..
but regardless, i hope a new client comes out with whatever bag whether it be "challenging" or "easy."  

Kitaru

Quote from: bigwig
Interestingly, your 7+1 randomizer was used in TOJ and people liked it.
Let me jump in and say that 7+1 Bag was only featured in the old TOJ, not the newer TOJ (Minna de Tetris) that most players here know and love. Minna de Tetris uses a standard 7 Bag.
<a href=http://backloggery.com/kitaru><img src="http://backloggery.com/kitaru/sig.gif" border='0' alt="My Backloggery" /></a>

Arcorann

Quote from: Kitaru
Quote from: bigwig
Interestingly, your 7+1 randomizer was used in TOJ and people liked it.
Let me jump in and say that 7+1 Bag was only featured in the old TOJ, not the newer TOJ (Minna de Tetris) that most players here know and love. Minna de Tetris uses a standard 7 Bag.
Technically it wasn't featured in TOJ at all. In TOJ's 8-bag each bag consisted of a 7-bag plus one random extra piece, which was then dealt fully. By contrast, in the proposed 1+7-bag only 7 pieces from the bag are dealt before replenishment, which provides a correlation of sorts not seen in 8-bag.