Saturday, October 6, 2007

Emergence

There is a phenomenon similar to what I described in my post Don't Plan, Evolve that happens game AIs.

Games are generally expected to be somewhat interactive. As games get more advanced, game elements are expected to interact not only with the player, but also with each other. One method of doing that is scripting -- hard-coding in behaviors that are supposed to happen. An example of scripting is in the game Quest for Glory I: So You Want To Be A Hero? In the game, you can ask human characters questions. If it is not a question the programmers expected, the character will respond with some variant of "I don't know anything about that." And if the question was expected the character will respond the same way regardless of what else has been said. And the characters do not interact with each other.

The other approach is emergence. As opposed to coding specific interactions, things are coded with properties and capabilities. A good example of this is the game Oblivion. All computer controlled characters have goals, and they try to figure out how to achieve them. In a test before the game was released, one character was given a shovel the goal of raking leaves. Another was given a rake and the goal of digging a hole. In the end, one killed the other to get the necessary tool for its job.

Emergence allows for a more realistic game, as things can respond to things that previously happened, rather than just being set behaviors that they can't deviate from.

No comments: