Which Software Is Required?
The primary operating system supported for this book is Windows -any recent flavor. Most importantly, you need a C++ compiler to be able to extend the demos and try the exercises. Both Visual C++ 6.0 and .NET are suitable choices, but the code also compiles with Dev C++ (a free development environment).
The recommended game platform for the AI is id Software's Quake 2 . It is possible to run the examples using the assets from the Quake 2 demo only (available for free), but there are a few visual limitations. You need to own the full game if you want to see all the maps, textures, and objects.
Part I: Overview
Chapter 1. Artificial Intelligence in Computer
Overview of Artificial Intelligence
To a great majority of the population, AI is the brain behind powerful cybermachines -the kind found in sci-fi
But how is AI relevant to game developers?
Artificial intelligence has two separate meanings; both types are beneficial to game development:
Historically, it seems "intelligent" is a
Conceptually speaking, a generic form of intelligence undoubtedly exists. Humans and animals have small
Most computer-science researchers assume that biological intelligence can be reproduced, and that intelligence is not exclusively human. This statement
It's difficult for us to understand universal intelligence because we have few advanced examples. However, we can try to define human intelligence.
Definition of Intelligence
For lack of a better definition, intelligence is a set of skills that allows humans to solve problems with limited resources [Kurzweil02]. Skills such as learning, abstract thought, planning,
Given this wide variety of
Each problem requires different abilities. We're particularly interested in a problem that can become surprisingly complex -behaving autonomously within a realistic virtual environment. Playing games isn't just about wrist power and rudimentary reflexes!
Computer game AI is an artificial version of this human ability. AI controls computer
Field of Science
The second interpretation of AI is as a set of technologies. The definition on the introductory page of the
AI algorithms can be applied to practically anything -they're not just limited to re-creating human intelligence. For instance, they could be applied to managing a production chain, or perhaps to pattern recognition in medical data. The common properties of AI techniques and biological intelligence (for instance, learning or abstraction) make these techniques part of the field of AI.
As a discipline, AI sits at the
Historically, AI tended to be very focused, containing detailed problems and domain-specific techniques. This focus makes for easier study -or engineering -of particular solutions. These specific techniques are known as weak AI because they are difficult to apply outside of their intended domain.
This weakness of AI has become a roadblock -one that can't be driven around. Weak AI has been extremely successful in many domains, but human experts need to apply it manually. When trying to assemble techniques together to solve bigger problems, it becomes evident that techniques are too focused.
This is one reason why we need AI