The challenge of navigation is to generate a sequence of almost insignificant steps, which collectively form meaningful paths. Human navigation has many different properties that make it unique and desirable. Ideally, we would like to reproduce these with our AI system. The following list of properties for human-level movement can be taken as priorities for the development of the AI, and criteria for its evaluation:
As expected, these different properties may be in conflict with each other, making an AI navigation system even more challenging to develop. Things would be too easy otherwise, wouldn't they? During the design and implementation, issues will arise which compromise some of the requirements in favor of others. Therefore, it can be in a good idea to establish priorities. Historically speaking, efficiency has been the primary concern of game developers. As better hardware implied more complex-level designs, the movement then needed to become reliable to handle these situations without any problems occurring. Not necessarily reaching the ultimate reliability, practice has shifted to now focus on realism. With regards to purposefulness, games have varying needs from cannon fodder to competent military units, making it hard to extract trends for this attribute. Other applications of AI that require movement, such as robotics, have taken different approaches (mainly emphasizing reliability). Game developers can benefit from the experience accumulated in these fields over the years, so we'll make a point of looking into viable solutions when appropriate. |