Jump to content

[Concept/Explanation] Artificial Intelligence

Recommended Posts

Artificial Intelligence in Jedi Knight Galaxies will use a unique two-pass psychology algorithm to process how NPCs should behave.


The two passes, in a nutshell:

  • The behavior pass is done first, and more frequently. It's done on every single NPC. It's done on both the client and the server. The behavior pass performs automatic, subliminal actions that can be observed by the player. These are things such as patrolling, walking, firing a weapon, etc. as dictated by the psychology. On the server, it can also pass signals, such as "My movement is blocked" or "I have spotted an enemy."
  • The psychology pass is done less frequently. It also may be performed on a hive of NPCs or just a single NPC. It's only done on the server. This pass does more abstract actions often attributed to higher levels of thinking. By evaluating potential actions against a series of psychological traits (exact traits to be determined, but these are things such as "laziness", "cunning", ...), and gathering information, the psychology dictates the behavior that can be observed.

Each NPC has an archetype. The archetype is similar to a JKA npc type, but not quite. Archetypes in JKG can be based on other archetypes, and overwrite properties. For instance, the archetype "Stormtrooper" may have an AI type of shockforceTrooper, 100 health, "stormtrooper" model and "stormtrooper" sound effects. The archetype "Stormtrooper_Rusty" could be based on "Stormtrooper", but with less health and a different skin. More importantly, JKG won't take the approach of JA and have weird hardcodes to specific archetypes.


You might have noticed the concept of an "ai type" mentioned. These are defined primarily in the code, but could be extended at some point to Lua. These deal with the psychology pass. Depending on the ai type, multiple NPCs may be automatically assigned to a hive. Examples could include: shockforceTrooper (stormtroopers; not agile, tanks, possibly can form a hive), civilianCrowd (civilians, as part of a crowd hive), and secretJedi (jedi, tries to blend in with civilianCrowd hives, and tries to escape the player but will fight if cornered, never forms a hive)


The spawning mechanism will be changing too. But this will be discussed in another thread.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...