Visited by RNGesus

What are the dumbest pro-rng arguments you’ve ever read?

One of the worst I’ve heard is from Sirlin arguing that 1 frame reversals, like in Super Turbo, should be randomized instead of execution-based. Reversals are bad in ST, unlike SF4 or SFV, because they’re so difficult to perform (I used to be REALLY good at reversals in ST though, including ones off of air resets, I’ve gotten worse at reversals as I’ve fallen out of practice unfortunately). So when waking up, the opponent can okizeme and not have to respect the DP as much, as opposed to later games that made reversals easy and you always need to respect the DP. Sirlin basically got to the heart of the matter, saying that it works because it’s inconsistent, but mechanical skill shouldn’t determine any part of the game, so it should be randomized instead. The idea that he considers randomness more fair than mechanical execution is fucking insane.

Another bad one was this one from Riot, regarding their implementation of Plants recently, small objects that spawn semi-randomly across the map and have varying effects, like boosting players, healing them, or providing vision.

Then there’s that article defending tripping that I made a response article to which basically called everyone the fuck out on everything.

Is the use of RNG for chance of an attack to succeed like in Fire Emblem or XCOM alright RNG? People say that you should use a strategy that solely relies on an attack succeeding and should have contingency plans in case of failure.

Alright, Keith Burgun has these two terms he coined that are fairly appropriate here. Input Randomness, and Output Randomness.

Input Randomness is generally when the circumstances are random but the player is presented with this randomness before it takes effect. Tetris is a good case of input randomness.

Output randomness by contrast is when a random effect is applied to the outcome of an action, without player knowledge. Keith Burgun calls Output Randomness bad, because it’s essentially preventing the player from making informed decisions about the consequences of their actions. You can read his article for more information on his reasoning there.

Of course it’s not totally that simple. In the case of Tetris, you can get block drops that are more disadvantageous than others, but for the most part, you can deal with it. There are many cases that blur the effects of the two.

In single player games, randomness can set you up for easier or more arduous circumstances, or it can cockblock you. In multiplayer games, there needs to be no direct interaction between the players and the random factors need to be identical between players for it to be fair.

In short, no, I don’t think it’s alright RNG, for pretty much the same reasons I don’t think bullet spread is fair RNG. Sometimes you hedge your bets accordingly, and you still lose, and that doesn’t really make sense in a game.

So then the more optimal strategies for games like Fire Emblem and XCOM are to have plans that guaranteed 100% success rate? There are experts in games like these that have consistent victories and even speedruns of those games where they demonstrate expertise despite RNG. How is this possible then?

Because speedrunners hedge their bets on RNG, same as the pokemon speedrunners. As they get better and better successes, they try riskier and riskier strategies across more and more runs until they get lucky and get a better run than last time. If you’re behind your splits, you shift up to riskier and higher gain strats, if those go south, then you reset.

Obviously you can be better or worse at these games, but there is still more statistical noise interfering with results than would otherwise be the case.

The optimal strat is to keep trying the high efficiency strat until you win and reloading from a save file otherwise.

There’s going to be series of choices that involve randomness less and produce more consistent outcomes, but you’re still gonna lose a lot and it’s not really going to be your fault.

Going back to RNG? Keith Burgun has other articles on RNG such as this one: What do you think of those?

I don’t disagree with any of them. This is a good article.

I do however disagree with a point he made in the article I linked in the last ask on this topic where he claims that things like RPS are effectively random. I believe they’re chaotic, not random.

What is the difference between chaotic and random?

Chaotic systems can be deterministic, but have wildly varying outcomes based on small differences in initial states.

I don’t know whether humans behave deterministically or not, that’s anyone’s guess, but small changes in their environment can affect the way they do things. They’re constantly taking input and changing their decisions based on input. If you have an opponent who always does a wakeup uppercut in street fighter, if you keep punishing it, then they will start to not do that every time. They will keep modifying their pattern as they continue to play, in response to what you do. So even if both of you are deterministic, you will both keep affecting each other in a complex loop of input and output, so the next decision each person takes is very difficult to predict, but arguably still predictable.

As an addendum, we also have special unconscious hardware that makes us better at predicting people in the form of Mirror Neurons. The effect of this has been documented.

I’ve been thinking about RNG, and based on some of the things you’ve said, it seems like you can always replace rng with some deterministic system that gives players more control and depth. Would you say there are some places where RNG is unambiguously better than coming up with a deterministic way?

Very astute of you to notice. I’m generally in favor of this and have written about ways of doing this for various systems in the past. The hard part of writing a good deterministic algorithm is coming up with a way of making it have a varied output usually, but still making it within the realm of human understanding. You could easily tie something to framecount, but humans have no easy way to time that, so it’s effectively random anyway.

As for places where randomness is helpful, that would be anywhere you want to test reactions and avoid memorization. Memorization allows you to figure out one partial solution and repeat or iterate on it until you have a complete solution, which means you’re not making interesting choices until the point of uncertainty. By using RNG, you can change the problems people tackle each time, at least slightly, so they need to work it out from scratch every time. Furi uses this well by having bosses attack in different patterns you need to react to. Most action games have enemies choose random attacks with slow reactable startups for this purpose. Roguelikes are founded on building the entire game behind this principle. Action Puzzle games like Tetris are a really solid example of where RNG is basically necessary to keep the structure of the game intact.

When is it appropriate to use randomness?

When you want to prevent a problem from being trivialized through memorization of an exact solution. This can mean forcing people to react to incoming threats rather than memorize the correct timing. This can mean solving puzzles instead of memorizing a solution. This can mean randomizing codes to safes and the like to prevent people just opening them on the spot if they know the combination beforehand (dishonored does this, but few other games do). Having enemies attack at random times with random attacks is acceptable for this purpose, because then people need to react instead of just time. Having random groupings of enemies, same deal.

Randomness is a tool. It can be helpful, or it can be dangerous. You can create random situations for people to deconstruct, or you can create randomized outcomes that disregard player input. Sometimes it works, usually it doesn’t.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s