Crafting Tactical Behaviors

Tactical behaviors are high-level components composed of primitive actions. Defining commonly used behaviors not only assists human engineers in developing strategies, but also simplifies the task of learning AI.

Reusing and Customizing Capabilities

Because most behaviors exhibit common functionality, each will depend on the components developed throughout this book (for instance, moving, shooting, or selecting weapons). This is shown in Figure 45.1. Although the behaviors depend on common functionality, the parameters passed to these components are customized as necessary.

Figure 45.1. Hierarchy of dependencies with AI modules that are customized to provide specific functionality. The explore behavior relies on wandering movement, looking around, and selecting a weapon for rapid retaliation.

graphics/45fig01.gif

Some of the behaviors do not depend on existing capabilities because they are trivial to handle without modularity (for instance, looking around). In the other cases, customization can happen in multiple ways:

  • Runtime parameters The interface is used to pass the custom information.

  • Initialization data Information is stored in XML and loaded from disk.

  • Wrapper component A simple component is used to simplify and customize the capability.

The tactical behaviors themselves can be created freely with any technique. Most behaviors discussed in this book are well suited to managing the functionality of nested components in a hierarchy. For example, finite-state machines consider nested states as dependent functions; rule-based systems depend on functionality to provide the body of production rules; scripts or native programming languages can be used.

Despite each of the child components being customizable, we'll assume that each of the behaviors can be called without any parameters (an Explore() function, in this case). Nevertheless, the behaviors can and often will be context dependent; the parameters will be gathered implicitly by the behaviors (for instance, query of the environment).

Sample Behaviors

Using the behaviors of human players as examples will assist the development of the AI. Neutral behaviors are analyzed first:

  • Explore Attempt to cover as much terrain as possible using sight, assisted by movement.

  • Investigate Move toward a point of interest in space and check the area.

  • Gather Collect armor and items that provide health as needed.

  • Wander Randomly patrol around a particular area.

In deathmatch games, offensive behaviors are needed to score points:

  • Attack Fire projectiles at the enemy.

  • Hunt Pursue enemies while assaulting them with weapons.

Naturally, there are defensive counterparts to these behaviors:

  • Dodge Move out of the line of fire.

  • Evade Avoid incoming projectiles and flee from the enemy.

  • Retreat Move to safety away from a danger zone.

It should be possible to combine these behaviors to produce satisfactory deathmatch strategies.



AI Game Development. Synthetic Creatures with Learning and Reactive Behaviors
AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors
ISBN: 1592730043
EAN: 2147483647
Year: 2003
Pages: 399

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net