JavaScript EditorFree JavaScript Editor     Ajax Editor 



Main Page
  Previous Section Next Section

Rationalizing

One common design principle is to put the AI on the same terms as human players. As such, whichever option is chosen should be kept compatible with the handling of player weapons. This makes implementing the interfaces much easier, and has most of the advantages of embodiment.

Deciding Factors

Aside from these primary concerns, the model chosen must exhibit the following properties:

  • Realism— Shooting is an obvious behavior, visible from a long distance. Although it may not be as important as movement, it can still give away the illusion of intelligence. Therefore, we should strive to reach a convincing level of realism when designing these abilities.

  • Efficiency— Aiming and firing are not required as regularly as other abilities; their use is limited to combat situations. Therefore, it is not feasible to dedicate a lot of time to these abilities because many other processes may require attention (whether AI or not).

  • Capabilities— Ideally, our animats should be capable of outperforming humans so that the pressure can be increased if the game gets too easy for the player. The interfaces should allow this.

As well as maintaining compatibility with the handling of human weapons, our decisions will need to promote these properties.

Assumptions

Throughout Part III of this book, we'll assume that the weapon itself is mostly autonomous. This means that it can deal with reloading without the AI having to worry about it. It would be fairly trivial for the AI to check the state of the weapon and reload if necessary. This would probably be our approach if the game design allowed this.

The AI can focus on aiming and firing it without concern. This makes it more convenient to focus on the difficult part of the task and not worry about the little details.

Projectiles are assumed to be governed by well-determined rules, such as the physics applied to the game entities. This helps devising an AI that does not need to deal with arbitrary projectiles. Specifically, the development focuses on the ones that fly in a straight line (such as bullets or rockets).

      Previous Section Next Section
    



    JavaScript EditorAjax Editor     JavaScript Editor