Advertisement

why is randomness bad?

Started by February 26, 2002 12:58 PM
37 comments, last by Dauntless 22 years, 9 months ago
quote: Original post by Flarelocke
First of all, some pratical issues with randomness: randomness makes bugs VERY difficult to fix because you are unlikely to get a similar enough situation during debugging.


I think you're exaggerating the extent to which randomness makes a game difficult to debug. First of all, it's easy enough to save the random number generator's seed so that reproducing a particular sequence is a trivial matter. Besides, if you have an idea of where the problem lies, it's often easy enough to isolate the relevant code and test it all by itself by inputting values representative of the possible inputs.

Edited by - chronos on February 26, 2002 10:13:29 PM
quote: Original post by sunandshadow
Hmm, a lot of deep thought going on here. I have a simpler answer if you would like: randomness is bad because it is neither teleological nor causal, and events of these two types are better recieved by the human brain because they can be used to construct a narrative model of the game world. Err, maybe it's not that simple... Teleological means an event that happens because it is a necessary lead-up to the destined ending. Narrative means that sequential events are logically related. (EG. NOT The queen died and the king died. BUT INSTEAD The queen died, so then the king died of grief.) But the basic idea is simple - random events frustrate the human instinct to find patterns in experienced events.


Randomness isn't always appropriate, but it's certainly not "bad", as you and Dauntless have put it. Randomness is a powerful tool because it makes it possible to reduce complicated systems to simple statistical models. When you flip a coin there are many different variables affecting the coin's behavior, yet it's not usually necessary to model these variables directly. A fair coin's behavior can be summarized as a 50% chance it will come up heads, and a 50% chance it will come up tails. Why bother with anything more complicated than that when all you need is the outcome?

Randomness need not be interpreted as unrestricted chance unrelated to causative factors. It's simply a convenient way to avoid dealing with more variables than is strictly necessary. By developing statistical models of particular systems it's possible to describe their behavior concisely without bothering about the mundane details.

Edited by - chronos on February 26, 2002 11:18:45 PM
Advertisement
As to the debugging aspect there''s some clarification:
Yeah, it''s pretty easy to recall the seed, as long as you''re a developer, running in debug mode, and the seed doesn''t become overwritten the next time the unit is shot. How many people can think fast enough to realize there''s a mistake in the program and switch to the debugger before the seed is overwritten? I most certainly cannot.

Then there''s the fact that if you have a problem post-release discovered by one of your users, you can''t have them run a debugger on it next time because it most likely won''t happen next time, and you can''t examine their core dumps(switch to Linux!) if it''s a critical failure.

Of course, you''re not likely to have a critical failure, and the scope of the damage is most likely to be something based upon the random number, so a one shot kill or a shot of healing potion instead of lead are the kinds of bugs you''d get.

Back on topic:
At midway, if we had chosen to make fighters and/or carriers instead of some other unit, we might have been able to search a wider area, or with more frequency. That''s the kind of decision game-players face at every turn. The fact that they placed it in "luck''s" hands was their own decision, although quite a bit more complicated than that in the real-life scenario.

Yeah there was a spy, but it was a bad decision to have all the pacific fleet at Pearl Harbor at all. For most of the duration of the interval between the World Wars, the fleet was more spread out. We moved it closer to Japan(Pearl Harbor was the closest base we had to Japan) to show Japan our strength. Japan was acting aggresively to everyone because it needed oil that our embargo denied them(which we denied them because they were acting aggressively toward their neighboring islands). Not to go off on a rant here, but the slap on the wrist to stop them from bullying the other kids ended up in a full fist fight, and we''ve got one heck of a haymaker. (enough history)

As for the plans falling into enemy hands, I can''t imagine how to implement that in a game where strategy matters.

Also, the variables need not even be hidden. There are so many already that the human mind is unable to take them all in at once. And taking more in, or discovering the values of each with more frequency, leads to a natural increase in returns due to skill.

And you''re right, they need not even be discernable by the player(at least through a numerical or graphical format. Good old fashioned experimentation is always acceptable too). I''d like to see a game as at least a proof-of-concept for some of the ideas in this thread where morale and leadership were implemented, but indicated in no way to the player, except through their effects in combat and perhaps some indication of longevity or kills. Skilled players would realize eventually that the units who lived the longest improved in their own abilities as well as the units near them. The discovery of that alone(if unmentioned in the manual, which is probably not going to happen) would make $50 worthwhile.

Of course, it should follow a deterministic pattern, and players would determine experimentally how it works, but it would seem random for a while.(and all newbies would have bad luck, just like it should be )

As an aside, has anybody actually played chess? How about someone who was really, really, really good? I''ve played against someone significantly better than me(maybe not three "really"''s good, but much better), and sometimes when I play it, it seems like I have no control over the board and my pieces just seem to be in the wrong position at the wrong time. I choose among several apparently equal alternatives at the beginning of the game, but my opponent sees something other than equal or approximately equal.

Then I had a really, really good day, and I moved my pieces using the same arbitrary decision process, and somehow, all my pieces seemed to be in the right place at the right time to give him no choice but to give me his queen, even though his queen was quite unrestricted in her movements. In retrospect I learned that just about every square in the four center columns had at least one of my pieces "attacking" it. Thus, I learned that my somewhat arbitrary/random choices ended up being the correct strategic decision. An extremely good player can see these correct strategic decisions in advance, but I cannot, so I move randomly. There''s where I think the randomness should reside. In the player, not the game.
---New infokeeps brain running;must gas up!
I agree with Falrlock here, people are confusing randomness in the actual game rules to just luck.

Say I have a bunch of Zerglings, and I am going to run them into an enemy base. I run them in from the top, it turns out that is covered with Seige Tanks, and I die. If I run them in from the side, I surprise the Seige Tanks and kill them all, then trash the base.

That is pure luck, right? But there is nothing in the game rules that was random.

Randomness in the game rules is IF you do the SAME thing you did before, different things can happen. If you choose a level to play on, maybe it will be snowy, but the next time you play it will be rainy. Maybe if you target a marine you will kill him in five hits, but the next time you target another marine with the same stats you get luck and kill him in one hit.

Outcomes that are affected solely by choices made by the player are luck, but not inherent randomness in the design.

Of course, you can mix and match these things. For example, maybe when you build a base with say energy producing buildings (like in C&C say) some of those buildings are much weaker than others, but which you don''t know. So the attacking player can attack those buildings and hope to get lucky. If they do get lucky, it was because they made the "right" choice (targeting the weak one) AND that the system was random enough to allow for those random differences.

----------------

The problem with randomness is that it goes against consitency, which is one of the things you really need for a good game. You have to be very wary of things like morale. The first time a group breaks up and runs away when they cleary were in a great position the player will be pissed off, unless there is some clear explanation as to WHY that happened. (Like, the soldiers have demonstrated that they are scaredy-cats)

Another thing to keep in mind is that some randomness is better than others. For example, random map generation might be nice because although one person may start in a better position, it mostly depends on which one adapts faster, scouts better, etc. Compare that to a system where you can randomly get 1-hit kills. You can''t really adapt to it - the best you can do is live with it for the most part. It is just luck for the sake of luck. Whereas, if the map is random or say covered in snow, your ability to adjust to that may be crucial. If it adds to the decision making it might be a good thing, but if it is just luck totally outside your control it isn''t very interesting.

Finally, I would point out that in ladder games, championships, etc, you probably want to either minimize the randomness or play multiple sets of games.

JM
quote: Original post by Flarelocke
As to the debugging aspect there's some clarification:
Yeah, it's pretty easy to recall the seed, as long as you're a developer, running in debug mode, and the seed doesn't become overwritten the next time the unit is shot. How many people can think fast enough to realize there's a mistake in the program and switch to the debugger before the seed is overwritten? I most certainly cannot.


Why are you seeding the random number generator every time somebody gets shot? You should not have to seed the random number generator more than once unless you need a random sequence longer than the random number generator's period.

quote: Then there's the fact that if you have a problem post-release discovered by one of your users, you can't have them run a debugger on it next time because it most likely won't happen next time, and you can't examine their core dumps(switch to Linux!) if it's a critical failure.


You forget that most bugs will be totally unrelated to your use of random numbers. Such bugs are easily reproduced by loading a copy of the savegame provided by the user. As for bugs related to the use of random numbers, such bugs are usually limited to very specific contexts, so finding them is usually not that difficult.



Edited by - chronos on February 26, 2002 12:30:26 AM
quote: Original post by Anonymous Poster
The problem with randomness is that it goes against consitency...


Assuming that when you spelled consitency you meant consistency, I''d have to disagree in certain cases.

Randomness is always consistent over multiple trials. For example, if you toss a fair 6-sided die 10 times, you may get a 3 four times and a 5 five times and a 1 one time; that may not appear all that consistent. But, if you were to roll the die 10000 times (there are some freaks who have done that sort of thing), you would get very very close to 1/6 for each face of the die.

A random phenomenon is when individual outcomes are uncertain, but there is a regular distribution of outcomes in a large number of trials.

Random does not mean haphazard, but rather it is a description of a form of order that only emerges in long runs.

Just wanted to clear up this misconception about randomness that has been present in multiple posts in this thread.
Advertisement
quote: Original post by chronos

Randomness isn''t always appropriate, but it''s certainly not "bad", as you and Dauntless have put it. Randomness is a powerful tool because it makes it possible to reduce complicated systems to simple statistical models. When you flip a coin there are many different variables affecting the coin''s behavior, yet it''s not usually necessary to model these variables directly. A fair coin''s behavior can be summarized as a 50% chance it will come up heads, and a 50% chance it will come up tails. Why bother with anything more complicated than that when all you need is the outcome?

Edited by - chronos on February 26, 2002 11:18:45 PM


Certainly randomness is an important part of world-modelling. But when the game is also a story, that means the world is supposed to be have however makes for the best playing experience. So maybe your coin shouldn''t come up heads 50% of the time - maybe you should win or lose the toss based on which results would be more interesting, or which result would best harmonize with the gameplay choices you''re already made to establish your character. Sometimes its better to fix or bias the coin toss.

I want to help design a "sandpark" MMO. Optional interactive story with quests and deeply characterized NPCs, plus sandbox elements like player-craftable housing and lots of other crafting. If you are starting a design of this type, please PM me. I also love pet-breeding games.

quote: Original post by sunandshadow Certainly randomness is an important part of world-modelling. But when the game is also a story, that means the world is supposed to be have however makes for the best playing experience. So maybe your coin shouldn't come up heads 50% of the time - maybe you should win or lose the toss based on which results would be more interesting, or which result would best harmonize with the gameplay choices you're already made to establish your character. Sometimes its better to fix or bias the coin toss.

And the more you do this, the less of a 'game' and the more of a 'story' you get. As I went around in circles with Kylotan here, and also has been brought up here (and countless other times) there is often too little distinction between a 'game' and an 'interactive experience'.

But, since I hate beating dead horses, I'm ending my post now.

-scott

Edited by - scaught on February 27, 2002 3:36:58 PM
Floppy makes a good point about randomness. There''s a distinct difference between random and uncertain. When you take a variable circumstance over time with a large enough statistical pool, you will see a pattern develop based on the odds.

So yes, I DO think events should be uncertain in that you take two exact events and the results may be different each time. But statistically the results will tend to lean one way or the other (unless it truly is a 50/50 chance).
The world has achieved brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants. We know more about war than we know about peace, more about killing than we know about living. We have grasped the mystery of the atom and rejected the Sermon on the Mount." - General Omar Bradley
quote: Original post by sunandshadow
Certainly randomness is an important part of world-modelling. But when the game is also a story, that means the world is supposed to be have however makes for the best playing experience. So maybe your coin shouldn't come up heads 50% of the time - maybe you should win or lose the toss based on which results would be more interesting, or which result would best harmonize with the gameplay choices you're already made to establish your character. Sometimes its better to fix or bias the coin toss.


I agree with this, at least in the context of how a particular story unravels itself. Since you already have specific results in mind, randomness in such a context is not appropriate. Indeed, whenever the game's current state has no influence over the random element of a particular once-per-game outcome, randomness is inappropriate (randomness may be appropriate for randomized one-time deals if the player can understand, anticipate and adjust his influence over the random element).

Randomness in games is most appropriate when applied to game elements a player interacts with numerous times during the course of the game (so the player has a chance to see and understand the different possible outcomes). For instance, a system which controls the monster population according to the current population and their breeding habits is an appropriate place for randomness.

Edited by - chronos on February 27, 2002 5:23:14 PM

This topic is closed to new replies.

Advertisement