The Big Picture

To better understand the purpose of software engineering processes in AI, and their link with the later stages of development, an abstract study of an AI component is necessary. Many concepts are involved in the development process, as shown in Figure 7.1.

Figure 7.1. A diagram representing the role of the AI solution within the platform, notably emphasizing the different layers around the AI that it depends on.

graphics/07fig01.gif

In the case of navigation, the overall goal is a behavior. The following list explains the concepts one by one, using obstacle avoidance as an example:

  • Platform The software and hardware supporting the development, where the AI will have its effect (for instance, the game world and engine).

  • Task A conceptual explanation of the goals of the AI within the platform (for instance, understanding the local surroundings to prevent collision).

  • Information The collection of data available within the platform that may be used to achieve the task (for instance, the environment's structure and detail).

  • Outcome The results of the task within the platform, and possibly outside of this to (for instance, a collision-free trajectory).

  • Input A subset of the information available, converted into a suitable format (for instance, nearby obstacles). Together, the input and output form the scaffolding for the solution.

  • Output The possible actions that can be taken, combining together implicitly within the platform to generate the outcome (for instance, motor actions producing movement).

  • Context Implicit state that contains information about the task, defining the effect of the outputs and restricting the inputs (for instance, the player's physical properties: velocity, position).

  • Problem The description of an AI module capable of mapping the information from the input to the output (for instance, avoiding individual obstacles).

  • Solution A particular AI component that can resolve the problem, obtaining the desired outcome and respecting the requirements (for instance, steering behavior).

These concepts will come into play at different stages of the AI development pipeline. At first, finding the distinctions between the different concepts can be confusing. This will become easier with more experience, so we'll make a point of explaining all the concepts for each new problem in subsequent parts.



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