JavaScript EditorFree JavaScript Editor     Ajax Editor 

Main Page
  Previous Section Next Section

Chapter 7. Analysis and Understanding

Key Topics

In any serious AI engineering process, the two first phases are analysis and understanding (or equivalents). Here, we lay the foundations for the rest of the AI development by describing what we already have, what we're trying to do, and how it's generally done. This is good software engineering practice generally, but it's especially important for the AI as the creation of behaviors is not as easily managed as software.

The analysis phase aims to investigate the game environment, the engine, and existing software used for the development (a.k.a. the platform). When the game engine is being developed in parallel with the AI, the analysis takes into account its design document instead—with little impact on the AI analysis. The understanding phase uses the high-level requirements and goals to analyze of the problem at hand, irrespective of the game engine and for the sake of the AI development only. Both stages are relatively informal, because we deal with English descriptions.

It's vital to spend some time on this for all problems tackled. Already at this stage of the development, we should have such thoughts on paper—or even in digital form. It's imperative to write them down somewhere (for instance, along with the development log) because they'll undoubtedly come in handy, and prevent us from forgetting them later—thereby wasting time revisiting closed issues.

This chapter covers the following topics:

  • A description of the big picture in the software, notably how the AI is split up; as well as the aspects of the AI dealt with by the first two software engineering phases

  • An explanation of the analysis phase, examining the platform to determine assumptions, restrictions, and guidelines.

  • A presentation of the understanding phase, describing the criteria (used to evaluate the desired outcome) and the definition of the problem using a case study

This chapter provides as much advice as possible to help deal with this informal process as rigorously as possible and to maximize its benefits.

      Previous Section Next Section

    JavaScript EditorAjax Editor     JavaScript Editor