TTLG|Thief|Bioshock|System Shock|Deus Ex|Mobile
Results 1 to 7 of 7

Thread: Interrupting Conversations Causing Broken AI [T2]

  1. #1
    Member
    Registered: Sep 2000
    Location: Lexington, KY

    Interrupting Conversations Causing Broken AI [T2]

    I have a conversation triggered by a bounds trigger. I thought everything was fine until I did some playtesting and broke one of the actors. I know most people wouldn't interrupt a conversation but I'm just trying to cover all possible scenarios.

    As Garrett approaches, the conversation starts between two guards. If I don't interrupt them everything works normally and they begin their patrols. Here are the scenarios where I have interrupted them, and the last three in bold are the issue:

    1. I attack either one of the guards with a bow, they both abort the conversation and begin search.

    2. I douse the torch next to them, they both abort the conversation and begin search.

    3. I interrupt by making myself visible between them. Whichever guard is talking when I interrupt begins to chase me, the other guard not currently talking becomes non hostile. I can attack them until their hit points deplete but they remain standing in idle position, never dying.

    4. I interrupt by making a noise on a nearby metal object with an arrow. Whichever guard is talking when I interrupt begins to chase me, the other guard not currently talking becomes non hostile. I can attack them until their hit points deplete but they remain standing in idle position, never dying.

    5. I attempt to interrupt the conversation with an arrow on nearby terrain, neither guard hears the collision or aborts the conversation.


    If I make a noise or make myself visible before activating the conversation, they both respond correctly. Not sure where I'm screwing up.

  2. #2
    Member
    Registered: Aug 2007
    Location: LosAngeles: Between Amusements
    What are your abort steps and abort conditions for the conversation?

  3. #3
    Member
    Registered: Sep 2000
    Location: Lexington, KY
    Quote Originally Posted by LarryG View Post
    What are your abort steps and abort conditions for the conversation?
    I've a tried a few different combinations of abort conditions with similar results. Currently at Level 2 Moderate, and Absolute. For the abort steps I have it set to enable investigate for both actors, I've also tried setting them both to alert level 3, and become hostile.

  4. #4
    Member
    Registered: May 2002
    Location: Texas
    I've noticed a quirk in interrupted conversations elsewhere... In First City Bank the Archer seems to get stuck unless he sees me but otherwise he doesn't respond to anything. He does flee however at low hit points.

  5. #5
    Member
    Registered: Sep 2000
    Location: Lexington, KY

    [Solved]

    Ok, my conversation is fixed, and here's how I did it for anyone who might have a similar issue or want their AI conversations to be interrupted correctly:

    First of all let's fix the issue of the AI responding to nearby sounds during conversations. I dug into the gamesys to figure out what causes AI to react to arrows hitting metal differently than arrows hitting stone. The properties for this are under Object -> Sound -> Schema -> Collisions ->Hit_Projectile. The metal hit has these props:

    Notice the property AI -> Utility -> Sound Value: "Non-combat high". Next let's take a look at the props for arrows hitting rocks:


    As you can see there are no AI Utility settings added, so rock hits are just using the default value for all projectiles which is "Major anomaly". There are six options for the sound value type which are:

    None (used when AI swing weapons at you and hit objects, so the sound will not alert nearby AI)
    Inform (I have not seen this used anywhere yet, but I assume it is used to call for reinforcements if a specific collision occurs?)
    Minor Anomaly (used for quieter noises such as water, vine, or gas arrows, or broadheads shot into wooden terrain)
    Major Anomaly (the default value for arrow hits, unless a schema is overridden it will inherit this type, causing AI to investigate upon hearing it*)
    Non-combat High (used for unusually loud sounds such as arrows hitting metal, the AI will stop whatever they are doing and investigate)
    Combat High (used for obvious intrusions such as fire arrow hits, AI immediately goes into combat mode)

    So the issue I was having was if I tried to interrupt a conversation between two AI by shooting an arrow into the wall next to them, they would not acknowledge the sound. I fixed it by giving the schema for rock the same AI Utility Sound Value as what metal has, it now looks like this:

    I saved the gamesys and mission. Now when I shoot an arrow into a stone wall during a conversation, the AI will abort the conversation and investigate correctly.

    *Here is the caveat. Normally a major anomaly sound will cause AI to investigate, but during a conversation they are "distracted" and will not respond unless the sound is a non-combat high or a combat high type sound. It's up to you if you want the AI to abort a conversation and respond to those sounds. I have tested this with footsteps as well. Tile and metal flooring are set as major anomaly type sounds. I put a metal floor directly behind the AI and walked through as they were in conversation, they did not stop to investigate. I changed the settings for foot_metal_p and foot_tile_p to non-combat high, now the AI stop and investigate if I walk on nearby tile or metal during their conversation. You should gauge this on how your mission is set up. I want my players to stop and listen to conversations, that's why I'm setting it up this way. If you need your players to keep moving through while also hearing the conversation and not interrupting it, I suggest you stick with the default values. Otherwise you could make a noise and kill the conversation.

    Alright, secondly I had the issue of one of the AI's becoming non-hostile once I interrupted the conversation. The AI that was currently talking would investigate, the other AI would remain idle, I could walk right up to them and they would not attack or acknowledge me, I could also kill them and they wound not fall, only run out of hit points and remain idle.

    I narrowed this down to the Abort Steps, namely the steps called 'Become Hostile' and 'Enable Investigate'. I am still unsure why this was breaking the AI, but I did figure out that by removing these abort steps entirely, the AI operates normally. The fields should just be the default value and look like this:


    Perhaps the engine is looking for special arguments here, but from what I've read these steps operate without any arguments. If anyone has any further insight please let me know, but for now everything seems to be working correctly! Cheers taffers!

  6. #6
    Member
    Registered: Jan 2001
    Location: Formby, NW England
    Well done for finding the cause of the inconsistency.

    Regarding the two abort steps, LGS's 'DarkAI' document explains them (and the others)

    • Become hostile: Changes the "non-hostility" property to "never." There are no arguments.
    • Enable investigate: Changes the "investigation style" property to "Normal" There are no arguments.

  7. #7
    Member
    Registered: Sep 2000
    Location: Lexington, KY
    Quote Originally Posted by R Soul View Post
    Regarding the two abort steps, LGS's 'DarkAI' document explains them (and the others)

    • Become hostile: Changes the "non-hostility" property to "never." There are no arguments.
    • Enable investigate: Changes the "investigation style" property to "Normal" There are no arguments.
    Any idea why those properties would break the AI like that? I'm still not sure why one actor becomes idle and non-combative with either of those.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •