Skip to content

Feedback: Advanced AI and multiple healers in the party

mlnevesemlnevese Member, Moderator Posts: 10,214
The new advanced AI is a really nice addition to the game and may automate many things most players do, such as casting long duration protection spells after resting. It can also easily be configured to do minimal things, such as always keeping your thief looking for traps.

The most serious problem I see in it though is when you have multiple healers in the party. For instance in my current game I have 3 healers in the party, Charname, who has received the cure light wounds ability, Jaheira and Branwen.

The last time I played, Dynaheir, by being careless, (yes it was her fault, I'm innocent :wink:) suffered over 50% HP damage in a fight and the AI sent all my healers to heal her, using 3 cure light wounds. Considering it was a little over 10 hp of damage, it was certainly overkill.

There should be a toggle in the AI settings to wait for an interval before healing so that we could easily set primary, secondary and tertiary healers. If allowing the player to manually set a small interval before healing is not possible maybe it would be possible to add a primary healer/secondary healer toggle in the AI settings to minimize problems.

Comments

  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,758
    After the initial dialogue in BG2, Imoen automatically casted Stoneskin before I could click anything. Maybe it's not a big deal, but for me it meant that an NPC automatically used one of their spells when I didn't even think about it.

    I don't think it should be like that. The Advanced AI is a titanical work (thanks, @AlexT and everyone else) and it's great but maybe we should have a chance to choose whether we have it on NPCs first, so that it doesn't feel as if the game does something about your party automatically before you even have a chance to think about it.
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    That's the beauty of the new AI it's highly configurable. If you don't want it casting spells, just turn that option off. But I really think it should be on by default because:

    1) It helps new players who may not even be aware of those spells.

    2) It helps old players who keep forgetting to cast long duration protective spells or think it's boring to have to manually recast them when your party rests or the spell wears off. (Who? Me? Not me, old players you see :wink:)

    3) Spell triggers (contingency, etc.) are not an option. It takes time before you get the required spells that will automatically raise your defenses when you're attacked.

    If you're an experienced player who prefers to control all actions of your party all you'll "lose" is a single spell in the beginning of BG II that you'd probably have cast anyway.
  • DeeDee Member Posts: 10,447
    Of note: Stoneskin has a duration of 8 hours.
  • DurenasDurenas Member Posts: 508
    Dee said:

    Of note: Stoneskin has a duration of 8 hours.

    Yeah, I mean, one of the first things I do with Imoen when I wake up in chateau Irenicus is to cast armor and stoneskin. It's not like we're going to be in there that long.
  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,758
    Dee said:

    Of note: Stoneskin has a duration of 8 hours.

    12 hours, actually. But I referred to the feeling I got when my party member did something I didn't ask her to do. I understand more people will pass by it and say: "Why bother, it will last for hours, it's a useful spell etc etc". But the problem for me was the mere independence of an NPC before I had a chance to choose, if I want this independence of NPCs, or don't want it.

    It was a feeling of: "What was that? Ohh, I have to QUICKLY change the script".
  • DurenasDurenas Member Posts: 508
    The thorough way to fix this issue with multiple heals is to get the scripts to 'talk' to each other by being able to read the queue of spells preparing to be cast, read out the target of said healing spells, calculate the predicted HP gain, and not queue up another spell if the target's HP goes over the 50% mark.

    How that could be accomplished is beyond me.
  • AdulAdul Member Posts: 2,002
    This is a feature: it warns you to change the script ASAP. :tongue:
  • NatregNatreg Member Posts: 100
    Why not give us an option that enables scripts on NPCs at Start. It can be checked by default for new players, but before starting a game you could just uncheck it at the gameplay options screen and just start the game without any script.
  • The user and all related content has been deleted.
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    The only spell she "wastes" before you can turn off the scripts is a stoneskin. A spell most people would cast anyway.
  • [Deleted User][Deleted User] Posts: 0
    edited March 2016
    The user and all related content has been deleted.
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    @Amberion I don't think the engine allows character scripts to pipe information as you suggested. Maybe an alternative way would be the script setting a variable indicating a healer is already healing character x. So if it verifies that character 1, for instance, is already being healed the scriptt could check the next character flagged for healing. At the end it could run a quick check on all characters and then decide if any still needs healing.
  • KilivitzKilivitz Member Posts: 1,459
    I also believe Imoen casting Stoneskin right away can be sort of didactic. I can imagine a new player going "what the..." and then finding out how useful the spell is.

    My suggestion would be to include something about the AI in the game's tutorial. Just a paragraph or two explaining how you can toggle it on/off and where to find the menu to customize it. From that on it's not that much different from playing The Sims.
  • DurenasDurenas Member Posts: 508
    mlnevese said:

    @Amberion I don't think the engine allows character scripts to pipe information as you suggested. Maybe an alternative way would be the script setting a variable indicating a healer is already healing character x. So if it verifies that character 1, for instance, is already being healed the scriptt could check the next character flagged for healing. At the end it could run a quick check on all characters and then decide if any still needs healing.

    You're right. It doesn't. Which is why my proposal would require more work on the scripting backend.
Sign In or Register to comment.