Jump to content
The Dark Mod Forums

AI Cooperation During Searches


Recommended Posts

Looking good. Is the effect of AI being drawn in by calls for help separate from / in addition to the alerts given in the table? Otherwise I reckon "flying arrow or fireball" should rank as a higher alert. I'd find either very alarming indeed!

 

Searching, guarding, and observing AI will ask for help from passersby, just as they do today. Those that respond will be assigned roles in the search, depending on the rules above.

 

I'm not sure why firearrows and flaming balls of smoking plasma are low in the ranking. That decision was made before I joined.

Link to post
Share on other sites
  • Replies 79
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

I'm writing experimental code that I hope will allow AI to cooperate with each other while searching.   Currently, each AI acts independently, and when several get involved in the same search, the res

I'm at the point where the coordinated searches are holding up to some rigorous testing, including numerous game saves and restores. I think I've tested all the different alert situations.   This comi

I wouldn't want them to be too "smart", like the bottleneck example, for gameplay reasons. Players should still be able to game the AI sometimes, and being caught should still be about featuring gamep

Posted Images

I agree about the fireballs...seems a bit odd. Otherwise, it sounds reasonable to me.

 

They will run to and guard those spots

 

I'm wondering how it will look if guards 'mill' for a few seconds, just standing around looking at the rope or dropped weapon, then sprinting off to stand by a door. Perhaps if they mill first, they should walk to the spot instead of running? LIkewise if they're just going to stand around and observe, it might look odd if they run to that spot? Hard to say without seeing it in action.

 

 

Is there any correlation between alert level and which job the AI gets? If there is a loud noise in a room that sends 1 guard to level 3 and two to level 2, is it possible the two level 2 guards could become the active searchers? What happens if the active searchers ramp down faster than the observers or guards (if that's possible)?

 

Also (and I may be running off ahead here) do you have any plans for the barks of the guards and observers? I have a feeling some traditional search barks wouldn't fit guards that weren't actively searching.

Link to post
Share on other sites

I'm wondering how it will look if guards 'mill' for a few seconds, just standing around looking at the rope or dropped weapon, then sprinting off to stand by a door. Perhaps if they mill first, they should walk to the spot instead of running? LIkewise if they're just going to stand around and observe, it might look odd if they run to that spot? Hard to say without seeing it in action.

 

There are a couple variables that can be tweaked:

 

1 - How long milling takes place (or even if it takes place at all)

2 - Running or walking to guard and observation spots

 

These will have different settings depending on how severe the alert is. The problem with walking to a spot when in search mode is that the "search walk" anim might be used, causing the guards and observers to creep along at a slow pace, which doesn't look realistic when they're trying to get somewhere. I'd have to use the normal walking anim when we want AI to walk.

 

Is there any correlation between alert level and which job the AI gets? If there is a loud noise in a room that sends 1 guard to level 3 and two to level 2, is it possible the two level 2 guards could become the active searchers? What happens if the active searchers ramp down faster than the observers or guards (if that's possible)?

 

There is no correlation between alert level and assignment. Since I can't see into the future to determine the total number of AI that will be assigned to the search, I have to make assignments as AI arrive. The importance of the roles is searcher/guard/observer, so that's how the assignments are filled.

 

If the active searchers leave first, guards and observers will remain at their posts, unless we decide that the entire search shuts down when the last active searcher leaves. But we can explain away guards and observers still at their posts as "let me just see if someone pops their head up now that the searchers have left".

 

Also (and I may be running off ahead here) do you have any plans for the barks of the guards and observers? I have a feeling some traditional search barks wouldn't fit guards that weren't actively searching.

 

I've made no plans for guard and observer barks. Everyone involved in the search atm uses the existing repeated search barks. Changing bark sets is fine; we just have to come up with the sets.

 

When barks are heard by other AI (i.e. "help me!"), a message accompanies the bark. I found that there was code for "guard this location" and "guard this entity" messages, both of which could be used in coordinated searches. But I don't see code support for appropriate barks to accompany those messages, nor am I aware of bark sets for them.

Link to post
Share on other sites
I've made no plans for guard and observer barks. Everyone involved in the search atm uses the existing repeated search barks. Changing bark sets is fine; we just have to come up with the sets.

 

 

Probably the existing alert 3 search barks would be appropriate.

 

 

But I don't see code support for appropriate barks to accompany those messages, nor am I aware of bark sets for them.

 

I wasn't aware of that. I could probably make something using the warning barks though--they have phrases like "stay alert" or "keep a sharp eye out" that could fit.

Link to post
Share on other sites

I wasn't aware of that. I could probably make something using the warning barks though--they have phrases like "stay alert" or "keep a sharp eye out" that could fit.

 

That would work. I could have the first or second active searcher bark orders to newcomers at the point where they start to run to their spot. We have appropriate response barks already.

Link to post
Share on other sites

There is no correlation between alert level and assignment. Since I can't see into the future to determine the total number of AI that will be assigned to the search, I have to make assignments as AI arrive. The importance of the roles is searcher/guard/observer, so that's how the assignments are filled.

 

And the roles might need to change when a suprior ("I take over from here") arrives? Some AI might even have preferences in their roles (depending on who else is around).

 

I can imagine a Head Priest standing around and quiping orders, while a lower guard or acolyte stands at his side to protect him.

 

For guards, if the Captain arrives, he would probably lead the search (whatever "leading" means, active search or just barking orders?), while if the Captain is already at the scene, and a lower rank comes along, he would order him around.

 

Or does that take the complexity too far?

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to post
Share on other sites

In my thinking about this, I'm picturing the line between active searching vs milling and going to a look-out would be a direct function of number of guards to search space (ie by how crowded they'd be). So more guards would actively search a big area, and the smaller it got the more guards mill then move. I mean, just connect the crowding factor & desire to search explicitly.

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to post
Share on other sites

I've also started adding an "I'll help you look" vocal to our scripts for when AI join an existing search. I can make a new vocal def for that as well.

 

We have a "snd_assistFriend" bark already with lines like "I'm coming to help!", that sound like they're for AI joining a fight in progress, but I'm not sure they're actually used. I can probably use some of those lines for the older vocal sets.

 

Huh, I also notice we're not using the "return with friend" barks. Some of them might apply here too.

 

Just so I know exactly what to look for, we want barks for the following circumstances?

 

 

Guarding: AI who joined a search and then moved out to guard choke points (these guards just stand, not search, correct?).

 

Observing: AI who are standing on the edge of a search area, watching the search.

 

Giving orders: AI barking to arriving guards to search/guard a specific spot

 

Joining the search: AI arriving to join a search in progress.

Link to post
Share on other sites

I've also started adding an "I'll help you look" vocal to our scripts for when AI join an existing search. I can make a new vocal def for that as well.

 

cool

 

We have a "snd_assistFriend" bark already with lines like "I'm coming to help!", that sound like they're for AI joining a fight in progress, but I'm not sure they're actually used. I can probably use some of those lines for the older vocal sets.

 

Yes, that's used in several cases. For example, when an AI is blinded or hit by an arrow, others that hear the yell will respond with this.

 

Just so I know exactly what to look for, we want barks for the following circumstances?

Guarding: AI who joined a search and then moved out to guard choke points (these guards just stand, not search, correct?).

Observing: AI who are standing on the edge of a search area, watching the search.

Giving orders: AI barking to arriving guards to search/guard a specific spot

Joining the search: AI arriving to join a search in progress.

 

AI who guard at choke points or observe around the perimeter stand still, but randomly turn, watching the action, every 8-12 seconds. No searching themselves. They could switch their barks from the current "searching" barks to something else.

 

Being able to bark orders would be great.

 

Arriving to help: another place where snd_assistFriend could be used.

 

I imagine the bark sequence would be:

 

When arriving AI start milling, they bark: "I can help!" / "What's happened?"

 

When milling ends, one of the active searchers barks: "Guard the door!" (when a door is nearby)/ "Guard the hall!" (when there's an exit portal nearby that's not near a door) / "Keep an eye out!" / "There's an intruder!" / (etc.)

 

If I end up including the "search captain" role, and pay attention to ranking (upthread suggestions), then the captain could take over the role of barking orders. It makes sense to have a noble or priest directing the activity of lowly guards.

Link to post
Share on other sites
AI who guard at choke points or observe around the perimeter stand still, but randomly turn, watching the action, every 8-12 seconds. No searching themselves. They could switch their barks from the current "searching" barks to something else.

 

Probably we'll be able to use the state3search barks, which are basically just "Hmmmm"s. We may also be able to use the new state3search animations I'm working on for these cases, so AI don't just stand idly (assuming they don't have a weapon out, that is).

 

I'm working on adding 4 new vocal defs:

 

"snd_state4SeenNoEvidence_c" -- AI is actively searching for someone with friends ("We'll find you")

"snd_state4SeenEvidence_c" -- AI is actively searching for a known intruder with friends ("We'll kill you")

"snd_giveOrder" -- AI directing other AI during search ("Stay alert", "Be on your guard," etc--we don't have anything specific about guarding specific places) I suspect our "respond to warning" bark would be a suitable response to this.

 

"snd_helpSearch" -- AI who are joining an active search ("I'll help you look," "I'll help you" etc)

Link to post
Share on other sites

Ok, I uploaded the new vocaldefs. Pickings were sparse for the "snd_helpSearch" one, so we don't want to play this one too frequently...most vocal barks only have one or two lines to choose from.

Link to post
Share on other sites

One way, which may still be tedious, is to right-click the sub-folder or file you wish to update and it should only update that file if I recall.

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to post
Share on other sites

A question for you SVN gurus:

 

How do I get this commit (rev 14020) into my branch, which was branched at rev. 14009?

 

I'd rather not have to copy the files over manually.

 

The SVN merge command would be the one you seek:

 

http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.merge.html

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to post
Share on other sites

@Spring:

 

Could you please reconcile the mismatches in the sound definitions for some of the new files?

 

i.e. I see "sound/voices/builders/builder3/give_order01.ogg", but the sound shader is looking for "sound/voices/builders/builder3/tdm_ai_builder3_give_order01.ogg".

 

I don't know how many such mismatches there are.

 

Thanks.

Link to post
Share on other sites

@Spring,

 

Are the "snd_state4Seen*Evidence_c" barks to be used only by guards and observers in a search, or by everyone? (Active searchers comb the area. Guards and observers stand around.)

Link to post
Share on other sites

Just to clarify,

 

"snd_giveOrder" is what the lead active searcher says to an AI when it's time for him to run over to his guard or observation spot.

 

"snd_helpSearch" is the reply.

 

These are separate from the warnings/replies that are initially used to draw new AI into a search.

 

For example, if Bob is searching and John is down the hall, away from the search area:

 

Bob: "Help me search!"

 

John: "Here I come!"

 

John arrives, perhaps mills around a moment.

 

Bob: "Watch for intruders!" ("snd_giveOrder")

 

John (as he runs off to his spot): "Watching for intruders, Boss!" ("snd_helpSearch")

 

 

 

Have I got this right?

Link to post
Share on other sites

@Spring,

 

Are the "snd_state4Seen*Evidence_c" barks to be used only by guards and observers in a search, or by everyone? (Active searchers comb the area. Guards and observers stand around.)

 

These would only be used by active searchers. Guards and observers could use whatever we use for state3 searching.

 

 

Just to clarify,

 

"snd_giveOrder" is what the lead active searcher says to an AI when it's time for him to run over to his guard or observation spot.

 

"snd_helpSearch" is the reply.

 

 

That's correct for snd_giveOrder, but the reply would be whatever we use for "respond to warning". snd_helpSearch is for AI who join a search after the initial stimulus that triggered it is past. So if I alert an AI who starts searching for me, and then another AI walks into the room, he could play the snd_helpSearch as he joins in. Since we don't have a wide variety of those barks, however, a random chance to play the bark might be appropriate.

 

 

Bob: "Help me search!"

 

John: "Here I come!"

 

John arrives, perhaps mills around a moment.

 

Bob: "Watch for intruders!" ("snd_giveOrder")

 

John (as he runs off to his spot): "Watching for intruders, Boss!" ("snd_helpSearch")

 

I don't think we actually have suitable barks for the first two. There aren't any barks asking for help with searches, and no barks for someone who is responding to a request for help (assist_friend is close, but only works when there is a clear intruder--it's generally tailored for combat situations).

Link to post
Share on other sites

There aren't any barks asking for help with searches, and no barks for someone who is responding to a request for help (assist_friend is close, but only works when there is a clear intruder--it's generally tailored for combat situations).

 

This has been in the code for as long as I can remember:

 

The AI that's already searching barks "snd_warn*" as part of his request for help.

 

The AI that's joining the search barks "snd_warn_response" or "snd_assistFriend".

 

Are you saying that this is wrong?

Link to post
Share on other sites

I like the idea of hearing one of the searchers tell the others to stop searching and resume their previous activities just before they stop searching. It would be cool to hear the others agree and continue on their way again. It would add some extra ambiance and realism imo.

 

Not directly related to cooperation but I really liked it in the originals thief that guards sometimes pretend to stop searching and then all of a sudden turn around again and continue searching for a few seconds.

Link to post
Share on other sites

I like the idea of hearing one of the searchers tell the others to stop searching and resume their previous activities just before they stop searching. It would be cool to hear the others agree and continue on their way again. It would add some extra ambiance and realism imo.

 

Not directly related to cooperation but I really liked it in the originals thief that guards sometimes pretend to stop searching and then all of a sudden turn around again and continue searching for a few seconds.

 

Nice ideas.

 

The first would be simple to do, as long as we have the vocals to support it. I'm not sure we do.

 

The second is a bit more difficult, because it would require overlapping what have been to this point two independent states: searching and patrolling. Trying to bend the rules to allow the overlap is prolly a ton of work.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...