Aller au contenu

Photo

Enemy scaling and kill XP


  • Veuillez vous connecter pour répondre
3 réponses à ce sujet

#1
DarthGizka

DarthGizka
  • Members
  • 867 messages

The wiki has some general notes on XP (experience points) but little detail regarding the relationship between player level, enemy scaling and kill XP.

In games like Neverwinter Nights, kill XP increased with enemy/encounter difficulty and it decreased with rising player level and party size. The general rule was 'critter XP before fixed XP' because combat XP decreased with player level (regardless of whether the level was actually taken or not) whereas fixed XP cannot decay.

Things are similar in DA:O although there are a few complications. The good news is that there is more than enough XP to reach the level cap without jumping through hoops, provided you have the DLCs, don't ignore too many optional quests, and don't lose significant numbers of kills due to kill-stealing.

In DA:O, kill XP depends exclusively on enemy level and rank. Player level, party size and encounter difficulty do not play any role at all. XP decreases with rising enemy level instead of increasing. Enemies are levelled (scaled) at the time an area is initialised, typically when the area - or another area in the same area list - is first visited.

Formula: XP = 0.2875 * LevelledXP[GetLevel(victim)] * RankMultiplier[GetCreatureRank(victim)]

LevelledXP is the column 'fPointVal' in exptable.xls, RankMultiplier is 'fPointVal' in [creatureranks.xls]autoscale.

The scaling factor was probably designed to scale the total XP of a reasonably thorough playthrough to 200,000, which corresponds to level 25. Awakening applies a further factor of 2.5, probably for similar reasons.

Enemies are usually initialised to the player level, plus or minus a rank-dependent offset (nLevelScale in [creatureranks.xls]autoscale). One-shot kills and critters are three levels below the Warden, weak normals two, normals one. Elites have the same level, bosses are one higher and elite bosses (Flemeth, Andraste, Archie) are two higher. The level of companions is irrelevant.

However, most areas clamp player level to very narrow ranges before applying the rank delta. For example, the range for most areas in Orzammar and the Deep Roads is 11 to 16, meaning that a level 7 Warden gets the exactly the same enemies and exactly the same XP as one who unlocks the area at level 11. So much for the myth of an XP bonanza for going to Orzammar early... With the mountain pass, the commons and a few other areas having 10 as a lower limit and the rest 11 or higher, there is no XP gain at all for going to Orzammar before level 10.

The level ranges for all areas can be inspected in areadata.xls (columns MinLevel and MaxLevel); the relevant logic can be found in AS_GetCreatureLevelToScale() in sys_autoscale_h.nss. A condensed and commented version of the scaling logic can be found in another post.

One-shot kills are invariably capped at 10.

Minor twist #1: full kill XP is awarded only to the killer, which could be a companion instead of the Warden. Other party members receive 95%, dead party members and those at camp get 90%. You don't get any XP at all for kills bagged by allies, but you do get XP for killing allies. Go figure.

Minor twist #2: you don't get any XP for kills with ballistae or environmental hazards. The latter includes not only the burning barricades during Attack at Nightfall but also 'rain of destruction' spells like Inferno if you lose ownership of them due to a reload.

Minor twist #3: as enemy level goes up, kill XP goes down until it hits its minimum at level 20. Then it starts rising again. The strange dip at level 3 could by due to a typo but your guess is as good as mine.

Minor twist #4: devs can force a minimum level for a creature by setting its MIN_LEVEL variable. I found 14 for Marjolaine, 15 for Flemeth and 'Andraste', and 20 for Gaxkang.

Minor twist #5: certain creature types have level caps that are applied for non-ranked enemies (one-hit, critter, weak, normal), unless this capping is disabled for the module or area in question ("IgnoreAppMaxLevel"). The relevant sense of 'creature type' is called 'appearance' internally and the limits are in APR_base.xls ("MaxScaleLevel" column). For example, the level cap for non-ranked wolves is 12.

Oddity #1: the fact that XP decreases with rising enemy level can result in the strange situation that weaker enemies give more XP than stronger ones. You may have observed that some white enemies give slightly higher XP than other whites of the same type during one and the same fight, especially in Orzammar. The ones with higher XP are the weaker enemies ('weak normals'). The elite ogre smashing the gate in the Alienage during the endgame has level 7 and gives 81 XP, while his stronger colleagues have much higher level and give only 50 XP.

Oddity #2: during the mage origin, the Warden is usually level 3 when entering the basement for some 'research into burning things'. If this is the first visit to the basement then the enemies will be scaled for a level 3 Warden, making normal enemies worth 47 XP. But if you stuck your nose into the basement earlier en route to Irving after the Harrowing (causing the area to be scaled for level 2) then the same enemies are worth 82 XP. Stuff like that can add up.

Oddity #3: some areas contain both critter and normal editions of some enemies, with serious differences in stats but no way to distinguish them except by taking a nibble (e.g. Dual-Weapon Sweep, Scattershot, AoE spell). Examples: wisps during the mage origin, enemies during Howe's attack on Highever, wolves and genlocks in the Korcari Wilds.


hurlocks_c_w_n_N09.png

Three 'white' hurlocks of differing rank whom Ajira encountered on the bridge in the Dead Trenches area. The floaties show kill XP, rank (c = critter, w = weak normal, n = normal), level and difference to the player, and the possible level range for the creature. Ajira was level 9 at the time; the area clamps player level to [12,17] for the purpose of enemy scaling.
 


  • Lumi aime ceci

#2
Blazomancer

Blazomancer
  • Members
  • 1 307 messages
Doing Orzammar early doesn't necessarily mean doing it first; may be earlier than intended. One can complete the Dalish questline and some of the Denerim and DLC quests, before visiting Orzammar. Then come back and visit the Urn, Circle and Redcliffe.

#3
DarthGizka

DarthGizka
  • Members
  • 867 messages

Yes, doing Orzammar as the 2nd treaty quest would still be early, and it would put the Warden's level at around 10 as I mentioned. Doing the Broken Circle first (after a bit of shopping in Denerim) leaves the Warden at around level 9, which is a teeny bit early and offers good opportunity for hitting the Keep to unlock the party chest before dealing with the dwarves.

 

However, the 'early' attached to the myth is of the right-after-Lothering kind, i.e. doing Orzammar first. As in this post about maximising XP that I had bookmarked: Level 25 by Maximizing XP Gain

 

I had planned to work out what the XP gain actually is for hitting Orzammar at level 10 vs. higher levels, as an addendum to my post about meta-gaming Orzammar. But when I tried to do the math there were some discrepancies; figuring out the whys and wherefores led to further research and that resulted in the info I posted here. I'm still curious to know how much of a difference it makes but I haven't played the game in over two weeks (apart from occasional research forays) and so the meta stuff will have to wait a while.

 

I guess most people already know the general principles involved but among the info floating around here there's not a whole lot of fact and hard data, and without that it is hard to gauge the actual impact. Knowing about the size of XP reserves also makes it easier to judge how often one can put the mission first without sacrificing the possibility of reaching level 25 before - or at least during - Archie's do.



#4
Magdalena11

Magdalena11
  • Members
  • 2 843 messages

Thanks for spelling out the scaling/XP thing.  I haven't been fussed about it since I usually do all the side quests and want to leave myself room to grow in Awakening.  One of the few situations I use the killallhostiles command is when kill-stealing is going to be an issue, like in the dead trenches when you meet Kardol.  My poor little ego can't handle those legionnaire mooks killing a baddie before I can do it properly.  It's good to know the mechanics behind it so I can save the console for emergencies.