Jump to content

NPC stats, what do they do exactly?


Recommended Posts

Perhaps we could "decode" this?

 

Most of the stats are obvious enough for Jedi on the whole. But for gunners, the specific effects are kind of ambiguous.

 

Perhaps we could document some specific effects as stated by the code that Aggression, Aim, Evasion, Intelligence, Move, and Reactions have?

 

Like how does "Aim" affect a Jedi? Does Intelligence actually change gunner's behavior? Do Move, Aggression, or Evasion have any effect on Gunners that for the most part stand still except for retreating occasionally? 

 

To keep tabs:

Gunners -

Aggression: Seems to be references to how likely they are to attack or maybe how quickly they start firing once alerted. Since bad guys will ALWAYS attack you, I'm guessing this effects how quickly they start blasting.

 

Aim: Seems pretty obvious. Probably don't need anything here.

 

Intelligence: Doesn't seem to be any code anywhere that uses this. Maybe this was scrapped in favor of an NPC's rank affecting behavior complexity?

 

Evasion: 

 

Move:

 

Reactions:

 

 

Jedi -

Aggression:

 

Aim:

 

Intelligence:

 

Evasion:

 

Move:

 

Reactions:

therfiles likes this
Link to comment

Note: JK2 was tested, these values might be slightly different for JKA

 

Gunners

Aggression: Higher aggression = higher chance for NPC to chase you from farther away. Enemies with higher aggression will also attack faster after initial spotting.

 

Aim: This actually influences quite a few things. First off, the lower the aim value, the better the aim in general. Sniper AI with better aim values will attack slower than those with poor aim values. Sniper AI must have an aim value below 6 to function correctly, otherwise they will function exactly the same as regular AI. Additionally, the aim value in sniper AI is handled different than regular AI. Sniper AI will lower aim values (like 0 or 1) will miss up to 5 times before performing a properly aimed shot. Sniper AI with poor aim values (like 5) will always shoot directly at the player instead of purposely missing. Therefore, sniper AI with higher aim values will shoot slower but more accurately, while sniper AI with lower aim values will shoot quicker but less accurately.

 

General, non-sniper enemies will aim better with higher numbers.

 

Evasion: Higher evasion = more likely to duck. That's it.

 

Intelligence: Doesn't do anything.

 

Move: Not used.

 

Reactions: Higher reaction = more AI actions take place per second

 

Vigilance: Lower number = checks more frequently for enemies while patrolling or standing around. Use high numbers for enemies which are performing a task which is distracting them.

 

 

Jedi

 

Aggression: A Jedi's "aggression" alters based on the scene. The aggression number in the NPCs.cfg / .npc file affects how fast it changes. This aggression statistic alters several aspects, including how frequently they taunt, how frequently they change stances, and how much they use dark force powers. Player-aligned NPCs (like Luke) have a smaller maximum than enemy NPCs, and Desann is hardcoded to have a maximum aggression of 2x the average Reborn.

 

Aim: Doesn't really do anything.

 

Evasion: NPCs with higher evasion levels will evade from saber locks and grips faster/more frequently (also drains in JA)

 

Intelligence: Doesn't do anything.

 

Move: Not used.

 

Reactions: Same as shooter AI.

 

Vigilance: Same as shooter AI.

 

Special

 

Howlers are an interesting case when it comes to aggression. Like Jedi, they have the concept of fluctuating decay. When a howler's aggression tops out though, they go into a "beserk" state which causes them to chase the player at high rates of speed. This isn't really seen in JA though because all they do is sit and howl which is unfortunate.

Stoiss likes this
Link to comment

I tested hundred of NPC in years, i agree something, other not much.

Aim working for shooter enemies, Not much for jedi \ sith enemies. i think aim with saber can affect a lot the thickness and precisions of the swings.

Evasion: how many the NPC avoid attacks. In case of sith \ jedi, that's can affected the dodge rate of sniper or the acrobatic animation for shooting. For Shooter NPC not make much. maybe increase the escaping probability. sometime stormtrooper escapes by the jedi. i think a NPC with a low aggression and high evasion it's more on defensive.

i tested that's with futurama NPC. i set leia as Jedi with a LOW aggression rate, a low move rate, a good evasion, a max intelligence and aim value. Leia NOT attack the enemis directlry, simplty stand in position and defend herself or his allies with saber. attack only enemy closest o threating fry or bender LOL.

Aggression: yes, it's the force of the rage of a NPC, and the chasing. aggression 5: npc will every attack and chase you everywhere until take down. player \ other eniemies.

 

Move: i supppose can affect: for a Jedi: the amount of walk \ running \ moving action in a combat. move 1 the jedi it' stastionary, move 5 the jedi is more running.

on shooters: Move affected how many time NPC change waypoint or combat_point. combat_poin in map are strategic waypoint for shooter enemies. the Jedi enemies follow you Using waypoint grid connection. the Shooters use waypont for long moving and combat_point for standing and shoot. if there'arent combat point in a place, NPC shooting without stop himself.

i think Move affected interaction between NPC and Waypoint and how many time they change position or combat point.

 

Aim: it's like eezstreet told you :)

 

Reactions: amount of parries, locking for Jedi \ Sith i think also affected acrobatic animation and dodge and evasion by shhoting attack.

 

Intelligence: i think it calculate the other 4 parameters for make an AI behaviour of the NPC in his complex.  a

 ltcomm with intelligence 5 it's better to fight like a commander intelligence 2-3.

i see a think about the rank: the rank lower that ltcomm, NEVER use the kata atk with sabers! the Ltcomm, commander and captian chars are the more powerful in battles.

captain with an intellingece setted to 5 it's the better AI for a NPC. :)

 

 

 

 

 

 

 

 

 

 

Link to comment

Note: JK2 was tested, these values might be slightly different for JKA

 

Gunners

Aggression: Higher aggression = higher chance for NPC to chase you from farther away. Enemies with higher aggression will also attack faster after initial spotting.

 

I think a comment in the code mentioned something too about how likely NPCs are to give up searching for you possibly? Or maybe it was just talking about chasing you, not after they've "lost" you.

 

Aim: This actually influences quite a few things. First off, the lower the aim value, the better the aim in general. Sniper AI with better aim values will attack slower than those with poor aim values. Sniper AI must have an aim value below 6 to function correctly, otherwise they will function exactly the same as regular AI. Additionally, the aim value in sniper AI is handled different than regular AI. Sniper AI will lower aim values (like 0 or 1) will miss up to 5 times before performing a properly aimed shot. Sniper AI with poor aim values (like 5) will always shoot directly at the player instead of purposely missing. Therefore, sniper AI with higher aim values will shoot slower but more accurately, while sniper AI with lower aim values will shoot quicker but less accurately.

This honestly GREATLY confuses me... I always thought higher aim = better, except in special cases like rodians who seem to ignore their aim stat (and they are snipers of course). You seem to be implying to that an Aim of "5" is a "low" aim stat, isn't that the highest possible value? Or are you referring to some coded "aim" ability of NPCs that is influenced by their NPC file aim stat, as well as other things?

 

You say generally a higher aim stat is better, is your main point that snipers simply follow their own rules?

 

Evasion: Higher evasion = more likely to duck. That's it.

 

Doesn't affect how likely they are to run away or anything?

 

Also, are you sure Aim and Move do nothing for Jedi? Aiming type things seem to be talked about a lot in Jedi AI, I didn't specifically track down any references to an NPC's aim stat as I got like 100 hits in the find results, but I'd find it hard to believe it has no effect. And the same thing for Move, this doesn't affect NPC movement at all? Like what attacks they use?

 

It seems Rank serves the theoretical functions of Intelligence and Move, as this increases the complexity and intelligence of AI behaviour...

 

And to comment on what you said Asgarath, it seems very strange that Move and Intelligence especially seem not to do anything. So did Raven basically lie to us? In their .npc helper files they say things like "Intelligence is how smart NPCs are in general" and "Move is how complex their moves are when evading or in combat" ...

Link to comment
  • 3 weeks later...

@@eezstreet:

Never answered my comments son. Unless by not answering you were implying that there was nothing more to be said...

 

Anywho, two new questions. First of all, is there anyway to increase the likelihood of saberists using Light side force powers? From my own testing classes like Class_Jedi didn't seem to increase the frequency of light force power usage noticeably. 

 

Also, do saberist classes have any effect on sabering AI vs. gunner classes? By and large AI is determined by weapon, so does it really matter whether I give a saberist a jedi/sith class? Or does it just default to Class_Reborn AI maybe if the NPC doesn't have a saberist class but a gunner class? And last and least, what's the difference between Class_Reborn and Class_Jedi besides having a slightly different saber fighting style?

Link to comment

Am I required by law to answer posts here or something? :P

 

Noooo I just really look forward to your answers! No requirement but I appreciate very much when you go out of your way to share your in-depth knowledge of the meat of the game with numbskulls like me!  :)

Link to comment

I think a comment in the code mentioned something too about how likely NPCs are to give up searching for you possibly? Or maybe it was just talking about chasing you, not after they've "lost" you.

I had a second look, and yup, you're correct. Better aggression values = less likely to give up.

 

 

This honestly GREATLY confuses me... I always thought higher aim = better, except in special cases like rodians who seem to ignore their aim stat (and they are snipers of course). You seem to be implying to that an Aim of "5" is a "low" aim stat, isn't that the highest possible value? Or are you referring to some coded "aim" ability of NPCs that is influenced by their NPC file aim stat, as well as other things?

 

You say generally a higher aim stat is better, is your main point that snipers simply follow their own rules?

The higher the aim value, the better. At an aim of 6, the enemy has (almost) perfect accuracy.

My main point about snipers is that when they have higher aim values (up to 6, after which point the AI breaks) they fire faster and with poorer accuracy, and when they have lower aim values (like 0), they take more time to fire, but are way more accurate. When I meant "low" aim in that context, I meant that their aim is actually poorer (I guess I should have been clearer). So in that way, snipers are actually backwards.

 

 

Doesn't affect how likely they are to run away or anything?

It's supposed to, but it doesn't. For Jedi NPCs, it affects how well they're able to push you when you grip them.

 

 

Also, are you sure Aim and Move do nothing for Jedi? Aiming type things seem to be talked about a lot in Jedi AI, I didn't specifically track down any references to an NPC's aim stat as I got like 100 hits in the find results, but I'd find it hard to believe it has no effect. And the same thing for Move, this doesn't affect NPC movement at all? Like what attacks they use?

Aim doesn't do anything with Jedi AI, likewise I'm pretty sure this is the case with move as well (Rank has way more of an influence than anything)

 

 

It seems Rank serves the theoretical functions of Intelligence and Move, as this increases the complexity and intelligence of AI behaviour...

It doesn't quite do that. It's more hardcoded than anything. Details below.

 

 

And to comment on what you said Asgarath, it seems very strange that Move and Intelligence especially seem not to do anything. So did Raven basically lie to us? In their .npc helper files they say things like "Intelligence is how smart NPCs are in general" and "Move is how complex their moves are when evading or in combat" ...

Keep in mind a few things:

  • I'm basing this off of JK2, which may be different from JKA. (not very likely, most of JKA's stuff involved adding lots of hardcodes to specific NPC names..in fact you can use .npc files with JK2 as well)
  • This AI system has been in use since (at least) EF, and there may be several deviations from that, even.

 

Let's talk about rank..

Rank is funny because it's used in such a wide variety of places. Ranks:

  • "civilian" / RANK_CIVILIAN
  • "crewman" / RANK_CREWMAN
  • "ensign" / RANK_ENSIGN
  • "ltjg" / RANK_LT_JG
  • "lt" / RANK_LT
  • "ltcomm" / RANK_LT_COMM
  • "commander" / RANK_COMMANDER
  • "captain" / RANK_CAPTAIN
  • by default, the NPC will be RANK_CIVILIAN

 

Here's things that it affects (saber users):

  • Taunting - If a CLASS_JEDI is aligned with the player, only RANK_COMMANDER can taunt. Otherwise, the higher the rank, the more frequent the taunting (in general).
  • Saber Styles - If a CLASS_JEDI is aligned against the player, RANK_CIVILIAN/RANK_LT_JG use only Blue, while RANK_CREWMAN/RANK_ENSIGN use only Yellow. Cultists ignore all of this.
  • Grip - RANK_LT_COMM and above will attack gripped players and NPCs (if they're affected by grip rank 1). RANK_LT_JG and above will throw sabers at gripped players and NPCs (if they're affected by grip rank 2 or 3). RANK_LT_COMM and above will ignore their current enemy and help out gripped allies.
  • Attacking - CLASS_JEDI: RANK_ENSIGN (and RANK_LT + above) will initiate force attacks as a starting attack (as opposed to passively counter-attacking with saber) 50% of the time, selecting from either saber throw, grip, lightning, or pull. RANK_LT + above will always throw their saber the other 50% of the time.

 

For saber-wielding enemies, the formula is:
random(0, chanceScale * 10) < 5
 
For gun-wielding enemies, the formula is:
random(0, chanceScale) == 0
 
where chanceScale is:
- 5 for RANK_LT and above
- 2 for RANK_ENSIGN (reborn force-user)
- 1 for Desann
- 1 for any NPC named "Yoda" (JA only)
 
If this check succeeds:
- 1/3rd chance to pull. If this fails:
- 1/2 chance to lightning. If this fails:
- Grip. If this fails:
- Use saber throw.
  • Kicking: Higher-ranked enemies using staff saber tend to kick opponents less often.
  • Katas: RANK_LT_COMM (and above) will use katas. Higher-ranked enemies will dodge katas much more often. Bosses, CLASS_SHADOWTROOPER and CLASS_ALORA will always avoid them whenever possible.
  • DFAs: RANK_LT and above will dodge DFAs effectively. The higher the rank, the more likely they are to evade it.
  • Acrobatics: RANK_CREWMAN (reborn acrobat) + RANK_LT (and above) will use BOTH_ARIAL_* and BOTH_CARTWHEEL_* as well as wallruns. Desann will not do these, and there's no difference in the rank.
  • Parrying: Better ranks = better parrying in general. CLASS_JEDI with RANK_COMMANDER (Jedi Trainer), CLASS_REBORN with RANK_LT_JG (reborn fencer) and CLASS_TAVION will frequently follow-up parries with a fast Blue attack. RANK_LT_JG and above have shorter parrying delays (so they can parry faster attacks more effectively).
  • Pain: When a Jedi AI is damaged, they have a delay in how they can parry, meaning that they can be damaged over and over by fast attacks (effectively beating them into submission). This delay is based on difficulty, but RANK_LT_JG (and above) have this delay cut in half (Desann cuts it down to 1/4th).
  • Rollstab: CLASS_SHADOWTROOPER and CLASS_ALORA (as well as bosses) will always either backflip away or jump over a rollstab (50/50 chance). RANK_LT_COMM and above can do this as well.
  • Wallruns: RANK_LT_JG and below will stand still when the player uses a wallrun/kickflip (probably to make it easier to kill using these)
  • Dodging Attacks: RANK_CREWMAN and RANK_LT_JG (and above) can duck + roll to evade saber attacks intelligently.
  • Superjump: RANK_CREWMAN and RANK_LT (and above) can use a "superjump" which goes VERY high and fast. This can either be used for evasion or in place of a normal jump.
  • Other jumps: RANK_CREWMAN and RANK_LT (and above) are the only ones which can use the front-flip anim in a force jump.
  • Saber Locks: The higher the rank, the more frequent that a NPC will take advantage of a won saber-lock to deliver an attack. RANK_LT_JG has a +1/15% bonus chance. Desann and Luke have a fixed 66% chance and Tavion has a fixed 33% chance.
  • General intelligence: Lower ranks are legitimately stupid and will stand still/won't attack the back of the player. Lower rank = way more likely to do this. In fact, RANK_CIVILIAN can't attack the back of the player at all.
  • Force Speed: Better ranking enemies will respond to the player's Force Speed use better. This never happens on Padawan difficulty (except for Tavion, who always uses it).
  • Force Absorb: Better ranking enemies will respond to the player's dark force usage better. RANK_LT_JG and above can only use Force Absorb correctly.
  • Force Protect: Better ranking enemies will respond to heavy damage (greater than 5-20) better by using Protect. RANK_LT_JG and above will only use Force Protect correctly.
  • Saber Droids: Saber droids with RANK_CREWMAN (or below) will attack slower than those with higher ranks. This is based on difficulty.

Non-Jedi AI:

  • Squad AI - higher rank enemies are denoted as "leaders". The highest-ranked enemy serves as the "leader" of the group and issues commands to it. Whenever the leader dies, others will flee (as long as they're lower than RANK_ENSIGN). If the group doesn't have a commander to begin with, enemies will flee if their health is <= 10. A group has what is called a "morale rating". Higher-ranked members of the group increase the morale rating, as do members with better guns. This morale rating influences a wide variety of things, including cover AI, retreating, and even accuracy/fire rate (to a very small extent). Most (if not all) of this code does not function correctly in JA due to large chunks being commented out (works fine in JK2).
  • Rockettroopers: rockettroopers with RANK_LT or above will always stay in the air (they won't attempt to land)
  • Suspicion: RANK_LT (and below) ranked CLASS_STORMTROOPERs will use "interrogating" events in response to visual stimuli. Higher ranks will just open fire immediately.
  • Saber avoidance: CLASS_REBORNs using a gun with RANK_LT_JG or above will actively evade attacks by saber-users.
  • a lot of other things
Sir Crusher and therfiles like this
Link to comment

^Lots of information, I'll update the first post with it soon. So, from what I take, rank is generally higher = better, but there are little odd combinations built in here and there for producing certain special types of NPC behavior?

 

Also, just a few more quick questions? If you don't know its not a big deal though but...

 

Is there anyway besides rnak to increase Light side power usage? NPCs, especially the more aggressive ones seem to love using Dark side powers no matter what class they have (Jedi or Reborn haha). I guess the only way is to make high rank lower aggression NPCs that aren't bosses? I recall you saying something that bosses when alone are less likely to use Light side powers or something. (Btw, "bosses" refers to any hardcoded NPC and also one that has a class like Desann or Kyle right?).

 

And Jedi/saberist classes, what's the point of them? If I give an npc with Class_Stormtrooper and a lightsaber they still act pretty much like a reborn... do saberist classes make Jedi style AI work slightly better or something?

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...