JavaScript EditorFree JavaScript Editor     Ajax Editor 

Main Page
  Previous Section Next Section

Retrospective Overview

The big picture is more obvious with this part finished, so a synopsis is in order.


Finite-state machines are extremely popular in computer game AI, and justifiably so. Not only are they simple to design, they are also very efficient to simulate. As a control technique, finite-state machines are extremely versatile, although particularly well suited to modeling sequences of events.

Finite-state machines provide the capabilities of a transducer (converting inputs to outputs). However, automata are often disregarded; they provide the capability to accept and recognize regular sequences of characters in a very efficient fashion.

In cases where finite-state machines fail or lose simplicity, extensions are available to provide elegant solutions. Nondeterministic models allow numerous independent finite-state machines to be combined simply. Generally, tools are used to convert the model into a deterministic one. Probabilistic models add random variations to the results, which often leads to interesting behaviors. Both these extensions have little or no additional computational cost.

Fuzzy-state machines have the same benefits as fuzzy expert systems over crisp rule-based systems. Because each state is a fuzzy variable, fuzzy finite-state machines are often easier to handle using a fuzzy interpreter instead of extending the finite-state component. The benefits are visible, but the computational cost needs to be considered.

Hierarchical finite-state machines provide two advantages. They simplify the modeling of flat finite-state machines, but also allow nested components. The hierarchies can be built of heterogeneous components, as long as interaction semantics specify their relationships.


Although intelligence is an essential element for creating functional animats, emotions significantly enhance their believability. Therefore, they seem an essential component for computer games. Together, the emotions combine with the intelligent capabilities to create interesting emergent patterns.

Because the interaction with the world can be modeled near perfectly in virtual worlds, an approach that degrades the senses and actions is ideal—providing the widest range of effectiveness. Using a plausible emotional model as an underlying drive for the parameters leads to realistic reactions.

Using mannerisms to display the emotions makes a huge difference, contributing to the lifelike properties of animats. The mannerisms emphasize the mood of the creatures, causing the players to identify with them.

Generally, such emergent behaviors are an extremely powerful concept. Thanks to emergence, reactive techniques fail to reach the purposefulness of planned behaviors, appearing that way to the player. Evolutionary design and agile development practices increase the chances of reaching the desired "emergent" results.

      Previous Section Next Section

    JavaScript EditorAjax Editor     JavaScript Editor