Monday, October 27, 2014

Not all AI is Created Equal

As a programmer*, I know how important it is to re-use working code.  Re-inventing the virtual wheel (so to speak) each time you need a wheel-like routine is silly.  So, one would think that all hirelings - of a given class, at least - would be using the same code and, therefore, would act "the same".

Except, they don't.

Act "the same", that is.  Each hireling seems to have their own personality - and I'm not just talking about their 'flavor' commenting, either.

Case-in-point:  Tanya Brightstone, the L12 FvS, burns through her SP like it's as plentiful as water.  While recently running "Foundation of Discord", she was spamming (what appears to be ) mass command and holy smite and had less than 1% remaining before reaching the shrine (good thing I was only running on [heroic] normal...).  Inside "Prison of the Planes", it was actually kind of nice.  But in PoP, there are several, short encounters, while in Foundation, it's more like one, long extended battle.

On the other hand, Roshan, the L11 FvS, has very nice SP management.  In Foundation, he still had 40%+ SP after completing everything except the final room.  However, when told "stay" he may change back to "not stay" all on his own.  It seems to help if you switch him to 'passive' then back to 'defensive', but even then, he'll go running off if he decides he should**.

It should be noted that Roshan does not have any offensive spells hot-barred, but Tanya does.  It should also be noted that both hirelings were in "defensive" mode, not "active".

With the new AI pass, you can 'customize' the AI by right-clicking on the hireling's hot-bar portrait, then (de)selecting the "attack" and other hot-barred actions.  Except, they only list wands and the hot-barred spells, so even after de-selecting Tanya's entire listed repertoire (including "attack"), she was still spamming her non-hot-barred spells and continued to run through her SP as if she had an infinite supply.

As part of the new AI pass, hirelings will also now "auto shrine" when they are not in combat and are low on either HP or SP.  Personally, I don't care for the auto-shrine - I'd rather decide when they shrine, especially if they burn through their SP as fast as they can.  They should add the "auto shrine" function to the list of customizable actions.

So - two hirelings of the same class, with only one level separating them, behaving in completely different manners.  Granted, one is more offensively oriented, but still - they have their own personalities.

Maybe we're seeing the beginning of Skynet, right here in DDO...

EDIT:  Concerning today's patch and "stay" - still doesn't work for Roshan, unless he's in 'passive' mode.  Told him to "stay" and he went and changed it back to "follow" on his own (usually only does this the first time "stay" is used, that I've noticed).  Even when he didn't change it back, every now and then he decided - again, on his own - to go and kill something that was a good 20 yards/meters away, then return to his "stay" point.  I parked him inside the fort, by the tree on KA, and he went running outside the gate and even down the path a little to kill a Kobold (I mean, sure, Kobolds are annoying, but not THAT annoying...), then goes running back to the tree.  Oy vey.

* These days, I mostly program industrial controls, but "back in the day", I dabbled in BASIC (of course) and also had to learn Pascal and Fortran for my engineering degree, not to mention working directly in machine language.  You're not a "real" programmer until you do some actual coding and troubleshooting entirely in hexadecimal notation.

** It should be noted that today's patch is supposed to fix the "stay" command of hirelings.  We'll see...


  1. I'm not a real programmer? {cries}

    Wait - does Cobol count?

  2. Heh - I've never used COBOL (though I think I have some 5.25" floppies with a copy of it around here, somewhere...). It was (is?) considered more of a 'business/financial-oriented' language. One of my favorite posters in the Engineering building at college was the "computer language timeline". It extended into the future of about 2050. And about every four years starting in the 1970s was "end of COBOL predicted" (and a year later that was "end of Fortran"; after that was "end of Pascal", etc.) - I think its end is still being predicted...

  3. Natalie is hereby predicting the end of the world in 5... 4... 3... 2... OOO!! WAFFLES!

  4. LOL, yeah the hirelings have been interesting....