Hireling experience oddities; v1.10s
#1
Edit: some important corrections and addenda to this post are in my reply to it (see follow up post)--if you just want the simplified summary for non-math geeks then please scroll down to my final post on this topic.

In the AB thread Experience points for mercsI noticed something odd and Ruvanal gave me a pointer to an old complex code thread on the subject at Phrozenkeep. As I suggested I would, I have indeed done a little investigation (without v1.10s code reading) and run some numbers so I'll share the tentative findings here, in case anyone wants to double check it or flesh it out...

First, some "known" basics:

Hirelings and minions don't reduce your xp (or give you a bonus)--you and party members get the full xp for their kills just as if you'd killed the monster yourself (the gold find and magic find issues are more complicated, but these are not my focus here).

A hireling shares experience from you and your minions' kills (I haven't tested to see if they get xp any time that you would, e.g. from a party kill). If the hireling doesn't do the kill him/herself then their xp share gets chopped in third.

I rather imagine the code just takes the info for the xp it wants to give you and also calls (other party members) and hirelings, so that kills are just one uniform happy family, but I've not tested or read for this.

Hirelings ?do/don't? get the +50% xp bonus from shrines (I didn't test this, but I'm sure it is "known" and I will edit it in here later if I get the chance to test it or someone else reliably reports it).

Hirelings are on a different xp scale than players for leveling up. I suspect this also means they do not suffer the 70+ xp nerf players suffer (as that is data driven with the players xp scale, in experience.txt)

Hirelings will not gain any xp unless they are below their player (owner's) level.

Hirelings don't gain xp when they are dead. You don't gain xp when you're dead either--last I checked though, you do get xp for monsters that die by your hand--e.g. ow/poison--when you're in town. Certainly you gain xp in town when your hireling is just outside of town, slaughtering things for you (the monsters will ignore him/her, so really the only way your hireling can get hurt is if they have indiscriminate damage output, such as lightning emission).

Hirelings have an exp scaling factor, aka penalty, based on their type and difficulty they were hired in. A current look at hireling.txt shows a normal base of 100 to a nasty penalty level (40% more xp needed per level) of 140 for some hires from hell.

Hirelings suffer the mlvl of kill vs. level (theirs) xp penalties. (the within 5 levels, unless you're 25+ stuff).

Hirelings have a 1/64th of a level-up xp cap per kill...

This is the one that caught my interest, as xp calculation order of application and actual numbers involved in kill xp vs. 1/64 of a level up could make a difference and might help to explain why, in practice, leveling up lowbie hirelings is such a pain.

So I read the PK thread and did some tests with level 1, 2 and 3 hirelings from act 2 in the blood moor (by no means a complete set of tests for all the "open" questions). Hammerman's stated formula for the Hireling xp scale didn't jibe, but it was close, so I don't know if it was changed or he just mis-read the code (remember I'm trying to avoid getting into code reading myself these days). I also uncovered evidence that the cap is applied in an unfavorable order, to wit, before the 1/3rd penalty (for non-hireling kills). Additionally, though I didn't spreadsheet it out, or look for a site that does (with the correct formula) I spot checked some points to see when the hireling xp scale is better or worse than the players. Here are some of the numbers...

Hireling xp needed to be a particular level is:
L == level
P == percent penalty (really a scale factor, baseline 100, but useful to think of as a penalty)
XP(L) = L**2 * (L+1) * P

as a practical matter, if you hire a level 1 act 2 normal merc with a Penalty factor of 110 this means they come with:
XP = 1**2 * (1+1) * 110 = 1 * 2 * 110 = 220 experience points.
and, of course, they will show their next level needed xp as:
XP = 2**2 * (2+1) * 110 = 4 * 3 * 110 = 1320 experience points.

If you wish to just derive the equation for the delta in experience to get to a "next level" from L, it is:
D = (3 * L**2 + 5 * L + 2) * P
and for the L = 1 case we'd compute:
D = (3 * 1 + 5 * 1 + 2) * 110 = 1100 (which is, naturally, 1320 - 220).

(there are many different notational conventions for typing equations--please feel free to recast mine to suit you).

Looking at experience.txt quickly I see the same numbers I see on Arreat, so let's look at a few of those numbers and then generate the hireling numbers for comparision...

02: 0,000,000,500
10: 0,000,057,715
20: 0,000,537,513
30: 0,004,663,553
40: 0,017,270,791
50: 0,047,116,709
60: 0,117,772,849
70: 0,285,041,630
80: 0,681,027,665
90: 1,618,470,619

Hireling with baseline 100 (Fire Arrow act I normal Rogue):
02: 0,000,001,200
10: 0,000,110,000
20: 0,000,840,000
30: 0,002,790,000
40: 0,006,560,000
50: 0,012,750,000
60: 0,021,960,000
70: 0,034,790,000
80: 0,061,840,000
90: 0,073,710,000

and, of course (assuming my punching up numbers didn't goof) you can just treat P factors as percentage penalties to that table (from 1.0x to 1.4x) for the other hirelings (see hireling.txt the "Exp/Lvl" column).

What you can easily see here is that somewhere between level 20 and 30 the Hireling baseline (100) is easier on level ups than that for players. This is also approximately when the hirelings stop suffering the pre-25 xp nerf for non-level appropo kills (above level). Someone reading this is no doubt soon to be preparing a calculator so you can see the crossover point for the various act/type/diff hires at which Hirelings start to have an easier time of it than you do.

But the additional factor is to ask my original question: are the hirelings getting clipped on xp by the 1/64th of a level cap (per kill limit, so that conceptually the hireling must always get 64 kills between level-ups at a minimum). And, indeed, the answer is yes, since my very first test, the act 2 hire with P==110 in the example above, was getting only 17 xp when he killed a fallen whereas I was getting the full 18 xp. Worse still, when I killed one, he only got 5! (This is my evidence for the 1/3rd non-hireling kill penalty being in an unfavorable calculation order).

To see why he'd only get 17 xp, lets run the numbers for the cap (the 5 is easy, it's 17/3 truncated)...
As we calculated, he needs to go from 220 to 1320 to go from his starting level of 1 to level 2 (I was a rushee, so grabbing an act 2 hireling was convenient, whereas I do not have the right to hire one in act 1!) which is, as noted, a difference of 1100. Now we calculate 1100/64 and truncate, getting--surprise!--17.

So, hypothetically, let's imagine we've gotten our hireling to level 26 (post xp nerf) and we kill normal Mephisto for (apparently, according to D2data) a level 26 kill worth 10,718 xp. Since we are impatient and haven't properly twinked our hireling anyway, we do the kill ourselves, patting ourself on the back that the hireling even survived to share in the xp credit.

If we are using an act 1 fire Rogue, the xp needed to level from 26 (to 27) is:
D = (3 * L**2 + 5 * L + 2) * P
D = (3 * 26**2 + 5 * 26 + 2) * 100
D = (3 * 676 + 130 + 2) * 100
D = 216,000
so the cap is 216,000/64 = 3375 per kill.

As 10,718 is greater than that, we cap. As the hireling didn't do the kill, we divide by 3. Thus the Hireling only gets 1125.

Wow! Even after we get the hireling past 25, this sucks. Note that the "penalized" hirelings, taking greater xp between levels, will have a higher cap, and thus aren't penalized at all, relatively speaking, when the cap is being bumped into.

But wait, everyone knows that at high levels hirelings level up like popcorn, a short while after you do. Does all this silly math potentially fit with that? Let's see...

Hypothetically what we've seen is that the cap is evil and the hireling not getting the kills is evil, such that you're going to take a minimum of 192 kills (if you are doing the work) per hireling level up (and, do to the nature of these penalties, I have to wonder if the calc order for the other bonuses, like xp shrines, players X and party, don't get horked by the cap as well--good thing to test for, eh?). This could be even worse, if you are fighting sufficiently far enough away from the hirelings level that the other nerf dilution takes you below the cap (or, heavens! the calculation order could be really really evil, and apply all bonuses pre-cap and all penalties post-cap--again, something to test for).

What this suggests is that we want to find a point where the monster xp/kill is only going to take 64 to 192 kills to level up the hireling but where that xp seems like a drop in the bucket to us, on our xp bar. So whats its look like for hell difficulty Prowling Dead? (assuming, like a Holy Bolt synergy build, that these are easy and convenient to slaughter 64 to 192 of)

D2data says these are level 83 and worth 50,900 xp. At level 83 for an act 1 fire rogue the cap is 1/64th of:
D = (3 * L**2 + 5 * L + 2) * P
D = (3 * 83**2 + 5 * 83 + 2) * 100
D = 2,108.400 and so
cap = 32,943 (truncated).

So even now, we are still capped. That's good though, because it does explain that after we (do the work) of killing 192 of these guys (well, less than that, but over and over as they return from the dead) we will get 192*50,900 xp, or 9,772,800 xp, diluted down to ~35% (if we're level appropriate) for around 3 million xp, which is on the order of 1/20th of a level up for us, while our hireling levels up (catching up to us).

This is indeed what I've seen myself, and others have reported.

So the key remaining question is order of calculation for other bonuses and penalties that apply to the hireling.

This order either opens the door or shuts it on opportunities to level the hireling faster without either super fast kills or letting the hireling do the kills (but rapidly).

I think it is clear the Holy Freeze Mercs, now that their aura does damage, are going to be levelable faster by a Static Sorc than some other catch-up combinations. Certainly any twink that increases hireling kill credits and speed will potentially prove useful, unless you're a god at continuous rapid mass kills (of hireling level appropriate monsters--if indeed the cap is applied *before* that penalty). Giving Rogue hirelings a Ravenclaw or Kuko and enchanting them has got to help. Feeding a hireling healing potions while thorns aura is up seems like another potential winner.

Gotta run. Hope some of this proves helpful.
Reply
#2
Quote:I rather imagine the code just takes the info for the xp it wants to give you and also calls (other party members) and hirelings, so that kills are just one uniform happy family, but I've not tested or read for this.

In 1.09, I'm pretty sure hirelings didn't get *any* exp from party kills. :angry: I haven't tested this in 1.10.

-Griselda
Why can't we all just get along

--Pete
Reply
#3
Quote:I suspect this also means they do not suffer the 70+ xp nerf players suffer (as that is data driven with the players xp scale, in experience.txt)

yeah, that's kind of annoying. it took me something like 30 mins to gain to level 85 when my xp bar was just about full. my rogue though got to 84 before we had cleared the level(frozen tundra hell).

i'd like it if mercs actually leveled slower than you so you had to care for them a little, instead of them levelling up just a few mins after you :(
Reply
#4
Crystalion,Sep 13 2003, 10:42 AM Wrote:the tentative findings here, in case anyone wants to double check it or flesh it out...

First, some "known" basics:

A hireling shares experience from you and your minions' kills (I haven't tested to see if they get xp any time that you would, e.g. from a party kill). If the hireling doesn't do the kill him/herself then their xp share gets chopped in third.

I rather imagine the code just takes the info for the xp it wants to give you and also calls (other party members) and hirelings, so that kills are just one uniform happy family, but I've not tested or read for this.

Hirelings ?do/don't? get the +50% xp bonus from shrines (I didn't test this, but I'm sure it is "known" and I will edit it in here later if I get the chance to test it or someone else reliably reports it).

Hirelings don't gain xp when they are dead.

the calculation order could be really really evil, and apply all bonuses pre-cap and all penalties post-cap--again, something to test for
Misc. additions and corrections to the above from some quick testing...

Hirelings don't lose xp when they die (in nm/hell).

Hirelings do not get a bonus when you are under the influence of an xp shrine.

Hirelings do not get a bonus from having other people in the party (on site).

Hirelings get a players X bonus, but this (as expected) is pre-cap (so it is often of no benefit).

Hirelings get diluted for xp by the clvl vs. mlvl stuff *before* the cap (this is favorable).

Hirelings do not get party experience (i.e. no xp for kills not made by you, your minions, or hireling--presumably you'll get xp for MvM deaths for confused/attracted/converted monsters but the details of this need testing).

...

So, in summary, to level up the hireling "you" (not a party) will have to do it, and Players X will often be of no help, nor will touching xp shrines. No biggee if the hireling croaks (no xp loss) other than the time and cash lost to resurrect them.

A big win, potentially, is fighting way above the hireling even though they will get nerfed for their xp, because the cap is already a nerf (and in favorable calculation order). The win comes from the fact that what you really need to do is kill 192 (xp cap) monsters as quickly as possible, so having latitude (players 1; mlvl much > than hireling level) offers efficiencies in terms of where you can go to reap huge numbers of enemies.

Let's look at an extreme example, using numbers from the original post...

Hire a level 3 normal act 1 Rogue, and go visit the Zombie Garden (Pindle area). The cap per kill is:
D = (3 * L**2 + 5 * L + 2) * P; Cap = D/64
D = (3 * 9 + 5 * 3 + 2) * 100
D = 4400; Cap = 4400/64; Cap = 68 xp per kill; 22 xp per kill you make (/3 penalty).

Theoretically, below level 25, the hireling will get only 5% xp for being very low level relative to the mlvl of the monster killed (this too needs testing). In theory, though, 10,718 xp for a Prowling Dead kill will dilute to 500+ xp, which is way above the cap still.

Clearly then, *if* you can find and kill lower level masses of monsters faster, the hireling xp cap is the key thing you're fighting (64 monsters by hireling, or 192 by you, per level up), and you should go for the slaughterfest option. This means classes and methods of rapid monster slaughter are the way to go, if you know you want to play level catch up for a newly hired hand. Monster Density and fast travel time are a big plus also (as has been the case in the Great Race thread discussion).

edit: for grins, consider the case again of hell Prowling Dead, level 83 and worth 50,900 xp, and ask the question (ignoring lvl vs mlvl dilution for the moment) when the cap is high enough (100 base fire rogue) to allow full xp?

50,900 * 64 ? >= ((3 * L**2 + 5 * L + 2) * P)
50,900 * 64 / 100 - 2 ? >= 3 * L**2 + 5 * L
since I don't really need to be precise I'll approximate this by
509 * 64 ?= 3 * L**2 which approximates to level 104.

What this tells us is that the cap pretty much rules the xp curve for the whole life cycle of the hireling. Calculation order tells us that unless we can kill 3x faster than the hireling (often the case though), it is probably efficient to let them do the kills (in other words, twinks/assists of the hireling can help bigtime).

The only exception to this rule of thumb would be to avoid the penalty of fighting monsters substantially *below* the hireling's level (because low xp combined with dilution penalty lvl vs. mlvl will put you below the cap per kill).

This whole exercise suggests to me that when players complained about the broken Hireling never levels up problem they made a fix (hireling xp scale is kinder at high levels than the player's scale) that helps by the late 20s but made/left the cap thing as body count = all that matters. Rather strange and probably unintended--consider that the 100..140 exp/lvl penalty factor for different hirelings has no effect whatsoever under typical conditions (of the cap always being hit, thus number of kills matters, which is always the same 64..192, but no difference is made by the "penalty").

edit: hireling also doesn't get xp when you get xp for looting your own corpse (nm/hell). I think they also don't share in the xp when you get your boost from the Ancients (IIRC).
Reply
#5
Sounds like this basically matches what I learned during my efforts to get a better merc for my high lvl characters. I found it was best to goto the crowds, but I did favor crowds nearer the merc lvl. When the merc could start killing fast, it was better to let that happen. Now that I know the magic numbers of 64 and 3, it will be simple to see if I need to move. Thanks.
Reply
#6
I am busy at the moment and cannot confirm (and last night I lost about 3 hours due to a save file screwup), but it seems that in 1.10 your merc can reach your level. A lvl99 person can have a lvl99 merc, for example.

My amazon's defiance merc, then her holy freeze merc, could both obtain the same level as she. I don't think I'm seeing things, but as far as I know this was not possible in 1.09?

The merc's exp freezes once its level equals your level, but that's to be expected.
*Pren_LL-AB
USEast HC
Dark_Mutterings (Necromancer)
Doug_Winger (Wearbear)
Heroic career and 1.10 aspirations cut tragically short because NOBODY CAN DO ANYTHING WITH A 22.2K CONNECTION WHY DOES GOD HATE ME.
Reply
#7
Pren,Sep 14 2003, 04:32 PM Wrote:I am busy at the moment and cannot confirm (and last night I lost about 3 hours due to a save file screwup), but it seems that in 1.10 your merc can reach your level. A lvl99 person can have a lvl99 merc, for example.
Yes, I didn't err here (at least--I'm sure there are other errors in my research): Hirelings will not gain any xp unless they are below their player (owner's) level. So you are correct, a v1.10 hireling will reach your level (then stop gaining xp). Your recollection is also correct--this stuff has changed a couple times over various versions (I particularly thought it was fun when a rushee could have a vastly higher level hireling).
"He's got demons? Cool!" -- Gonzo, Muppet Treasure Island

"Proto-matter... an unstable substance which every ethical scientist in the galaxy has denounced as dangerously unpredictable." -- Saavik, Star Trek III

"Mom! Dad! It's evil! Don't touch it!" -- Kevin, Time Bandits
Reply
#8
Crystalion,Sep 13 2003, 11:33 PM Wrote:The only exception to this rule of thumb would be to avoid the penalty of fighting monsters substantially *below* the hireling's level (because low xp combined with dilution penalty lvl vs. mlvl will put you below the cap per kill).
Well, this isn't quite true. I ran the following test...

I hired a level 3 act 1 normal fire rogue, named "Isolde", and took her to early act one nightmare. The monsters I killed (always freezing them, so no corpses for shamen to resurrect and mess me up) included quill rats, shaman, fallen, zombies, those lancer girls, and even a Wendigo. AFAIK these are all more than 30 levels above my hireling. She took 311 kills (made by me, if I kept the count right) to level up. Fallen were worth only 10 points to her net. The Wendigo was worth 20 (I think the shamen were about that as well).

She started at 3600 xp, and needed to get to 8000 xp for level 4. That's a spread of 4400. So I was averaging giving her 14 xp a kill (a lot of fallen, clearly). The cap would be 68 and for my kills 22. So, due to truncation, I should not have been able to level her in less than 200 kills. Had I killed only fallen, it would have taken 440 kills.

In other words, contrary to the rule of thumb I gave you, if you fight even a whole difficulty level beyond level appropriate monsters for your hireling, then they can still dilute below the cap (and you'll take more than ~200 monsters to level them up).

Website d2data lists the fallen as level 36, 1669 xp points. So my hireling level vs mlvl dilution must have been on the order of more than 50 to 1, i.e. less than 2% credit. IIRC Arreat summit has suggested xp dilutes down to 5%, but this is not the only evidence I've seen that suggests it can get worse than that.

I checked (when she was at clvl 4) her kills of fallen in normal and my kills of fallen in hell, and got the expected results (her kill of a normal fallen netted her 18 xp, the full xp of a fallen there; my kill of a fallen in hell was, finally, so much xp that I managed to hit her cap/3).

In summary then, if the hireling is below level 25, there are three reasonable choices:

1) fight level appropriate (between +/- 5 levels of the hireling) and let the hireling get as many kills as possible

2) or, if you can kill over 3x as fast (likely) then kill rapidly yourself

3) or, if you can kill monsters fast that are way way way above the hirelings level, such that you see the hireling getting capped (/3) xp bumps per kill, then go for it.

All other choices are not so good, if you're trying for speed in leveling the hireling.

Edit: reorged following advice into follow up post here and at the AB...
"He's got demons? Cool!" -- Gonzo, Muppet Treasure Island

"Proto-matter... an unstable substance which every ethical scientist in the galaxy has denounced as dangerously unpredictable." -- Saavik, Star Trek III

"Mom! Dad! It's evil! Don't touch it!" -- Kevin, Time Bandits
Reply
#9
Crystalion,Sep 15 2003, 08:30 AM Wrote:Edit: reorged following advice into follow up post here and at the AB...
If your hireling is level 25 or above, don't worry about leveling or where or what you kill--just do what works for your character well. Provided that you aren't inconveniently getting your hireling killed all the time, they will level up just fine, probably catching up to you at a good clip.

However, the easy thing to do--when your hireling is below level 25--is to (press "O" to) look at the hirelings xp when they level up ("I feel much stronger now") to see what the spread is (how much xp they need for their whole next level up). You'll have to subtract their current, just leveled up experience number, from the displayed "experience needed" for next level number.

Now divide that number by 200 (or, if you are a math whiz and want to be more accurate, you can instead divide by 64 and truncate and then divide by 3 and truncate again).

This number you now have is a "magic" number, which you may kindly indulge me in calling the "cap/3" number. What it approximately means is the most xp your hireling can gain (for this level at least) per kill that you make. I call it "cap/3" instead of "cap" because if your hireling makes a kill, then they can get roughly 3 times that much xp.

You now know a rough maximum amount of xp per your kills that the hireling can get. So, simply, when you go to a new area you should initially watch how much of an xp bump your hireling gets when you kill just one monster (again, using the "O" screen). If the xp you see your hireling get when you make a kill is at or nearly at the "cap/3" number then you know you're doing as well as you reasonably can. If instead it is a lot below that number, you should consider finding more suitable prey. Look for something tougher that gives more experience, but that you can still handle rapidly. If there isn't anything tougher that you can handle easily, you might want to consider "slumming"--which is going way back in the game to an area where there are weenie monsters roughly the same level as your hireling. And, of course, when you think you've found such a spot, just follow the procedure above to check it out, to see if your hireling gets better experience there than your previous candidate.

That's pretty much all there is to it. You don't really need any fancy math or calculators or encylopedic guides to monsters, levels and xp.
"He's got demons? Cool!" -- Gonzo, Muppet Treasure Island

"Proto-matter... an unstable substance which every ethical scientist in the galaxy has denounced as dangerously unpredictable." -- Saavik, Star Trek III

"Mom! Dad! It's evil! Don't touch it!" -- Kevin, Time Bandits
Reply
#10
So this would be the reason why my merc fails to level with my necro. Are you sure kills made by my skeletons are not added to my merc's xp?
Reply
#11
mageofthesands,Sep 18 2003, 01:21 PM Wrote:So this would be the reason why my merc fails to level with my necro.  Are you sure kills made by my skeletons are not added to my merc's xp?
I don't see you having this misunderstanding from:
Quote:A hireling shares experience from you and your minions' kills
in my first post, so it must be from the messy sentence in a latter post:
Quote:Hirelings do not get party experience (i.e. no xp for kills not made by you, your minions, or hireling--presumably you'll get xp for MvM deaths for confused/attracted/converted monsters but the details of this need testing).
In other words, anything "your" team *kills* your hireling gets a chance at xp. Anything your *party* (not your team) kills, is a no go. Your "minions", which includes your skelies, are part of "your team". Your play partner's skelies are not.

p.s. anyone looking for the "final" pithy xp guideline post linked by Bolty... this isn't it (but it is in this thread)
"He's got demons? Cool!" -- Gonzo, Muppet Treasure Island

"Proto-matter... an unstable substance which every ethical scientist in the galaxy has denounced as dangerously unpredictable." -- Saavik, Star Trek III

"Mom! Dad! It's evil! Don't touch it!" -- Kevin, Time Bandits
Reply
#12
The reports in this thread chime with what I have found in practice (without knowing the technical reasons for what was happening).
When my characters finish Normal they are usually around level 31 or 32. An Act 1 merc is usually around level 18 or 19 at this point.
I like to equip an Act 1 merc with Skystrike for N'mare, which means I have to level her up to 28.
I found that if I linger in Act 5 to gain experience, the gap between the main character and the merc gets wider - ie the main character levels up faster than the merc. But if we go back to early Act 4, the reverse happens, the merc levels up faster, and the gap narrows.
I had also noticed that when the merc reached the mid-20's, it was "safe" to go back to Act 5 - ie the merc levelled up at a reasonable rate, and it was no longer necessary to baby her along.
I now know that the exact time to stop messing around in Act 4 is when the merc reaches level 25 - thanks for the enlightenment!
funnelweb
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)