Feature Specification: NPC/Mob AI
Posted: Mon Mar 06, 2006 6:47 am
NPC/Mob AI
Currently, there is one notable system which handles our AI needs: JAI. This package can serve as the basis for our discussions, but I think it is worthwhile to consider what we want out of an AI system to help us choose what to use as our basis for NWN2. I'll start off by sketching out the framework.
For a short explanation of the feature specification format, visit:
http://www.alandfaraway.org/phpbbforum/ ... hp?t=27229
Functional Requirements
Combat AI
Behaviors relating to combat situations. This will generally only apply to hostile creatures and spawns, but it can pertain to NPCs who find themselves in a combat situation. This is what JAI primarily addresses.
Behaviors relating to non-combat situations. This will only apply to individual NPCs and special sentient creatures that populate the world of Faerun. The following is a list of possible NPC roles that might require specific AI:
AI Variables
A variety of factors can influence decision making. They are listed as follows:
Setting up and configuring patrol routes using waypoints.
Activities
Defining activities to perform along patrol routes.
Professions
Defining a set of repeatable activities that constitute a profession.
Monster Reputation
As players kill creatures of a specific racial type, their reputation among those tribes will grow. Eventually, a reputation threshold will be surpassed beyond which monsters will flee upon perceiving the player. Creatures that flee will run to the nearest despawn point to escape or simply despawn if their escape route is blocked. Fleeing creatures will be granted a 10% movement rate increase.
Creatures with an Intelligence score of less than 3 are not aware enough to recognize a reputation and are thus unaffected by this.
NWN Object Dependencies
Jail Area Template, Conversation Templates
Local Variables and External Configs
TBD
Logging and Debugging (global LOG & DEBUG (on/off) constants)
TBD
Persistence Requirements
TBD
Event Dependencies
OnConversation, OnHeartBeat
Currently, there is one notable system which handles our AI needs: JAI. This package can serve as the basis for our discussions, but I think it is worthwhile to consider what we want out of an AI system to help us choose what to use as our basis for NWN2. I'll start off by sketching out the framework.
For a short explanation of the feature specification format, visit:
http://www.alandfaraway.org/phpbbforum/ ... hp?t=27229
Functional Requirements
Combat AI
Behaviors relating to combat situations. This will generally only apply to hostile creatures and spawns, but it can pertain to NPCs who find themselves in a combat situation. This is what JAI primarily addresses.
- Melee AI
Ranged AI
Divine Casting AI
Arcane Casting AI
Monster AI
Behaviors relating to non-combat situations. This will only apply to individual NPCs and special sentient creatures that populate the world of Faerun. The following is a list of possible NPC roles that might require specific AI:
- Guards*
Priests
Nobles
Artisans
Merchants
Inkeepers
Bartenders
Waitresses
Commoners
Guildmembers
Smugglers
Slavers
Thieves
Pirates
Farmers
Beggars
Children
AI Variables
A variety of factors can influence decision making. They are listed as follows:
- Role
Alignment
Relative Strength
Intelligence & Wisdom
Impulsiveness (Random Choice)
Reputation
Morale
Setting up and configuring patrol routes using waypoints.
Activities
Defining activities to perform along patrol routes.
Professions
Defining a set of repeatable activities that constitute a profession.
Monster Reputation
As players kill creatures of a specific racial type, their reputation among those tribes will grow. Eventually, a reputation threshold will be surpassed beyond which monsters will flee upon perceiving the player. Creatures that flee will run to the nearest despawn point to escape or simply despawn if their escape route is blocked. Fleeing creatures will be granted a 10% movement rate increase.
Creatures with an Intelligence score of less than 3 are not aware enough to recognize a reputation and are thus unaffected by this.
NWN Object Dependencies
Jail Area Template, Conversation Templates
Local Variables and External Configs
TBD
Logging and Debugging (global LOG & DEBUG (on/off) constants)
TBD
Persistence Requirements
TBD
Event Dependencies
OnConversation, OnHeartBeat