🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Emergent Properties

Started by
14 comments, last by Shinkage 23 years, 10 months ago
Maybe I didn''t make my point clear enough... or maybe I am reading too much into your proposition.

First, you can''t plan before the design is finished what kind of emergent phenomenon are possible in the game. The reason for this is simple: If you plan for it to happen, it''s a feature (and, as such, it should be documented... thus it''s not emergent). Also, much as Paul already stated, you can''t know what kinds of things are possible in your game until all the details are laid out already.

Second, in all of your examples of already-existing or currently-possible emergent phenomenon, the critical element is human input and interaction. In the rocket-jumping example, it was the result of testing, and human experimentation, that people realized they could jump higher if aided by the kick-back of a rocket explosion. This is an unexpected behavior of combined effects(/physics) already existing in the game, but can only be realized through human input. Even when you program a bot to be able to rocket jump, or make a demo flic of you doing a rocket jump, you are really just coding in the human element that realized the unexpected behavior. Your other example of emergent phenomenon involved the creation of social structure in a resource-limited world, where everyone starts out on the same level, but eventually form wars and alliances. Now, unless the "virtual players" are real people, there won''t be any truly emergent behavior. Let''s assume that your virtual players are all part of the game logic. If one person/group of people decides to ally with a neighboring person, it must be a result of some rule that is already coded into the game by a human. If they decide to go to war, it must be the result of some rule that is already coded into the game by a human. If the logic is really strong, and the person takes into account the amount of resources that the neighboring people around it have, that will still have to be coded in by a human. I''m assuming that there will not eventually be a stasis, that the game will end only when there is only one group (or only one "alliance") left. But in order for there to be a social structure, there should be groups that aren''t allied yet, and are also not planning on going to war. (Unless of course your definition of social structure is really weak.) Any social structure that would form out of groups deciding to "ignore" neighboring groups would have to be implemented in code by a human. Even the logic that determines whether/which neighbor to attack would have to be created by a human.

My wording here is insufficient... of course anything that comes out of a game will have to be coded in by a human, even truly emergent behavior will have a foundation that is coded in by a human. But what I mean by the last example is that it is not chaotic... that is, if you know all the input values then you can deduce what the output will be. Even if a psuedo-random number generator were used, there would still be a predictable path, because you would know the initial seed, and if that same seed were given, it would give the same output.

You need chaos theory to introduce the complexity necessary in bringing about emergent behavior out of seemingly simple elements. Without that complexity, you would end up with a very predictable outcome (though it may be different every time, based on a psueod-random number set).

Like I said, maybe I am just over-exaggerating your definition of emergent behavior... but I''ll refer back to my first point, which is that even if you plan for things to be unexpected, they won''t be unexpected then. The only thing you can do is to make your code (and your interface) as open as possible to new implementation, and then just let the human element take over.

That said, I think there is a possibility for true emergent behavior to occur, contained totally within code... and that would require the complex notions that I talked about earlier. Also, it would require making an EXTREMELY complex element in the game, which would be so unpredictable that you wouldn''t really know if it could perform well, or if it could perform at all, except in some rare cases. That kind of unreliable behavior isn''t favorable in a game. Besides, the element in the game would have to be so complex that even the smartest being would not have the ability to walk through the code (likely because the code is changing too often (hint)).

Another example of truly emergent behavior happened just recently, though it wasn''t game related. AOL has for a while allowed its instant messengers to trade files, peer-to-peer. Napster came into popularity, and became famous (infamous?) amongst the mainstream. Now these two seemingly unrelated things caused the behavior of mainstream america using AOL to wildly trade copyrighted mp3''s... so often that AOL is in a dilemma -- they can''t exactly pull the copy of AIM off of everyone''s computer, but they can''t let it keep going on without possibly getting RIAA on their backs. I''m sure they''ll use some kind of versioning system to try and make all the file-sharing stop, but the point is that AOL had no idea that it would happen to this extent (or at least didn''t plan for it).

Again, human input was the critical element in this.

If I''ve made myself unclear in any of this... or you still see a flaw in my logic, I''d love to see your side of it.



"I know not what weapons World War III will be fought with, but World War IV will be fought with sticks and stones"
- Albert Einstein
Greenspun's Tenth Rule of Programming: "Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp."
Advertisement
No offense intended, but it is clear from this thread that the concept of emergent behaviour is not generally understood.

To clarify things a little, here is the classic example:

In 1986 some guy created a 3d graphical simulation of what he called "Boids". The boids flew through this 3d world and had merely 3 rules:
1. don''t get *too* close to nearby boids
2. match the average heading of nearby boids
3. head towards the average position of nearby boids

What kind of behaviour do these 3 rules suggest? Is it immediately obvious? No, it isn''t.

Those 3 innocent, unassuming rules produced realistic FLOCKING behaviour.

Each Boid relied only on the information in its immediate surroundings, e.g. the position of nearby Boids, yet it produced an unexpected, large-scale behaviour in the entire population of boids.

This is emergence.

If you study the topic more deeply (plenty of info on the net), you will find many more examples of computer simulations that produce unexpected large-scale behaviour out of simple rules.

Can this be used in a computer game? Of course.
Can this be planned beforehand? Of course.
Does it cease being emergent just because you know beforehand what is going to happen? Of course not.
Can you arbitrarily create emergent behaviour? Nope, you''ve got to experiment to see what happens. (Or borrow from established research.)

Using the example of the simulated humans with limited resources, once you set up the initial rule set, you may see (if the rules are suitable) large-scale behaviour "emerge" from the little sims that you never expected.

Now this doesn''t mean you''ll get "highly detailed" behaviour. For that you''ll need to investigate genetic algorithms and A-Life (artificial life). Using alife techniques, it is possible to produce a population of little sims that discover different strategies to survive. For example, some sims may become hermits and survive alone; others might ally into peaceful, cooperative clans; others might conquer their neighbors. If that''s the kind of behaviour you want to create, search on the web for genetic algorithms and artificial life.

And if you accomplish it, let me know so I can buy your game.

Thank you mister anonymous, perhaps you explained it a little more clearly and intelligibly than I could. Although I wonder whether A-Life could be classified as simply a very specific variety of emergence.
How is this supposed to be mixed with the standard "guidance" system type employed in 100% of all adventure games? How is the game designer able to avoid abuse of the emergent system? Since so many different (infinite?) states can appear in an emergent system embedded in a game, the human player intellect should have no problem finding/creating the "trouble" states where he can virtually skew the whole game to his favor. He just provokes the system to generate into some wanted direction...

could be VERY troublesome to balance this stuff, I think.

The fact that predefined rules generate only certain predefined sets of systems (for every evolutionary generation) is not a problem, since the player himself is the best randomizer one can get.
The point is that emergent systems can portray complex phenomena that would otherwise be difficult to model.
Balancing the system would seem to be a real problem, but I don''t think it''s a deal breaker. You could use emergent systems for those aspects of the game which aren''t on the critical path (i.e., they won''t cause the player to lose the game).

Or, you could take my approach: an imbalanced system doesn''t matter, as it''s naturally part of the game!

--------------------
Just waiting for the mothership...
--------------------Just waiting for the mothership...

This topic is closed to new replies.

Advertisement