Quote:
Like look, lets take the guard example. Lets say we are writing this theoretical AI engine, and it has a function, Patrol(). Okay, but how far does the AI patrol? When does it stop and turn around? Does it look in other rooms? What is the noise threshold and the sight threshold? All of this stuff is highly dependent on the *individual game design*. Its not dependent on genre, its dependent on each individual game. When we are talking about graphic engines, well drawing a pixel is drawing a pixel. When we are talking about physics, if we want physics in a game theres a certain way we want it to behave.
Okay, but in order for a guard to patrol the developer would have to define that themselves in the level design. The threshold variables would could be changed. The threshold for human hearing and sight will be defined by a standard. What is the standard human hearing threshold? Start with that, and tweak accordingly.
Quote:
But anyway, with that RTS AI example, we need to define how the AI acts when the game loads, like a build order. Well, that is different based on each game and what we want from the AI. Then we need to build how the AI will attack, but again, different in every game and different based on difficulty levels. Theres no benefit to building a "module" because every game uses different AI. Yea, there's a BuildOrder, and a Respond, and a GoToLumber, or whatever. But from there it becomes totally different based on the game.
There are always common threads in the way people react. If someone is going to attack something there are always similarities in the way they go about it, and animation can define the difference between a woman's punch, a man's punch and a kick boxers punch. If we're talking about soldiers here the way they physically approach to attack can be similar. As these scenarios come up you'll be able to update the engine. This is how Adobe adds in new features to their software. They cover the basic functions, but none of it is perfect. They continue to add in new portions and modules as the market demands them. In doing this you can help improve AI and retain settings for use in future games without having to redefine them from scratch.