#enfusion_ai

1 messages · Page 4 of 1

balmy gorge
#

Some Sassy AI commanding -maybe for A4 https://www.youtube.com/watch?v=gNZ7fGl5CHc

We’re excited to introduce F.A.C.U.L., our AI technology developed by MoreFun Studios .
Since ABI’s early stages, we have integrated AI into the game.
F.A.C.U.L. is the world’s first voice-command FPS AI, using advanced generative AI tech like voice input, large language models, real-time speech synthesis, and environmental recognition. We’ve ...

▶ Play video
queen ermine
#

Voice command AI that's kind of been Arma for a while. I don't know if there's any integration for A4 though. If we keep the traditional command number set up it should be easy enough to do.

balmy gorge
simple spoke
#

thank you for that, its just to stop them from entering a mob. dont have much experience with navmesh or anything so ill have to get learning alot of that was foreign speak to me. prefab might be the best solution, i really dont know much about colliders and navmesh and will have to learn but im guessing the easiest way would be do use areamesh and add a collider to it

simple spoke
#

think i figured out what you meant by changing gamemat and have tried that, im definitely still missing something though as it doesnt seem to work

#

what ive done so far is duplicate VirtualArea.emat and i have changed the surface properties on that by adding these navmesh settings to it. then i replace the material in the MilitaryBaseAreaMeshComponen with the restrictarea.emat

#

i tried regenerating the tile in the navmesh tool but it didnt do anything and ai still enter the area. im hoping im at least on the right path

outer furnace
halcyon bridge
#

sometimes AI struggle with target acquisition, they either can't decide who to shoot or get so invested into shooting someone they ignore bullets hitting them from a closer target behind them

shy lake
halcyon bridge
#

I only noticed because my characters have more health so they survive a few bullets

#

I guess its not a big deal with vanilla because they die before it starts to matter

shy lake
#

I set my A.I. to invincible most of the time.
So yeah i havd seen this pretty often.
Yeah but in general i would like to see A.I. target switching even if not hit directly but threatened by another nearby enemy maybe by projectile hit.
I had A.I. keep focusing on a enemy > 150m away while me dancing and shooting around right behind him.

tardy tide
#

guys, i copied an AI character prefab and also an AI group prefab

#

i edited it but is not listing when i'm in GM

#

how do i register it or something? also, how to set the Name for both, AI Char and Group

tardy tide
#

the goup is showing up, where do i change this name?

#

but the character is missing in the group, maybe because i need to change the name

#

SCR_EditableCharacterComponent

balmy gorge
shy lake
# balmy gorge So im guessing they havent built in an "Imminent threat" type behaviour then? So...

Not sure about A.I. vision while ADS but i guess it will be lower.
A.I. will need to visually see their enemy to switch from detected to identified.
Which is part of the problem.
Same with A.I. moving while prone.
They have big problem's to detect a target while moving in prone which make's some sense but not if the target is right in front of them on a flat surface ( no grass or other stuff to block their los ).
Guess a check with some distance and visibility comparison in WeaponTargetDetector could help to decide and switch to most dangerous enemy.
Well in early day's of Reforger there wasn't even a proper A.I. target manager system.
So yeah time will tell.

balmy gorge
# shy lake Not sure about A.I. vision while ADS but i guess it will be lower. A.I. will nee...

Question since you seem to have a good grasp on most things AI here. Do you remember back in OFP when it was pretty standard to see AI units with their heads cranked from left to right- sometimes hilariously so. This appeared to be the AI constantly scanning for threats without the need to turn the whole body - something we see way to much in later ARMAS

Was the AI actually performing LOS from eyePos when turning its head back then ? I’d like to see a lot more of that again as it’s the more logical and efficient thing to do. Plus it adds excitement should an AI suddenly turn his head if possibly detecting something

halcyon bridge
#

in here they do look around plus have some type of roaming behavior if not in a formation

#

they dont scan horizon tho

shy lake
#

Can't really tell.
I started A.I. modding in Arma 1.
In OFP i was mainly playing and making mission's.
Not sure if there even was a eyePos back then.
OFP was very simplified compared to today's standard's.
Can't remember to have seen anything related to it in any OFP mod ever.
Also A.I. modding and debugging was very limited compared to newer Arma title's.
Edit: eyePos was introduced in Arma 2 v.1.62.
So possible they used it but exposed it to be used by modders much later.

#

@balmy gorge

balmy gorge
balmy gorge
# shy lake Can't really tell. I started A.I. modding in Arma 1. In OFP i was mainly playing...

It’s possible the head turn was purely cosmetic yet had a Placebo effect. Was funny because they had those fishbowl-skewered faces and their head would turn past 90 degrees so if they were looking your way - they stayed locked in for a long time and you would dare to move. I would love to see a working model of that in future releases - we need new animations to enhance and better illustrate the state of the ai

simple spoke
outer furnace
simple spoke
# outer furnace If that's the case something might be broken😭

sorry forgot to update you on it, so it did throw an error:

14:12:45.390 GUI       (W): RichTextWidget: Markup overlapping hierarchy is not supported (push: NULL, pop: br)
14:13:11.017 ENGINE    (F): Crashed```
but looking at again and after trying markup again it must of been something i was doing that caused it as it isnt crashing now.
#

markup still doesnt seem to get it to work and ive had to move on for now so i can just get it added. so in the meantime ive just been building walls and generating navmeshes

#

if you could help me realise what im doing wrong for it to not work i would really appreciate it

shy lake
# balmy gorge It’s possible the head turn was purely cosmetic yet had a *Placebo* effect. Was ...

Yeah OFP A.I. was greate in it's time.
Still have so many memorie's of thouse EPIC ECP/Group Link 2/Action Hud/Mapfact Revive A.I. encounter's. 😅
Was a blast back then.
Fact is most OFP A.I. mod's ( may excluding SLX ) simply made A.I. to move straight toward's enemy position.
Now in Reforger there is so much new A.I. stuff and behavior's it's simply amazing!
Maybe some of them are not used to the fullest yet and need some further tweaking and improvement but the base A.I. system stuff already look's very promising. 👍

halcyon bridge
#

ECP was the only sound mod in Arma I ever liked

shy lake
halcyon bridge
#

Yep I said arma because it's the only one I liked across all arma games

shy lake
balmy gorge
# shy lake Yeah OFP A.I. was greate in it's time. Still have so many memorie's of thouse EP...

Sure ECP I remember -burning men running from tanks etc.. We had FFUR by Thunderbird, WSL I think was the original ACE and Walker and crew had DoD -the first High Command system invented. Solus of course had SLX which was the cremede le creme -like a bag of magic tricks everytime he updated. Ill never forget seeing one of my AI screaming in towntown Paraiso, when i went to see what was happening, 2 Russians were beating him to death with shovels -had to lol at what i was seeing. Anyways -i know you stay on top of the AI here, i burned out years ago (actual coding) but long for something fresh AI/SP wise so im glad to see this total re-vamp attempt

shy lake
balmy gorge
fallen saffron
#

Quick question, can you make an AI pick up a weapon from a nearby corpse or off the ground?

Specifically a civilian

shy lake
fallen saffron
#

Hmm got it, is there any wiki/docs or resources on how to create for instance ai waypoints?

#

Guess I could look at related sceipts

shy lake
#

You could duplicate a waypoint in "Resource Manager" and mess around with it.
Speaking of "normal" editor waypoints.
If you like to have new/additional Game Master waypoints it's a bit more complicated.
Don't think there is any documentation for this specific case.
However this may help at least somewhat:
https://community.bistudio.com/wiki/Arma_Reforger:Data_Modding_Basics#Using_.22Duplicate_to....22_function
https://community.bistudio.com/wiki/Category:Arma_Reforger/Modding/Tutorials/Game_Master

shy lake
#

I think A.I. frag grenade avoidance is broken or not working?
Haven't seen it for a long time.

halcyon bridge
#

I did see it but maybe it was something else

shy lake
#

They run away from nearby explosions.
Maybe it was this.
There is/was a behavior which made them run away early even bevore the frag exploded.
Maybe condition changed or something to make it harder for them to detect a throw'n grenade.
Maybe i'm just wrong.
I will have to test it properly.

urban furnace
#

CMIIW

shy lake
urban furnace
shy lake
#

Well nevermind...
I had behavior debug and movement disabled. 😝
They do move away from frag's.

balmy gorge
#

Hopefully AI will keep good cover longer before deciding to move than Arma3 in which they inexplicably would just leave good cover. I used to think it was their group formation pulling on them but that was disabled when in Danger mode

shy lake
#

Yes they make move decisions based on their threat state.
If highly threatened they can sit in cover all day long.
Also there is a condition to make A.I. move when there is another good cover available only.
You can also choose to make A.I. search for cover with direct los to their target only.
So yeah there are plenty of way's to make A.I. whatever you like it to be.
With some logic and the right conditions you can make them pretty smart actually.

shy lake
balmy gorge
#

Because once the AI decided "Clear" was announced -they would all flock back to perfect formation

shy lake
#

Not sure if there was an offset.
All i know is A.I. needed constant doMove commands or forceSpeed 0 at target position else they would move back.

#

Thank god Reforger does not have this anymore.

balmy gorge
shy lake
#

Yeah it was horrible...

#

Babysit individual A.I. all day long just to have them do some flanking.

balmy gorge
#

One of these days ill need to sit down and learn this new NavMesh system. Im still PTSD'ed by my buddys attempt to create Open NavMesh in Arma3

shy lake
#

There isn't much to learn.
It will scan your map and generate it.
Once that's done you put the file path into the A.I. world manager and that's it.

#

Sure you can look at the NavMesh to see all the cover point's and walkable area's and stuff but that's about it.

balmy gorge
shy lake
#

It's still Arma at it's core.

balmy gorge
urban furnace
#

Navmesh can regenerate in realtime. So its pretty flexible in all case

shy lake
# balmy gorge Have you ever considered making a demo video and/or mission that highlights what...

Stop waiting for others!
Just get FINALLY in and see/test for yourself!
Reforger player base has a lot of console users so you will not see a lot of technical videos from them.
On top there are still only a few A.I. modders in Reforger.
I way already thinking of showcasing some specific A.I. stuff in vanilla and modded but i feel like wasting my time with making videos where i still have so much to do and test with actual A.I. modding.
Maybe whenever the day will come i get bored of modding i may will get into it.
There is a TON of A.I. related stuff better then in RV.
All the different behaviors are really amazing.
For example:
I'm messing with frag grenade and suppressive behavior right now.
If A.I. is throwing a grenade the enemy will be able to run away from the grenade once landed next to him.
A.I. with UGL weapons ( Under-barrel Grenade Launcher ) will use it for suppression.
If exploded next to a enemy without cover he will run in a direction away from the explosion while searching for cover.
If exploded next to a enemy in cover there will be a distance and direction calculation to tell if the cover is good enough to protect the A.I. against the explosion.
If yes he will stay in the cover if not he will run away while searching new better cover away from where the explosion was.
Maybe i will make a short video to showcase those two behaviors.

urban furnace
#

From being on Utility AI is much better IMO

#

Can someone help me define what is what and for? like i dont know weapon is on which category or is it on different one?

shy lake
#

Can you explain the weapon part what exactly you need.
I don't really understand the question.
Those are used to categorize a target?

#

ENEMY = Target was identified as enemy.
UNKNOWN = No info about target.
DETECTED = Detected but not identified yet.
My guesses...

#

There are categories used in TargetCluster where they switch states detected/identified e.t.c.

#

Target detection is depending on visibility exposure and some other stuff from perception.
Check the PerceptionManager and BaseTarget.
There is quite some interesting stuff used for target detection.

urban furnace
#

can it detect weapons?

#

so what i want is, AI search for some drop weapon

#

or weapon on ground

shy lake
#

Oh lol...

#

Not sure how it is handled in Enfusion.
Are there still weaponHolders?
Guess you would need to add dropped weapons to an array and select them from there.
Maybe there is a better way.

#

I would like to know as well.

#

What was the enum for?

urban furnace
#

I was able to make a task script for ai to grab weapon and insert it to Inventory, but the AI seems cant see items on ground except detected by Vicinity Component

shy lake
#

Maybe ask in "Scripting" for the Reforger WeaponHolder.
Or in general how to detect dropped stuff.
I would probably use touched by sphere or something like this but i guesy there should be a better way.

urban furnace
#

Tracesphere?

#

good idea

shy lake
#

Yeah.
Well as said i think there should be a less expensive way to do this but for the start it should do.

balmy gorge
# shy lake Stop waiting for others! Just get FINALLY in and see/test for yourself! Reforger...

Waiting for others? You act like its pure laziness...Ive put my time under the hood for all the Armas and burnt out doing it. Game no longer became fun for me after all that. Im not asking for an obligation from you to do things for me -simply Id like to see what all the new AI features are about in a quick clip. Again thats not directed to you , but also BI. Remember when Leopard made that clip on SuperAI mod -that was neverreleased -but still a great showcase of potential. This version doesnt even have mission saving -so again, not my cup of tea to sit down and 'get to learnin' again. Im not demanding anything from anyone -just thought'd it be a nice gesture, if i was knee deep in AI id surely make a quick video -like i have for all my QOL mini mods in the past

halcyon bridge
#

you could have created at least one and a half behavior trees in the time it took to write that

balmy gorge
#

Back when we used forums -we didnt just chatter.

#

Also @shy lake we got the Grenade call out and run working in A3 with visual indicator. Sounds like the Cover system here tho is better

shy lake
# balmy gorge Waiting for others? You act like its pure laziness...Ive put my time under the h...

I think you've got it wrong.
First i don't know your daily life so i can not call you anything let alone lazy.
I was just trying to motivate you to give it a try.
Sorry if you thought it was meant in a bad way.
You did not ask me for an obligation to do anything for you.
I'm doing thing's because i enjoy doing them and it would be just like you said a nice gesture.
I'm pretty familar with the A.I. any it may would be interesting for some more ppl as well to see A.I. behaviors in depth and how they actually working and what they are doing in specific situations.
I'm watching A.I. doing their stuff all day long and i really enjoy it so yeah why not sharing it.

balmy gorge
# shy lake I think you've got it wrong. First i don't know your daily life so i can not cal...

Ok sorry if i mis-read you. We used to deride people in Editing section at forums if they didnt at least try to do the most simple things for themselves. But its true -im looking for the least bit of inspiration to even install Reforger again. Too bad BI hasnt tried giving us a true SP even basic mission like Ambush -minus the obvious Armor. I think when they add ability save a mission with waypoints etc Ill give her another whirl. Or should I say..IF...lol

shy lake
#

Yeah but i undersrand your Arma story/history on a personal level so do whatever is best for you. 👍

shy lake
#

There you have it @balmy gorge. 😄
Well i hope it's anything of interesting to you...
8 min. video = 3GB = 10H uploading. 😝 ( Another reason why i don't like videos )
The NavMesh video will follow tomorrow.
I'm done with uploading for today.

You owe me to watch the full 8 min. video without skipping a single second! ( I'm just joking you owe me nothing and it's up to you to watch the damn thing or not. 😁 ) ||Still would be nice if you would. 🍻||

https://www.youtube.com/watch?v=dmcVMpkxEsU

Showcasing some Arma Reforger Enfusion A.I. combat behaviors on a more technical state.

Note: A.I. in this video are using a still wip/un-released combat A.I. modification.
Also a lot of features and conditions were changed/tweaked to make A.I. use their close range combat and suppression behavior much more frequently.

A.I. behaviors of this s...

▶ Play video
balmy gorge
# shy lake There you have it <@352885094014386199>. 😄 Well i hope it's anything of intere...

I watched the entire thing. Nice job and thanks man. The decision process seemed very solid on ability to pick best Cover position and constantly evaluate its worth - in a pretty robust way, I like that. Also now that the AI have the ability to fire while moving, either sideways or in retreat, its much more Game in terms of constant threat. The icons for best angle etc are also really nice. Guess the only here Id like to see: Sometimes the AI should turn and run full sprint. Sideways and backwards shooting is kind of like Moving with blind fire, it lays down some nice suppression while trying to get somewhere but the cost of movement should be greatly hampered. Your more likely to trip in that sort of terrain firing backwards (obviously we wont get that) so the penalty should be slower movement. It also appears that only bullets that land in the area count towards Suppression -if you Remember BCombat was one of the first mods to add Bullets to the Air also counting as Suppression -its more expensive but also more realistic. Overall very nice little showcase -i appreciate you taking the time to upload all of that

shy lake
#

Yes they are pretty smart now.
The threat system is the best tool so far.
It is very handy when it come's to A.I. decision making.
For example you can make A.I. to sit in cover for the entire time while suppressed/endangered or whatever reason.
The air suppression is called flyby and is already part of the threat/suppression system.

#

Yes the cover system is greate as well.
It's fully customizable where you can choose the angle/direction/distance and some directives to make it search for cover exactly where you like to.

balmy gorge
#

Gotta give credit - that’s quite leap forward

#

It’s great to see them move with that sorta urgency and deliberate action

shy lake
#

@balmy gorge
Well not quite sure what exactly you wanna see in regard's to the NavMesh.
I made it visible in the diag menu so you can see how it look's like and what it contain's.

https://www.youtube.com/watch?v=rFlC7qjMjNg

Showcase of the Arma Reforger Enfusion navigation mesh used by A.I. for navigation and pathfinding.

Also part of the navigation mesh are cover points, jump and door indicators.

That's about it. :)

▶ Play video
random owl
#

@shy lake actually what is this? 😄

shy lake
# random owl <@839458468317364251> actually what is this? 😄

Hmm it's my new lazy way to enable/disable specific A.I. stuff.
Turned out to be the most handy tool i've made so far.
I always hated when i was testing some very specific A.I. stuff and i always had to wait for the right conditions to match the situation i needed.
So i use this to force specific stuff whenever i need it.
I have already expanded it. 😄

  • Stance = Cycle through stances ( Stand/Crouch/Prone ) Once prone it goes back to stand.
  • Hold Fire = enable/disable hold fire.
  • Threat System = Reset threat system to 0.0 once at 0.0 another press will switch it to 1.0 fully threatened.
  • Movement Controls = disable/enable A.I. movement.

Works very well with group and character. 👍
Saves me so much time every day. blobcloseenjoy

shy lake
#

Good to see the threat system working properly again! Many thx! meowheart

shy lake
balmy gorge
# shy lake <@352885094014386199> Well not quite sure what exactly you wanna see in regard's...

What does the Tan areas represent in that NavMesh? I saw sometimes it lined up with the road other times not as much. Also the varying colors of Green/Blue? Im hoping the AI will stay off the roads when theyre in a firefight - i used to assign Camouflage values to all units on a loop (yes CPU expensive) depending on the amount of vegetation and a penalty of '0' if on the road as "most visible". Unfortunately I couldnt keep AI on a Navmesh leash to best area of concealment but looks like here thats at least possible

shy lake
#

Yeah pretty confusing stuff...
Sadly i'm not very familar with all the navMesh coloring.
All i know and care about are the cover points. 😄
But maybe someone can help and enlighten us?

#

@balmy gorge

balmy gorge
#

Ok. Also i realized that AI would naturally stay off road in favor of nearby Cover ie boulders, but if there isnt any i wonder if they could choose better concealment based off of vegetation ie High Grass > Low Grass. Im also guessing Dynamic cover ie BMP, is out of the question as its Navmesh is already set

shy lake
#

Somehow "ProjectileHit" is not triggered properly?
It has a < 10% chance to get triggered.
I'm pretty sure it's not me this time but i will test some more tomorrow.

shy lake
shy lake
#

Some strange behavior:
m_CombatComp.GetSelectedWeaponType(); of SCR_AICombatMoveLogicBase will return WT_NONE for a very long time even if A.I. has the weapon in hand ADS and shooting.
However the other methode of SCR_AICombatComponent ( m_CombatComp.GetCurrentWeaponType(); ) will return proper weapon type straight away.

shy lake
#

It seem's to work properly with civilian?
It's only bugged for military?

#

Civilian do register every single "ProjectileHit" event.

shy lake
urban furnace
#

That showcase is Vanilla or Yours ?

random owl
random owl
urban furnace
#

Damn thats cool

random owl
urban furnace
#

why is this using Vector instead SCR_EAICombatMoveDirection ?

#

I guess i know what is this for

random owl
random owl
#

From broader point of view
In the end SCR_EAICombatMoveDirection is enum related to combat etc.
AIExtraMoveParams is universal move param

urban furnace
#

Ahhh

#

make sense

shy lake
shy lake
#

There is so much stuff now...
I will need extended lifetime. 😅

sinful palm
#

Is there a way to get AI to follow a "Move" order without first fighting every last man to the death, but not completely ignore enemies as with "Force Move"? Some sort of balance between the need to seek cover and fight, and the need to reach the objective.

wise pebble
#

There is a class with all the common AI base priorities

#

That said, I have no idea to where it would need to adjusted in a real scenario. Let me know if you find out.

sinful palm
urban furnace
#

The prio should be lower than attack_highprio and higher than all normal action

shy lake
shy lake
shy lake
#

Is there a way to find out the exact flanking position destination?
Since it's based on duration instead of distance i would guess it need some calculation like km/h and direction to tell at which position the agent will approximately finish the flank move order?
Or is there a easier/better way?
Also is there a way to have A.I. keep their path?
Very often i see A.I. choosing a very good initial flanking path but after few moves they re-calculate the path to something not that greate sometimes even straight to the enemy.

#

Can be seen in the flanking showcase where 2 A.I. choose to flank hard left but then choose to flank right as well.
So their initial decision was very good.
Did they change their mind because their direction to targed changed during the move process?

simple spoke
# outer furnace If that's the case something might be broken😭

sorry to bug you but i still havent been able to get this to work, ive messed around with everything i could think of so im wondering if to your knowledge this should be working? and if it should would you say its most likely me still missing something or it is actually broken?

shy lake
#

Well look's like all danger event's are bugged.
None of them is triggered properly... 🧐
PLZ 1.3 fixing this!!! 🙏🙏🙏

outer furnace
shy lake
#

Is flank path finding considered expensive compared to normal move?

balmy gorge
#

Arma has always had Flank yet this looks different as they are using cover while flanking

shy lake
# balmy gorge Arma has always had Flank yet this looks different as they are using cover while...

Hmm not sure how good it really was in RV.
During combat they just moved towards enemy till reaching a specific threshold and kept changing their stance.
Here is how it was supposed to be:
https://community.bistudio.com/wiki/AI_Behaviour
Which look's somewhat similar to how it is in Reforger.
Lack of proper A.I. debugging tool's was really a big problem in RV compared to now where you can debug pretty much every tiny bit.

ebon burrow
#

was setting up GM for my map and when i go to move ai squads while in gamemaster i get this error, got mesh all set up correctly from what i can see, anyone had this issue before??

frank crag
random owl
random owl
shy lake
#

@random owl Many thank's. 👍
Appreciate you are taking the time to answer.
Yeah i've spend some good time with the flank movement and it did some really cool stuff. 😉

shy lake
craggy creek
#

Anyone else suffering from AI getting stuck in spawned in game items and it completely tanking the servers FPS up till it crashes?

halcyon bridge
#

Did see something like this recently but not common

craggy creek
#

man its killing us atm with stupid navmesh crashes

#

on a BI made map also

#

Can we get error handling in the AI handler so they dont go spastic if they are stuck, either delete the loop, or delete the AI

#

If you need crash logs I will provide many

halcyon bridge
#

The engine is built to crash instead so you will suffer until this individual bug is fixed

#

if you have crash guid you could post it

craggy creek
#

I have a hundred 😄

#

Any BI Dev want our logs from Wasteland?

#

Ill gladly send them

outer furnace
#

If you could post it here I will try to take a look 🙂

craggy creek
#

i think 2 of them are a bad mod but the rest should be AI related

#

alot of our issues are AI getting stuck in dynamically spawned prefabs that the nav mesh isnt applied to or something so they get stuck trying to walk through structures and they go spastic and crash us

halcyon bridge
#

why are you exposing IP addresses of players of your server in a public discord?

craggy creek
#

Good point I didn't think about that

craggy creek
wise pebble
#

Is it documented anywhere how exactly AI perception (specifically the EyesSensor) works?
There are Angular Size Factor, Angular Velocity Factor and so on, and they have formulas specified, so I understand how these factors are calculated.
But what are they multiplied with, and how does this determine if the detection threshold is reached?

wise pebble
#

Also what's the unit of target size - the volume of the targets bounding box? Its visible 2d area?
I assume velocity and distance are m(/s) and m. I did find the formula a little odd, probably not the way I would do it.

shy lake
wise pebble
shy lake
#

Yes that's right.

#

Sadly there isn't much info available.
Did you already check the diag menu?
There is eye and ear sensor debug.
Will not answer any of your question's but may worth a look.

wise pebble
#

Thanks for the suggestion, but yeah, it's not going to help much with the core question.

#

While I was looking at that, I did notice the eyes sensor debug does not appear to reflect turret usage, the AI is usually looking downwards into the ground while the turret is pointing forward.
I assume the turret adds its own perception somehow?

halcyon bridge
#

I was told in 1.3 it will be better, rn AI only has okay perception when something is in front of the turret's original orientation

#

currently they also cant aim and shoot at moving targets well if at all

shy lake
wise pebble
#

That's not necessarily preventing detection because they still have some vertical FOV, but it's certainly not ideal

wise pebble
halcyon bridge
#

yeah I tried to fix it but they are cursed in turrets

#

even my robots with superhuman perception

random owl
# craggy creek Anyone else suffering from AI getting stuck in spawned in game items and it comp...

ok I investigated Wateland a bit and I think I know what is happening.
One thing are crashes that we will try to resolve on our side.
But that won't fix mod itself. I think @strange trout is author of that. There is essential problem in script how he spawn missions.
They don't call regenerate on navmesh and that cause AI not aware of any structures - bumping into them and tanking server FPS.
Simply adding a call void RequestNavmeshRebuildEntity(IEntity entity) would solve that.
Also the rebuild should be called when deleting the prefab.

halcyon bridge
#

is this called when static entities are spawned automatically?

random owl
#

Nope script must do it - if you mean that somehow in the engine itself.
Because there is no knowledge for general engine code that there is AI so some navmesh is needed.
So scenario framework or editor script needs to invoke it when they are creating stuff.

shy lake
halcyon bridge
#

hmmz

#

oke thank you

craggy creek
#

And Sinewa of course 🙂

urban furnace
thorn moth
#

Hi all, Do you guys have a script to spawn "Ambient Patrol Spawn Point"? I can't use Gramps PvE script because it's about conflict. I also can't directly put groups on the map because I reach the IA limit. The best script would be to spawn on players presence and despawn them when to far and also handle DefendWaypoints/MoveWaypoints... Thx

thorn moth
shy lake
# thorn moth I also don't understand how we are supposed to use the vanilla "Ambient Patrol S...

I did not watch the full video but it look's like he is explaining what you are looking for.
https://www.youtube.com/watch?v=LSGmhkNtcyo

In todays lesson we will be learning about what units to place down and what waypoints to use in certain situations.

VOD Channel........➤ https://www.youtube.com/channel/UCVuawq92LVHsusFfHDAdUBA
Twitch........➤ https://www.twitch.tv/svenmartin
Merch........➤ https://www.etsy.com/shop/TrashHouseDesign
Discord........➤ https://discord.gg/houseoft...

▶ Play video
thorn moth
#

Ambient patrol only spawn on Campaign game mode.

shy lake
shy lake
#

I think "WeaponFired > FlyBy" is triggered twice.
I did some testing with the ThreatFlyBy and noticed some weird result's after a couple shot's.
It's very random but after using a breakpoint it was triggered twice in a row even i did pull the trigger only once.

tough rover
#

Do slave groups exist on a dedicated server?
I'm trying to add an AI to the players slave group and it's barking null when I try to use GetSlave()

#
SCR_AIGroup aiGroup = m_playableManager.GetPlayerGroupByPlayable(respawnData.m_iId);
SCR_AIGroup playabelGroup = aiGroup.GetSlave(); //Returns Null
playabelGroup.AddAIEntityToGroup(entity); //Entity spawns in a non existant group and can't join other groups
#

This works in workbench tools but on the server it cannot find the slave group

shy lake
#

Guess a locallity problem.

#

Player = Local A.I. = Server

tough rover
#

You thinking I'd have to add the player to the group across all clients and server

#

Just replicate it insted of just doing it on the server

#

My only confusion is that it's not even finding the slave group

#

And if I don't find the slave group it just adds the AI to a seperate group thats a duplicate of the other group

shy lake
#

@random owl
Sorry for the ping but i think this is pretty important.
Well i added a counter to WeaponFired which will be increased by 1 ( ++ ) every time WeaponFired was triggered.
Like i said bevore it get's triggered twice even if i only shoot once.
Now if i shoot and i hit the A.I. the counter from WeaponFired triggers even more? Like 5 time's?
I'm the only one shooting.
My theory is "DamageTaken" and "ProjectileHit" are triggering the "WeaponFired" reaction as well.
This would explain why they don't trigger and why "WeaponFired" trigger's like crazy after hitting the A.I. agent?
https://www.youtube.com/watch?v=cBCeOpkbsEk

#

Tested again and it really is like i said!
If i don't shoot close ( within 10m ) to the A.I. the "WeaponFired" is triggered only once.
Once i hit within the "ProjectileHit" range it get increased by 2.
So somehow "DamageTaken" and "ProjectileHit" are linked to/triggered by "WeaponFired".

random owl
shy lake
# random owl Script how you record those counters? Also some changes on your side? We were f...

I use this:

[BaseContainerProps()]
modded class SCR_AIDangerReaction_WeaponFired : SCR_AIDangerReaction
{
    int m_iWeaponFiredCount;
    
    //------------------------------------------------------------------------------------------------
    override bool PerformReaction(notnull SCR_AIUtilityComponent utility, notnull SCR_AIThreatSystem threatSystem, AIDangerEvent dangerEvent, int dangerEventCount)
    {
        bool performReaction = vanilla.PerformReaction(utility, threatSystem, dangerEvent, dangerEventCount);
        
        m_iWeaponFiredCount++;
        
        #ifdef WORKBENCH
        SCR_AIDebugVisualization.VisualizeMessage(utility.m_OwnerEntity, "SCR_AIDangerReaction > WeaponFired" + " > " + m_iWeaponFiredCount, EAIDebugCategory.NONE, 3, Color.White, 10, true);
        #endif
        
        return performReaction;
    }
};

Nope no change's on my side to make it behave like this.
I do not mess with any prefab's here.

#

I just tested pure vanilla.
Only the "WeaponFired" modded i posted and still the same.

#

Only me and 1 A.I. on the map.

#

When i shoot in the sky the counter get increased properly by 1.
However if i shoot very close to the A.I. it get's increased by 2.
If i hit the A.I. it get's increased by 4.

#

You can even use a friendly A.I. to get the result.

#

I mean if you guy's already fixed it internally even better.
I can send you the thing for testing if you like so you don't have to mess with it?

random owl
#

well - it works on my machine 😅

shy lake
#

It's only a soldier thing.

random owl
shy lake
#

Yeah i've got it. 😄

#

So i'm nnot crazy??

#

Right?

random owl
#

like - we had there a bug like this
We just arguing with guys in the room if it's merged or not. If it's not merged than it's still possible you get what you see but I would be in pickle explaning why it doesn't happen to me 😄

#

Ok not fixed in current stable experimental.

#

(so not sure why it doesn't happen also to me but what you observe is legit state of the thing)

#

So fix will be there - not sure if in 1.2.1 version as it's not current priority of the build.

shy lake
#

🙏

shy lake
#

Really sad A.I. has so many problem's moving prone when there are rock cluster's or any other object's.
I had some really cool idea's but A.I. alway's get stuck in object's while moving in prone stance.
Is this improvable or will it alway's be like this?

shy lake
#

Oh another thing i've noticed.
Sniper's or any A.I. without a primary weapon suitable for CQB should switch to their pistol ( if any ) as soon as within CLOSE_RANGE_COMBAT_DISTANCE.
Right now they keep using whatever weapon they have no matter the distance.

balmy gorge
# shy lake Oh another thing i've noticed. Sniper's or any A.I. without a primary weapon sui...

Is there a knownThreatLevel indicator of any kind? Meaning do the AI have a mechanism to decipher (even in simple terms) what is its highest threat level? Example a soldier taking pot shots form 300m+ as compared to a newly detected unit under 25-50m from it? Also does Ai now have knowledge of being indoors ie isInside such as the Audio command from Arma 3 -giving it the knowledge that it should probably switch to Pistol if encumbered by long Gun/HMG etc

halcyon bridge
#

I dont remember what they are, safe > aware > vigilant > threatened? or something

balmy gorge
# halcyon bridge re threat level: yes, there are 4 states, I use it to change eye color on my sci...

Cool effect but that seemed to fire after he was shot. What I was hoping for were pre-emptive type states. Sort of like Mount and Blade, when an archer is firing but horses are approaching theyll pretty rapidly switch to a weapon to help counter the fastly advancing new threat. Once its gone or pointing in a new direction (Cav), they'll quickly redeploy their Bow/Crossbow. That kind of robust decision making is sometimes needed

#

Like in Arma -crew that were mounted on Static Weapons had no ability (unModded) to leave their big Gun to deal with imminent threats

halcyon bridge
#

But no danger beforehand

#

Since a friendly pointing a gun at them is zero danger

balmy gorge
shy lake
# balmy gorge Is there a knownThreatLevel indicator of any kind? Meaning do the AI have a mech...

Well there is a system to handle enemies based on their priority.
It's not perfect but it does it's job most of the time.
Sometime's A.I. keep focusing on a specific enemy and sometime's they can properly switch between enemies.
I did some testing by assigning enemies based on danger reaction's which helped a lot to even make A.I. aware of threat's close range behind them.
Reforger already has a good amount of event handler to mess with.

balmy gorge
# shy lake Well there is a system to handle enemies based on their priority. It's not perfe...

That sounds promising. I mean in reality - having multiple threats Should create confusion and uncertainty -so i dont mind if they seemingly make a stupid mistake that costs them their life- As long as Imminent threat is taken into consideration as a Very High Level threat. Do you know if AI has the equivalent to isInside for Reforger? Meaning in Arma, the AI was exactly the same inside as outside -and only reacted to outside threat if seeing an enemy by happenstance

past verge
#

The reason I ask: Is in Arma 3; we had the ability to change the danger state of the AI via Zeus and allow for them to be set into categories such as: Careless, Aware, Danger and a few others I can't think of off the top of my head.

I wanted to look into a way where I could possibly have a slider in GM to change their state and allow them to be "Careless" for stealth ops and such.

halcyon bridge
shy lake
balmy gorge
# shy lake I would say with A.I. in Reforger you can already do a lot of stuff. They alread...

Never understood why they didnt double down on the isInside capability of Arma 3. Meanining, it was used only to determine how the sound should reverb, but not at all for AI behaviour. It acted the exact same inside as if it were out in an open field. We all had to make up hacky determinators to constantly check if an AI was inside -and the try to change its behaviour but it never turned out in any ways satisfying. hate to say it -but even codemasters version had them check windows + doors as potential threats,. In arma , it was common to walk in a house and see soldiers pointing at walls, somehow tracking something outside but zero awareness of where a threat might be and where it could fire from. This would seriously flesh out Urban combat in a major way

#

Of course -Arma up till Reforger had pre-baked LOD pathways which often made little sense. I think there was a huge disconnect between Model makers (ie Tanoa) and AI pathfinding. Now with Open mesh and apparently "special action modifiers" -perhaps its now possible and if so, i really hope the Devs implement it not leaving it up to modders which is always hackier

shy lake
shy lake
#

Would it be possible to have a in param ( best case array ) for:
m_CoverMgr.GetBestCover("Soldiers", m_PathfindingComp, queryProps, coverPos, coverTallestPos, tilex, tiley, coverId);
To exclude specific cover from the search?
The way i use it A.I. will often switch between the 2 very same cover position's back and forth.
If i could remove previous cover position(s) from the search it would help a lot to avoid this behavior.
In general getting bit more info back from it would be greate.
Like how many cover position's were found and stuff like this so we could use it to create additinal condition's based on the result.

halcyon bridge
#

which behavior tree handles movement to waypoint once a waypoint has been created?

#

like where does it tell the AI agent that it should move to the waypoint once it's assigned

#

I want to implement functionality of the move waypoint for an AI agent/soldier that does not use any vanilla behavior trees by default

wise pebble
#

It runs the associated AI task, at least

#

MoveToLocation is run by ActivityMove, after the planning step

halcyon bridge
#

I can see this debug print

SCRIPT       : Agent <0x000001B115AE6920> SCR_AIGroup activity SCR_AIMoveActivity<0x000001B172C724F0> moving to <0.000000, 0.000000, 0.000000>
#

but not sure how to get the details of this in bt, I use Get Move Activity Parameters and it fails

#

Task Get Waypoint also fails

#

I guess it might be because I am running the bt on agent and not group, but I want to get waypoint/task info on agent

shy lake
halcyon bridge
#

So they only move in formation? Usually

#

All I want is if there is no target then check if theres waypoint and go to it if there is

halcyon bridge
#

hmm

#

ok I got the WP to work but now I need to make it so it doesnt block target detection

simple saffron
#

is there anyone that know a good tutorial on how to use the AI built in to the game? im unsure where to find guides on this AI waypoint stuff

halcyon bridge
halcyon bridge
#

ok, I can redirect them to the target now, but I have two problems:

  1. they dont recognize when the waypoint is deleted or moved, they keep moving to old position
  2. they always walk toward it even though I set character speed to run

Edit: fixed, now onto sharing targets between agents and maybe even groups...

halcyon bridge
#

how does the game determine which weapon can be dropped when going unconscious?

#

it seems rifle remains on the AI character but pistol gets dropped or something

#

nevermind pistol gets holstered, hm

#

but my character does not unholster it

random owl
halcyon bridge
#

I noticed vanilla AI unholsters a pistol when waking up from being unconscious, where is this functionality handled? my custom non-vanilla-BT character does not seem to do it

halcyon bridge
#

also tips for improving performance of zombie AI characters? components to disable?

#

also x2 which behavior controls throwing grenades?

shy lake
# halcyon bridge also x2 which behavior controls throwing grenades?

Attack_Throwable.bt does.
But it is using some condition's from SCR_AICombatComponent and SCR_AIGroupInfoComponent.
Also the "SCR_AIDecoBallisticPath" node from "Attack_Throwable.bt" is very picky.
I had to force it to true to make A.I. use grenade's more often kind of making them throw them point blank.

halcyon bridge
#

should this execute when InVariable is null?

shy lake
shy lake
halcyon bridge
#

right, so I have Negative Condition

shy lake
#

Oh yes true.

halcyon bridge
#

but if I disable it, it executes when my variable is both set and null

#

if I enable Negative Condition it never executes

#

even though print debug says null

shy lake
#

You have force result success?

#

It will alway's return true.

halcyon bridge
#

it doesnt execute the child

#

this executes the child when variable is null

#

how can I run something if variable is null then?

shy lake
#

Negative + IsAssigned?

#

Just don't do the force success.

halcyon bridge
#

I already said 2 times it doesnt work

#

is this a bug?

#

I get node 29 printing when aiWaypoint is null, and negative condition is OFF

shy lake
#

You can test equal == null + negative?

halcyon bridge
#

liek dis?

shy lake
#

yes and negative

#

so if not null

halcyon bridge
#

I want node 29 to print when aiWaypoint is null

shy lake
#

So no negative then

#

Just try equal null

halcyon bridge
shy lake
#

yes

halcyon bridge
#

doesnt work

#

node 29 never prints

shy lake
#

Haven't messed with .bts for a while....

halcyon bridge
#

do I have to create my own scripted node for null comparison?

shy lake
#

You could use a selector

#

if IsAssigned else

halcyon bridge
#
class Bacon_622120A5448725E3_IsVariableSet : DecoratorScripted
{
    private static const string PORT_IN_VARIABLE = "InVariable";

    override bool TestFunction(AIAgent owner) {
        Managed testVariable;
        
        GetVariableIn(PORT_IN_VARIABLE, testVariable);
        
        if (testVariable) 
            return true;
            
        return false;
    }
    
    protected override bool VisibleInPalette() { return true; }
    
    protected static ref TStringArray s_aVarsIn = {    PORT_IN_VARIABLE };
    protected override TStringArray GetVariablesIn() { return s_aVarsIn; }
}

this works

shy lake
#

Good. 😉👍

#

Yeah sorry i'm totally out of shape with bts....

halcyon bridge
#

but now I have to go over the bt and replace all those test variable decorators with my own in case something else doesnt work that i dont know about...

shy lake
#

You modding a vanilla bt?

#

I think to have "IsAssigned" return false you would need to use the "Set Variable" and check "Clear Variable".
So it does not exist anymore.

halcyon bridge
#

no its not a vanilla bt

halcyon bridge
#

trying to get pre-1.2 bts to work

shy lake
#

Why?

halcyon bridge
#

quality mod

shy lake
#

🤖

halcyon bridge
#

trying to bring it back

shy lake
#

The Ravage ?

halcyon bridge
#

yep

shy lake
#

Huh.
Bt's are a pain to mod...
They change and you will have to re-do and check them all the time.
Well maybe not for Zombie's.
But still.

halcyon bridge
#

depends how many features i add

shy lake
#

I don't mod any bt anymore.
I try to do everything scripted.

halcyon bridge
#

my next step is to figure out how to add grenade throwing

shy lake
#

But yeah for this kind of stuff there is no way around...

halcyon bridge
#

and optimize some stuff for performance, there are probably reactions in the ai agent that are not necessary

#

do you know what controls equipping/unholstering weapon? my zombies are not equipping weapon when waking up

shy lake
#

You have become a zombie as well?
Wow horde's are looking pretty damn good so far! 👍

halcyon bridge
#

the mod has very solid base for perception and targeting which is 80% of the zombie behavior

#

I would like to add some features like groups communicating potential targets between each other, but that comes later

shy lake
#

Yes i see.
Good stuff even tho i'm really not a zombie guy.

halcyon bridge
#

its nice to spice things up a bit sometimes

#

some kind of ranged enemy would be dope

shy lake
#

Yes it's pretty exciting to see what is possible and how you are able to change all this stuff for a totally different result.

halcyon bridge
#

pressing ctrl+c in behavior editor has a 20% chance of crashing whole workbench and reverting my most recent changes, interesting software design paradigm

shy lake
#

Yeah bt editor is pretty much the only tool still crashing.
Esp. as you already discovered when copy>past stuff.

halcyon bridge
#

nah they all crash, even copy in config editor crashes

#

literal minefield, I'm surprised they were able to make this game with those tools

shy lake
#

Well i don't use many so chance's are lower. 😅
World and Script are pretty much the only editor's i use and so far i have not seen them crash once.
But yeah bt editor is a pain since day 1.

#

But i have to say there were even worse day's where it crashed randomly every 5 min. or so.

#

I'm not sure if they are using the exact same tool's we use. Do they?

halcyon bridge
#
PATHFINDING(E): Incorect tile position calculated.
RESOURCES (E): Failed to load ''

When this happens it seems my characters move to some kind of 0,0,0 position or whatever, any way to work around this?

#

they just leave the area of operations lol

urban furnace
#

the navmesh tiles are not generated?

halcyon bridge
#

On everon? Anyway I think I figured it out

halcyon bridge
#

is there a way I can simulate a danger event like projectile hit or weapon fired from script with some arbitrary position?

halcyon bridge
#

my use case with a zombie horde would be to "pass through" information about a potential danger through agents closer to the one that detected it, regardless of group

halcyon bridge
#

is there a movement component for AI that works other than the character one? for a simple entity

#

pawn movement component no worky

halcyon bridge
#

how do I tell the Move task that it is completed?

#

using my own movement system...

halcyon bridge
#

OnPathSet isnt called when my entity reaches the destination, which makes me think I need to tell the BT that the movement is successful somehow

halcyon bridge
#

it sometimes works but sometimes doesnt

#

of course there is no log why the movement/pathfinding doesnt start

#

oh I think this is Simple Steering

#

but I dont see how to get notified that the agent wants to move with simple steering?

#

I can get notified of a path being made with OnPathSet but it doesnt trigger for simple steering of course

#

added a controller component to the entity and instant crash on play now 4e7dbe48-1b26-40f9-881f-7fc5f532c5e4

#

of course logs do not tell me why it crash

#

now I added a perception component to the entity and am getting instant crash when pressing play c95d78a8-a720-435c-97be-bcc54153d5b9 as per usual logs do not tell me anything

#

very discouraging to have the software crash with no logs, I just want to make mods

main musk
#

Anyone use DCO mod for reforger or any other ai mod available?

thorn moth
main musk
#

@tranquil zodiac this is done by the guy who made tcl?

main musk
#

@tranquil zodiac 👍

halcyon bridge
warped tangle
#

Hi, does anyone know why the AI moves away from bases on modded maps (non-Arland/Everon)? They walk to a corner and don't defend the bases.

halcyon bridge
#

maybe navmesh is not properly regenerated

#

or something

halcyon bridge
#

any idea how to produce a weapon fired danger event with any position from script? like AddOrUpdateGunshot(shooter, posWorld, timestamp, endangering); but without specifying a specific group or agent, just put this event in the world as if weapon was fired somewhere

halcyon bridge
#

I think I can use AIWorld.RequestBroadcastDangerEvent but I don't know how to use it

#

I tried like this

        AIDangerEvent dangerEvent = new AIDangerEvent();
        dangerEvent.SetVictim(this);
        dangerEvent.SetObject(target);
        dangerEvent.SetDangerType(EAIDangerEventType.Danger_WeaponFire);
        
        GetGame().GetAIWorld().RequestBroadcastDangerEvent(dangerEvent);

But it doesn't seem like any of the AI nearby get concerned about the event (even vanilla AI)

halcyon bridge
#

what is required for a perception component on an entity to not crash the game instantly with zero logs?

halcyon bridge
#

idk how to connect multiple nearby agents or groups together efficiently

shy lake
#

What kind of connect exactly?
Share info or join group?

halcyon bridge
shy lake
#

So you like to trigger the WeaponFired reaction by script/yourself without anyone shooting a weapon?
Do i get this right?

halcyon bridge
#

yep

#

also I inherited _ProjectileHit, added PrintFormat to PerformReaction and I get nothing

#

do I need to trigger processing of such reaction somewhere?

#

I modded vanilla ProjectileHit reaction and it also doesnt seem to print anything

#

nvm it triggers on arland not on mptest

shy lake
#

Are you using stable?
Danger reaction's are very broken in experimental rn.

halcyon bridge
#

I'm using main

shy lake
#

So you've got it working on Arland?

halcyon bridge
#

yes

halcyon bridge
#

I wish pressing ctrl + c didnt randomly crash workbench

halcyon bridge
#

y'all need to make a decorator that has two ports to use as if/else

shy lake
#

@halcyon bridge
Well guess you have to set the position as well.
Without it will not work.
It will give an error in WeaponFired but at least it get's triggered.

AIDangerEvent dangerEvent = new AIDangerEvent();
dangerEvent.SetDangerType(SCR_EAIDangerEventType.Danger_WeaponFire);
dangerEvent.SetPosition(GetOwner().GetOrigin());
GetGame().GetAIWorld().RequestBroadcastDangerEvent(dangerEvent);
halcyon bridge
#

did you test it?

#

very cool

shy lake
#

Yes it triggers WeaponFired.

halcyon bridge
#

coool

shy lake
#

There is a vanilla methode using it not sure if it's already in stable but it is in experimental:

//------------------------------------------------------------------------------------------------
//! Create a danger event for AI to clear the area where the composition is about to spawn.
protected void CreateUnsafeAreaEvent()
{
    vector boundMin, boundMax;
    GetOwner().GetWorldBounds(boundMin, boundMax);
    float previewSize = vector.DistanceXZ(boundMin, boundMax) * 1.25;
        
    SCR_AIDangerEvent_UnsafeArea unsafeAreaEvent = new SCR_AIDangerEvent_UnsafeArea();
    unsafeAreaEvent.SetDangerType(SCR_EAIDangerEventType.Danger_UnsafeArea);
    unsafeAreaEvent.SetPosition(GetOwner().GetOrigin());
    unsafeAreaEvent.SetRadius(previewSize);
    GetGame().GetAIWorld().RequestBroadcastDangerEvent(unsafeAreaEvent);    
}
brittle hearth
#

its new for experimental to move the AI away from stuff is being built in conflict so they dont get stuck in the structures iirc

shy lake
#

Yes that's what i thought. 😉

halcyon bridge
shy lake
halcyon bridge
#

it seems to work for the same reason AI investigates any gunshot

#

so if I create the event at the foot of a zombie instead of where the target is then it pulls in other agents in the vicinity

shy lake
#

Yes it's a pretty good solution for your specific case.

halcyon bridge
#

now I need to measure impact on performance

shy lake
#

Sometime's i have a hard time following you and all the stuff you are doing... meowsweats

halcyon bridge
#

lol sometimes when I press ctrl+s it undos my most recent change

halcyon bridge
halcyon bridge
#

is there a decorator that does something when a variable changes?

#

I want to issue a move order and abort it if something changes

shy lake
shy lake
#

It's the test decorator.
It has was changed condition iirc.

halcyon bridge
#

Is there a way to make the pathfinding not send them all in a single file over a distance?

#

Without a huge performance cost that is

#

Maybe 3 files not one

random owl
halcyon bridge
#

I do want perception but I want a very minimal entity

halcyon bridge
#

thankies

random owl
#

If you setup value differently for each zomboid they will tend to spread around with same target.

random owl
halcyon bridge
#

awesome

#

I can delay this to when exp goes to main then!

halcyon bridge
random owl
#

nothing special

#

We profile them same way as rest of the game. So no dedicated tool. And I don't think it would help if there would be one as not all parts of processing of danger events would be in BTs

halcyon bridge
#

Well i dont have any profiler haha

halcyon bridge
#

In general I need tips on optimizing my characters/ai/etc to improve performance as much as possible

halcyon bridge
#

having some indication how often and how long a bt runs would be nice in terms of profiling

#

like there is for scripts in the diag menu

fiery steppe
#

Is there any way we can have the a.i. able to rearm, repair and refuel again? At least refuel and rearm seem important. They used to be able to do it 23 years ago 🥲 .

supple jacinth
random owl
fiery steppe
#

The bacon needs to spawn many because he is making zombies,

halcyon bridge
#

I think when I have 200 zombies any small bit helps

random owl
halcyon bridge
#

but I am at a point where AI is not the bottleneck anymore and maybe need to look at other things

#

rendering is probably a bigger deal now than AI especially clientside in multiplayer but I can't make them invisible 😄

fiery steppe
#

I would avoid the "horde" concept and use less, but more dangerous zombies.

#

But I would still like the know if rearm and refuel could be added back into the game.

halcyon bridge
#

did you know, that in your own mods you can do whatever you want?

fiery steppe
#

1: Fuel low! 2: Move to that, GAS STATION, 10 o'clock! ofp

halcyon bridge
#

what are those flags

halcyon bridge
#

creating my own formation on my own entity and returning it when group is spawning entities is instant crash

#

7f2bf17f-8f6b-4e16-a5ba-78c8e78bfff4

#

it crashes here seems like

vocal path
#

Navmesh Rebuilding not working... What do i wrong?
1: I open Eden Coop base Navmesh
2: I Fly to a tile i like to update and click on "Rebuild Tile" I now see that the tile is updated
3: if im done with all tiles (all updated marked) i click on "Save Marked"
4: I add the Saved file as Override in the AIWorld.

5: It did not saved the rebuild... if i open the generated Navmesh, all tiles are same then normal Navmesh.

halcyon bridge
halcyon bridge
#

my non-character agent's pathfinding makes it go through (closed) doors

halcyon bridge
#

how can I improve pathfinding of human AI agents through places like doors? sometimes they try to get in for 0.5s and then run away lol

#

assuming I even can, if it's not solely a navmesh problem

#

like even when the path is not obstructed by anything

#

or maybe it was obstructed by ragdolls at the doors

shy lake
halcyon bridge
#

the door is open but they sometimes dont walk through

shy lake
#

A.I. alway's had problem's with door's.
Not sure how good they are now but they may still have problem's with it.

urban furnace
#

it is with the navmesh link i suppose

#

its always happen with door

balmy gorge
halcyon bridge
#

they've been investigating opened doors for as long as I remember

balmy gorge
halcyon bridge
#

yep, reforger

#

I dont know the specifics though

#

I think they dont know that it was opened by an enemy

shy lake
balmy gorge
#

Basically id run some really expensive loops for a sh*t ton of changing states to make the AI more robust -Fun, but come with a cost of course. my philosophy is to make the AI as robust as possible (quick react type decisions/reactions) on smaller scale, but as more Units come into play, start to lighten them up

fiery steppe
#

Also, can anything remotely good be done with this a.i.? It feels like there's a bunch of scripts overriding the "core" a.i. code. They struggle to walk in formation and often shoot the ground in front of them notlikemeow .

urban furnace
shy lake
#

Yes something like this.

halcyon bridge
#

on dedicated server my AI agents pause often for a split second when running to a destination, I can never reproduce this in WB

sinful palm
#

How do I get AI to shoot while moving? I want soldiers to follow player or vehicle and shoot at enemies while moving, instead of stopping to return fire.

balmy gorge
halcyon bridge
#

There is a combat move behavior so I guess one hacky way is to disable all the other behaviors that have anything to do with firing

shy lake
shy lake
shy lake
balmy gorge
# shy lake You can choose if they should aim at the target while moving or not. If they spr...

Right, aim-but can they fire whilst just moving not sprinting? Such as Leopards Super AI video for Arma 3 as seen at 1:25 https://www.youtube.com/watch?v=bXmke6nnXDs

Super AI is a new AI mod which, unlike other AI mods, attempts to rebuild the AI from the scratch.

The objective is to make AI easier to command, more reliable during battle (especially CQB), and smart.

Forum topic:
https://forums.bohemia.net/forums/topic/224834-all-in-one-single-player-project/

P.S: My apologies for speaking so quietly durin...

▶ Play video
#

Really thats critical for a modern day shooter. The fire should be less accurate but an inability to fire completely whlist moving would be bad news for sure

balmy gorge
halcyon bridge
#

How would you fire a gun and sprint at the same time

balmy gorge
balmy gorge
shy lake
halcyon bridge
#

I guess pathfinding component doesnt factor doors

#

and some other thing handles it

tranquil zodiac
balmy gorge
snow island
#

Hey, is there a way to prohibit the AI ​​from getting out of the vehicle? as soon as they get stuck

shy lake
balmy gorge
shy lake
# balmy gorge Im glad your optimistic and know your AI background and trust it -but i dont hon...

Belive it or not but this is pretty much exactly what i was doing with A.I. for the last couple week's.
I also had them to switch cover direction based on multi directional enemie.
So they would alway's re-adjust their cover position/direction based on their most threatening enemy.
Sadly current build is breaking A.I. danger reaction's which are essential for it to work.
I think i've made a video of it in an older build.
If i can find it i will show you.

balmy gorge
balmy gorge
#

If you get even close to that level - post the mission and I’ll send you all the monies

random owl
# halcyon bridge I guess pathfinding component doesnt factor doors

not sure how you think that.
navlinks are baked into navmesh
pathfinding component solves "where to go"
and you can use it to prevent certain flags (which are used for navlinks, so you can prevent using them by flag)
handeling of navlink itself e.g. jumping over or opening doors is done in movement component

halcyon bridge
#

I put pathfinding component on an entity that isnt a character and it creates paths through doors, is it the movement component's responsibility to block in front of doors?

#

because the path it creates goes through doors

random owl
#

use ignore flags properly and you should be ok

#

I think you would like to also prevent swimming maybe?

halcyon bridge
#

yeah no path goes through doors with those flags

#

this is normally fine as character can open it but my entity cant so it isnt blocked and phases through, as it doesnt know theres a door there

modern mulch
#

I’m wondering if anybody here knows off hand how requesting the health status of a character via the prompt is implemented, or where to look for the related strings

wise pebble
#

A few months ago, I made a scripted "Calculator" AI Task for doing math within behavior trees, I thought it would be useful.
For example, it could be used to easily add two outputs together before using them as an input elsewhere, without having to make a dedicated script for that. It supports 23 operators.
I never ended up needing it, but if anyone does, here's the script: https://pastebin.com/XUaQf8Kr

shy lake
#

Howdy @random owl.
Sorry but i have a question i'm unable to solve by my own.
Sometime's when A.I. is moving to some very specific cover ( Rock's ) and right at the moment they reach the cover position the "Move" node from CombatMove return's fail?
It's really strange.
They don't get stuck or anything they are at the cover position 100% still it fail's the move.
It's only some very specific cover position's maybe < 5 - 10% chance.
Is something like this know'n?

#

I was lucky ( unlucky ) to pick a spot for testing where this is happening at 3 cover position's.
Most other cover's are working perfectly fine... blobdoggoshruggoogly

random owl
#

Is it in all stances or just crouch?

shy lake
#

Crouch i guess

#

The A.I. i tested did alway's move crouched yeah.

#

But he never lost los.

#

So he was using attack alk the time.

#

It's like there is some specific condition in the move node to fail it.

random owl
#

In deed that can be bugged. Problem is to get it fixed on our side is very problematic.
I think you can try to decrease precision which could resolve that issue but would be ggod to set it bigger only for crouched ones.

shy lake
#

Oh nice. 👍
Good to know it's a already know'n problem and thank's for the suggestion i will try and see if it ger's better.
So if i use Stand instead of Crouch for movement it should be fixed/working? Right?

#

Yeah i will test.
Many thank's. 👍

random owl
# shy lake Oh nice. 👍 Good to know it's a already know'n problem and thank's for the sugge...

In a way that movement code in general is sometimes buggy but those are relay low priority bugs as it's difficult to detect them or observe them in the game. So no plans to resolve them in near future updates as cost owuld be high and benefit minor. Crouch has problems cause some character stuff but I wouldn't think using Stand all the time should be way to go 😅
I'm not sure what you are doing but maybe simple suppress of that move fail would be better in many cases.

shy lake
# random owl In a way that movement code in general is sometimes buggy but those are relay lo...

Agree it really is happening very very rarely and with some very specific cover IDs only.
I have found a very good spot on Arland where i can tell the exact cover IDs where it ALWAY's happen's just in case you will investigate at some point in time and need a place where you can tell for sure it will happen.
Well alway's using Stand would be pretty sad but now that i know i will test to see what work's best.
It's not too bad but if you expect A.I. to stay at cover and they will move away from it for no reason it's like... blobdoggoshruggoogly
Now i know which is good and i can work with it. 😉

#

@random owl
Well Stand doesn't fix it and bigger PrecisionXZ doesn't fix it even both toghetter doesn't.
So i will have to use force success in this case.

random owl
shy lake
#

Yeah no biggy.
I really had to search for it to even get aware of it.
Yes maybe i will do additional condition check in CombatMove .bt so once agent distance to cover <= fPrecisionXY force success.

shy lake
#

This is working pretty good.

#

Good to know you guy's are already aware of most of the problem's even if very rare or/and minor. 👍

vocal path
#

@random owl - How can i prevent an AI Unit to engage target or stay in its waypoint range? I have a SlotKill Task Running and the AI Unit to kill have a DefentWaypoint with 15m range. But everytime the shooting begins, hes coming and trying to attack us without any cover.

random owl
vocal path
random owl
vocal path
random owl
# vocal path i put a screen in the feedback. Navmesh is rebuild with AiWorld

Ok so unfortunately there is nothing what can be done on our side. It's problem of navmesh generation itself and how precise navmesh params are setup. It's some custom mod doors - if you can make them wider they will work correctly. If you tweak navmesh params you can make them work also. (e.g. lower cell size a bit could help)

vocal path
#

You can also see this in already placed Buildings on Arland and Eden

random owl
# vocal path This are original Doors.. not modded

yea understood. It's about thigs around also... it's simply "rounding error"/generation imprecission itself. We have params by default setup so such things doesn't happen usually... but so low it saves memorry as much as possible.

vocal path
#

There are no parameters i can tweak in "RequestNavmeshRebuildAreas"

random owl
#

Yea it needs to be tweaked in navmesh setup.
Or try to re/move the green table. I think it could add necessary small bit of navmesh which would result in things working correctly.

vocal path
#

And what can i do on the Preset Buildings in the World? Alot of time the AI get stuck inside a building

#

It whould be good if we can set the Cellsize differently on the Navmeshes/Tiles we need to rebuild

vocal path
random owl
random owl
vocal path
crimson wadi
#

When I put down group_US_ the group type I dont see the actual characters and I can not get that group to function on a way point when I load into the game. When I load a different scenario I can get it to work, but not one im building from ground up.

random owl
# vocal path Its Eden and the Navmesh will be verry big

Hello, I saw your video in the feedback ticket. So I get vanilla steam version of experimental and tried that there.
Everything is fine there.
So only conclusion I can make is that you have turned on maybe some mod unintentionally? or some modification to level e.g. in AIWorld?
Somehow it seems on your video navmesh is re-generated with wrong params. (every time when you open door the tile is regenerated as you can see on my video). Or in steam you can try "Verify integrity of game files" if by any chanes something is corrupted.

vocal path
random owl
#

They determine roughness of navmesh.

#

Also why do you use combatOps .nvm ? I tough you have GM Eden map.

vocal path
#

What is the different on those?

random owl
#

nope those are for conflict - they have roadblocks and some stuff more than regular GM which is "plain"

vocal path
#

k, i will switch to GM Navmesh

#

But settings are fine?

random owl
vocal path
#

i switched to GM Nachmesh, but same stuff happend

(W): Cannot snap NavLink: NavmeshJumpLink : 917094. Reason: Cannot snap begin: 5107.803223,10.932899,3911.780762|Cannot snap end: 5108.251465,10.932900,3908.814453|AABB 5111.099609 0.000000 3887.100098; 5136.900391 5001.799805 3912.899902 | || https://enfusionengine.com/api/redirect?to=enfusion://WorldEditor/$REAPER_JustInTime:;5107.803223,10.932899,3911.780762;0.000000,0.000000,0.000000
PATHFINDING(W): Invalid navlink: enfusion://WorldEditor/$REAPER_JustInTime:;5105.061035,11.208359,3909.848877;-0.149553,-0.000001,0.988754;917094
AI        (W): Cannot snap NavLink: NavmeshJumpLink : 917095. Reason: Cannot snap end: 5116.138672,10.312241,3910.007568|AABB 5111.099609 0.000000 3887.100098; 5136.900391 5001.799805 3912.899902 | || https://enfusionengine.com/api/redirect?to=enfusion://WorldEditor/$REAPER_JustInTime:;5115.690430,10.312239,3912.973877;0.000000,0.000000,0.000000
PATHFINDING(W): Invalid navlink: enfusion://WorldEditor/$REAPER_JustInTime:;5112.948242,10.473526,3911.041992;-0.149553,-0.000001,0.988754;917095
random owl
#

Ok I understand - base AIWorld have those and probably we will set it to more details.
But individual setings like _Eden have them already all right. So set them the same and you will be fine.
(but I'm not sure if _Eden has some diferences so I would rather used that one)
Also if you have "plain" Eden I would suggest using {AD5F99CD7C59D5E0}worlds/GameMaster/Navmeshes/GM_Eden.nmn instead of combat ops navmes which is generated with additional stuff placed in the scenario.

random owl
vocal path
#

New settings working fine!

#

Thanks a lot. Why these are not set in the regular AiWorld?

fiery steppe
#

Oh it would be nice to have this information in the biki. So people know what to do when setting up their game modes.

random owl
#

You know - Arland and Everon has deiferent settings. We had plenty of iteration what it should be and apparently we were changing just target prefabs and not the base one as it isn't used usually.

outer furnace
random owl
fiery steppe
random owl
fiery steppe
random owl
vocal path
fiery steppe
balmy gorge
zinc owl
#

can u set AI perception thru missionheader?

hard hatch
#

Hey there, I've got a question: has there been much talk about the AI's affinity for roads when on foot?

I set up a scenario to test out the bounding abilities of groups, and it's pretty dang good. Pairs of troops will take turns bounding and providing covering fire, which makes them pretty adept at going on an assault. However...

I noticed that sometimes, the AI will occasionally choose to glue themselves to a road, with every unit forming a nice line on them and forgoing any real tactical movement. I've got three squads that are supposed to move over an open field, but every once in a while, they'll run out to a road and stick to using only that to reach their S&D waypoint. Is there any known reason for this behavior?

fiery steppe
hard hatch
craggy creek
#

THis one animation related also ? Crash GUID ea2d3c14-e3c7-4737-8cf0-10c781da865f

shy lake
hard hatch
shy lake
random owl
#

You have there different areas and different cost for them. Lower the cost - more favorable in pathfinding the navmesh polygon is. Now offroad is 3.0 so you can directly set DirtRoad and Asfalt to the same.

hard hatch
# random owl You have there different areas and different cost for them. Lower the cost - mor...

Gotcha gotcha, thanks for sending that screenshot. I'll have to see if I can get some video to help show what I'm talking about, it's a funny phenomenon.

If I understand this navmesh cost right, it doesn't change depending on the combat mode of the group? It makes sense to me that in a relaxed state, they'd take the cheapest pathway which would be the dirt road in this case. It's just strange to think they'd try to follow the roadway around to their S&D waypoint even when under fire. I'd have to do more testing to get actual data, but from what I was noticing, taking the roads completely borks their formation and bounding abilities.

random owl
hard hatch
balmy gorge
hard hatch
# balmy gorge Yeah AI should not take roadways when entering any sort of combat zone. In Arma ...

Agreed, it's a definite area of improvement for AI, especially for what A4 will need. Since there's some form of road near just about any POI, this pathing can really mess with AI units all over Everon. I've noticed that the road problem can frequently cause squads to split and get lost from one another- half the units will advance on the road, while the other half gets separated and decide to just hang out at their position.

I was happy to see camouflage calculations made it into Reforger, at least. I haven't dug into it much to see just how detailed it is, but it's good to know there's something to build on.

balmy gorge
#

Oh that is good to hear - the CamoCoEff -making it thru. Honestly already have the tech implemented to know if Unit is inside as we can see by the Audio distortions indicating where a unit is in relation to building. Probably that happns after a "Fired" type event handler but as for perception that requires more of a loop to keep tabs on a units location and that can be a a little more expensive -tho i used to use a running loop updating every few seconds checking all Units (up to maybe 60-80) at what kind of Vegetation level, Shadow level , Inside level, OnRoad with a little icon displaying these and it really didnt kill my FPS all that much in Arma 3. Obviously MP is a a whole new bowl of wax. Hopefully they find ways at engine level to enhance these types of perception level as well as preferred pathfinding to align up with it

gleaming notch
#

Hey!

Is there an easy way of creating a group prefab that already has an AI waypoint working? For example, spawning a group that automatically defends the area they;re spawned rather than having to manually give them a defend waypoint in GM, or spawning a vehicle group that auto transport

shy lake
# balmy gorge ..still waiting btw...

Yeah sorry i couldn't find the video.
Current version does break many of the A.I. danger reaction's which are essential for it to work properly.
It's amazing...
As soon as you get to a point where you have made something good it get's destroyed by a bug or an update. 💩

balmy gorge
#

Still fun tho

shy lake
devout thistle
#

is there some way to make ai drive faster and maybe chase the player in cars? the atmosphere we can make and the driving physics in ar could make for a good little chase game

rich swift
#

Hi! How to edit navmesh? My ais don't use stairs.

regal terrace
#

re-generating the whole world would work too, but can make your mod quite large in size. I think mine was almost 1GB for an Everon complete navmesh.

rich swift
vocal path
halcyon bridge
#

distance to wall thing also

rich swift
#

now looks connected

#

small changes enough, 0.2->0.3

#

building creator maybe not used 21cm standard step height 🙂 (max is 22.5)

floral latch
#

is there a good repository of info anywhere on the splines for AI like Birds ? TIA

shy lake
random owl
floral latch
floral latch
#

i see the Nodes for turning value MIn is 1 , has this any bearing on the model roating along the path maybe ?

random owl
#

ok I wouldn't try to use birds AI for this 😅

#

if those buggers should be that big ofc 😄

floral latch
#

well of course its "workaround" but its for specific AD Hoc use 😉

#

i need to scare someone specific not everyone al the time 🙂

random owl
#

So they are there just to be scary? No interaction/physics required?

#

I would maybe realy tried to do it without birds - it was meant really for something flying. It can be simply result of interpolation.

#

In their BT you can setup some things but +- just how they are triggered.

#

But if you want fix this turning than I think in prefab you cna change those values or try to tweek them.

#

And I would turn off wind effect on them here (and also splines can be shown and modifiend there)

floral latch
#

thanks i will check this out , yes this was used for the height travel so i didnt need to create more anims its perfect how it floats , the posiution where i willuse requires this height so its good out the box .
i was going touse another but iread the Character skeleton can only be as it is and no new skeletons can be added ?

once again cheers ill gothrough the advice at them oment im happy the trigegr is gunshot thouigh 🙂

#

i did set all wind factors to 0 already but ill chec agai n

#

thanks

shy lake
regal terrace
#

Needs flame thrower... 🔥😎

hard cape
#

Good day!

Please tell me, I need the bots not to react to shots at a distance of up to 150 meters, how can this be done?

shy lake
shy lake
#

Please can we get: AIFormationDefinition > SetScaledOffsetPosition(float fScale); methode?

#

🙏

urban furnace
#

do anyone know that the range of this value is ? Min Max
PerceivableComponent.GetEstimateedVisualSize() and PerceivableComponent.GetVisualRecognitionFactor()

shy lake
#

Kinda funny how often we are messing with the exact same thing at the somewhat same time. 😉

urban furnace
urban furnace
shy lake
# urban furnace So estimated visual size max is 2.1?

In the note it say's:

//! Returns estimated size in meters. Currently it's calculated based on physics or visual bounding box.
I only tested it with soldier.
So depending on size it may vary like if enemy is in a vehicle maybe?
Well yeah i was curiouse about it as well so i tested it just couple day's ago.

shy lake
urban furnace
#

i've seen this one on the Veh

#

maybe this one is for vehicle

shy lake
#

Yes could be.

shy lake
urban furnace
random owl
shy lake
random owl
shy lake
shy lake
#

But yeah guess you have already noticed the struggle with .bts after each update's where you have to kinda check each and everyone for changes in node's and value's.
That's why i try to avoid modding .bts as much as possible.
Scripted behavior class/constructor have a lot of functionality and they are pretty consistent.

urban furnace
shy lake
#

Yes.
I did this for the last 2+ year's...
I can't stand it anymore.

urban furnace
#

anyone know how to Influence the automatic fireteam member and leader selection?

shy lake
#

Best place to start probably is "SCR_AIGroupFireteamManager".
Although the way of how fireteam's are assigned and maintained is already very good and fully handled in vanilla it still require some pretty big amount of coding to get it done.
The Fireteam manager will have all the fireteam's which are using the "SCR_AIFireteam" class.

urban furnace
shy lake
#

Is there a way to get the vehicle A.I. is about to get in?
So while moving to the vehicle.
Most of the methode's/component's i've tryed only return the vehicle when the A.I. is in the vehicle.
I'm looking for something like AssignedVehicle().
I've got it done by casting to the "GetIn' behavior and use m_Vehicle.m_Value.
Is there a better solution for this?

shy lake
#

Added: AI soldiers can briefly look around at other threats (gunshots, explosions) when attacking an enemy. Previously, they were locked on target during an attack, making it impossible to spot an enemy out of their view cone.

Now i can't wait to see this live. blobcloseenjoy

random owl
halcyon bridge
#

how does GetDangerEvent work now

#

it returns null

shy lake
shy lake
# halcyon bridge how does GetDangerEvent work now

It's pretty strange...

If i use:

int outCount;

int dangerEventsCount = agent.GetDangerEventsCount();

AIDangerEvent dangerEvent = agent.GetDangerEvent(dangerEventsCount, outCount);

Print(dangerEvent);

It will print null.
However using it with the int dangerEventCount from any danger reaction like "Weapon Fired" it will return the danger event.
Both agent.GetDangerEventsCount(); and int dangerEventCount will return numbers in 0 -10 range.
Maybee something broken with agent.GetDangerEventsCount();?

halcyon bridge
#

Ugh

shy lake
#

This is with 1.3 btw.

halcyon bridge
#

what in tarnation

#

thank you

#

I will try in 1.2.1

halcyon bridge
#

wait I think I get it

#

i dont know why this works tho

#

and that scares me

shy lake
#

Yes it's really strange...
Both are int's with pretty much almost the same number's. blobdoggoshruggoogly

atomic magnet
#

Programming is like black magic. If it works, it works. How it works? Who cares, as long it works. 😅

#

Until it no longer works meowsweats

urban furnace
#

that looks weird

random owl
shy lake
# random owl no idea from home - can check on Monday 😉

Sure nothing to worry about. 👍
Danger Reaction's are working fine that's all what matter's.
In general after spending some good hour's with 1.3 it's really looking fantastic.
Many new improved and optimized stuff.
I was expecting something but this has totally exceeded my expectation's. 👍

shy lake
#

I have a question:
Do you guy's sometime's implement feature's/behavior's based on what the community is talking about?
Like for example the A.I. look around while attacking.
It already happened multiple time's ppl incl. me were chatting about some stuff they would like the A.I. to do and a little later i can read about this exact topic in the update changelog.
Coincidence?

balmy gorge
shy lake
echo minnow
shy lake
#

HAAAAAAAAA!!!
A.I. character's are visible again in 1.3 edit mode. 🙏

modest cliff
#

Can anyone tell me how to make ai move slower?

#

im trying to use setdynamicspeed() but it doesnt seem to work properly

shy lake
modest cliff
#

hmm - doesn't seem to change it at all.. im trying to mod Bacons zombies and make them a bit more walking dead rather than dawn of the dead haha

#

Could it be possibily because the speed is being updated dynamicly in the behavior tree or something? so even if they start at WALK they change to RUN as soon as they perceive the player?

shy lake
modest cliff
#

Hes made various groups of different sizes that use spawn the zombies in (individual group members prefab can be set in the editor if overiden)

#

but if you just wanted one zombie, you can just remove the other group members to just have one

shy lake
halcyon bridge
#

behaviors set it to sprint when they see a target

#

run when they are investigating/do not have a target

shy lake
#

So he could just change it in the behavior tree move type/speed node.

modest cliff
#

OK thanks - so if I override the behavior tree and change the speed/type there as ATiM sugests that would work?

shy lake
#

Is it even allowed to mod APL-ND for private purpose @halcyon bridge?

halcyon bridge
#

But it only matters for mods that are published

modest cliff
#

just googled it.. didnt even realise licencing was a thing.. haha

shy lake
halcyon bridge
#

I made the zombies run and not walk because if they walk you'd need 10x the amount to make it a challenge for players and you and I both know that's not an amount this game can run

modest cliff
halcyon bridge
#

Now that they added even more bones to characters performance might be even worse

modest cliff
#

would there be a way to make the movement/type of zombies configurable from within the editor? like to be able to change if they are runners/walkers/headshot only that type of thing?

#

without modding the mod and effecting the licence?

shy lake
#

Right? bacon?

modest cliff
shy lake
#

I think.
But better wait for bacon to answer.

modest cliff
#

call my mod like BaconRavage-configuarble zombies or something

#

or baconravge - supercomputers only mod XD

halcyon bridge
#

hm

#

does overriding a behavior tree work?

#

what if I made zombie run speed an option in game master scenario settings?

shy lake
#

But we nd nothing else with vanilla behavior trees.

modest cliff
shy lake
#

*do

modest cliff
#

I guess i need to read all the licence stuff carefully before I release any of the mods ive been working on.

#

if you use another mod as a dependency though is that still possibly an issue?

halcyon bridge
#

just dependency use does not violate the license, unless you create something that is built on top of it

#

so using zombies in a scenario as they are is fine but once you start editing them it is not

modest cliff
#

Ah ok 👍🏼 thanks for clarifying.

Are you planning on adding in a speed option to yours in the future?

modest cliff
#

@halcyon bridge

halcyon bridge
#

I think it's a good idea but I don't know how soon I can put time into it

modest cliff
random owl
random owl
# shy lake It's pretty strange... If i use: ```cpp int outCount; int dangerEventsCount = ...

ok I reread this - I think you have just small error there in the script

agent.GetDangerEventsCount() - this gives you count of events in queue. So you can access all the indexes till that count as arrays are accessed from 0 as usual.
So when this function returns something bigger than 0 you can access all of them till dangerEventsCount-1
Than in outCount you will receive how many of danger events with given type are aggregated if they are aggregated. Number of events in queue and occurances of single event don't match up obviously.

I understand it can be confusing as it doesn't have much explanation in script. Maybe we underestimate how much somebody will be tweaking with it.

shy lake
shy lake
slim pebble
#

Does anyone has the same problem with the get out waypoints not being completed due to stuck passengers? I haven't took a look at at GetOut BT yet, but feels like it's missing "move from vehicle door" step

shy lake
#

Where exactly is the pathfinding filter set/adjusted for soldier and vehicle?
Look's like they never get changed/updated?
I know there is one in CombatMove but else.
I was expecting it would be set/adjusted in GetIn/GetOut or KeepInFormation but i can't find any other .bt where it is set?

#

Once they enter or leave a vehicle it should be changed. Right?

#

At least for the driver.

shy lake
#

Is there a way to find out which behavior tree executed a node?
So i can check inside of a scripted node from which .bt it was executed?

shy lake
slim pebble
shy lake
#

To be completed?

slim pebble
# shy lake I mean they do get out. Will it wait till all are out?

for me (at very least on BTR and LAV), remaining passengers sit on their places indefinetely and stay in the vehicle even if you manually move "blocker" soldiers farther from doors (so they're not making any additional attempts to get out after initial failure to do so)
get out waypoint will be never completed unless you put remaining occupants out of their seats via game master

shy lake
#

Ofc having them get out properly is the way to go.

slim pebble
#

the solution is pretty simple - soldier, once left the vehicle, should take cover near the vehicle or just take a few steps away from door

  • remaining passengers should make repeated checks if it's possible for them to get out
shy lake
#

True.
But i had this problem pretty much since day 1.
They were always stacking up behind the vehicle.
Was there already a time where they got out properly?

slim pebble
#

well, it seems that HMMVV and UAZ works good

#

just because they have 1 door per passenger so they problem simply doesn't occur🫠

shy lake
#

Well guess we have to wait and hope. 🙂

shy lake
#

Look's like Line and Wedge is mixed up in experimental?
Like in World Editor when i change group formation to Line they use Wedge and vice versa.

shy lake
#

Nevermind... My fault.

regal terrace
#

Are AI able to see mines? I have some vehicle patrols that seem to just drive right over them and kill themselves. ...or maybe theres something I need to do to the navmesh via script when these mines are placed?

urban furnace
balmy gorge
#

Always wondered how they determined whether an AI could spot a mine on a road while driving armor in all of the arma series

shy lake
#

So you could pretty much choose if you like them to detect the mine or not.

balmy gorge
shy lake
balmy gorge
shy lake
balmy gorge
# shy lake It's kinda a decision of how much attention do you like a feature like this to g...

I dont think a Dice roll lineIntersect/Type of terrain/Spotting skill check is all that intense. And yes I do think a certain level of validity to "should an AI actually detect that mine" adds to the layers of a game. Simplifying something to be so abstract as just a general Distance check - I basically would just leave it out all together at that point. Theres a lot of differing opinions on what AI features warrant attention and from my own experience as well as working with some other really talented AI coders -i see that alot is possible if the intention and desire to have a robust AI behind it is there.

#

Matter fact i did that for Arm3 for AI detecting thrown grenades and then running yelling "Grenade!!" a long time ago -it wasnt all that expensive and made a big difference. Now its in Reforger

shy lake
#

Just wait for 1.3 it's another huge leap in term's of A.I. behavior.

balmy gorge
# shy lake Sure there is alway's a way to make something like this in a somewhat decent way...

lol yeah hey man I wasnt even being critical in my first post - i was merely curious what detecttion system they had always used because in some of the convoy missions of OFP I thought it felt like a pretty realistic result for those missions -hey maybe they were prescripted reactions rather than dynamic. Overall as you know I dont play Reforger much but am still on Arma 3 and i am optimistic about the AI they are building in Reforger

shy lake
shy lake
#

At least in term's of combat behavior and esp. 1.3 experimental version.

mortal path
#

Has anyone solved the issue with AI getting out of vehicles as soon as an engagement begins? I would love it if BTR crewman would actually use the BTR in combat

#

Instead of driving and disembarking whenever a shot is fired

#

I'll probably just look into disabling them from disembarking entirely

shy lake
#

Guess it's by design.
Just FAIL/COMPLETE their GetOut behavior to keep them inside.

regal terrace
peak forge
#

Is the SCR_AICombatComponent meant to be added to the AI prefab or can I add it to the GameMode manager to control all ai skill?

shy lake
mortal path
#

I think it has an effect on accuracy

peak forge
#

Thanks.

shy lake
#

Somehow ProjectileHit is triggering multiple times.
3 times to be exact at least when i hit an agent.
2 times at the very same time and the 3. time will be triggered with a 0.00x ms delay.
If i shoot at the ground it triggers once only.

#

I've tested in 1 AI vs Me just to make sure.

ocean harness
mortal path
#

Idk 9/10 times but they will kill you a lot faster by not missing

mortal path
halcyon bridge
#

I made a gun that has a bullet with a penetrator and it spawned 1 warhead for every millimeter of armor it goes through, I called it the FPS destroyer and nobody knows why it happened

shy lake
# mortal path Is this the new tumbling by chance?

Tumbling?
Not sure if this is by design.
Like if the projectile bounce off the character it will trigger the event another time.
Somehow it doesn't feel right to have it trigger 3 times in a row.
It will also trigger the threat system 3 times and increase the ThreatBulletImpact value 3 times.
blobdoggoshruggoogly

mortal path
#

Yea it doesn't make sense now that I think about it if it's triggering those. Tumbling is part of the new ballistic system

#

I do not know how it works in engine but would love to see it

halcyon bridge
#

I dont think this is a new bug but it might be

shy lake
#

Yeah maybe i did something wrong...
I wanted to find out timings of DamageTaken vs ProjectileHit.
Turned out both get triggered at the exact same time.
At least in a 1v1 maybe not with multiple A.I. when the engine gets really busy.
So i had 1 timing from DamageTaken and 3 timings from ProjectileHit printed in the log.

shy lake
#

Something about the "CombatMove" system.
1.3 is using this system a lot more by sending many more requests to the system.
Esp. stance change get send very often.
At some point it may will get to the point where requests will cancell each other?
Like if too many are send at the same time.
Wouldn't it be good to have some kind of priority linked to the request, so important requests are guaranteed to get executed and not get cancelled by a newer less important request.
Just a thought.

#

Maybe it would just overcomplicate things... So. blobdoggoshruggoogly

shy lake
#

I re-tested the ProjectileHit thing.
Just to make sure i added the name of the agent to the print output so i can really tell it's the same agent to trigger it multiple times.

Print Info: PrjectileHit > Time in ms > Distance to projectile > Agent name.

  1. Print is a indirect hit close to the agent. ( 1.9 meter )
  2. and 3. Print are from 1 direct hit triggering the PrjectileHit event. Both at the very exact same time.
shy lake
#

Lazy fix once the event returned true:

float worldTime = GetGame().GetWorld().GetWorldTime();

float projectileHitTiming = utility.m_fProjectileHitTiming;

if (worldTime == projectileHitTiming)
{
    Print("ProjectileHit > Second Time > Same Event!" + " > " + worldTime);
    
    return false;
}

Print("ProjectileHit > First Time!" + " > " + worldTime);

utility.m_fProjectileHitTiming = worldTime;
shy lake
#

In 1.3 experimental "SCR_AICombatMoveRequest_Stop" seems to freeze the agent?
Whenever i use it A.I. does nothing anymore.
Don't shoot don't move just sitting there.
Once i start shooting again they get back to normal.

#

If i force "m_State.m_bAimAtTarget = true;" they keep attacking and aiming.

void ferry
shy lake
shy lake
#

Maybe i've messed something up... blobdoggoshruggoogly

shy lake
#

Yes i was doing some bs...
Work's again as intended.

zealous tinsel
#

Does anyone here have experience with controlling how AI, more so crewed vehicles, proceed between waypoints.

I'm basing most of my knowledge and experience off of Arma 3 and how it was done in the editor there.
Simply put, I currently have 4x BTRs that I've set to spawn after X amount of time.
Now while they all spawn with crew and cargo, and go to all the waypoints, they don't move in any form of group/formation as they are just individually spawned prefabs and not a combined group.
As a result, they don't drive very well on the roads or any where close to each other.
I've got all 4x BTRs going to the same waypoints, one straight road - pretty much, and all i want them to do is move with some level of caution down the road, single file, basically convoy.
And yet they all just pedal to the metal and slam it full speed down the road, hit a way point, engage handbreak, spin off the road, and cause a massive pile up.

#

I know theres still limitation on vehicle AI, but yeah.

shy lake
#

Yes that's what it is so far.
Will need to be improved by devs.

zealous tinsel
#

Is this literally the best I have?
Uncontrolled full speed movement without any cooperation/formation from vehicles.

#

Outside of action functionality, does anyone have advice or experience on doing their best to work around this stuff?

regal terrace
#

Giving them a speed limit helped prevent them from flipping their own vehicles in my scenario

#

I think I settled on 27, but I forget the function you can use to set it. blobdoggoshruggoogly

#

Scripting is involved though to accomplish this

zealous tinsel
#

Or could I just low the top max speed of the vehicle potentially?

#

I've not actually been able to get into any scripting for Reforger yet.

#

But yeah a speed limit would be highly highly needed if you or anyone have a solution for me.

regal terrace
#

I'll try to remember to share my script when I get home tonight

vocal path
#

Good morning everyone. Has anyone noticed a difference in the incoming damage on AI agents? For example: When we play on our servers, I only need one headshot to kill the unit. But when we play on another server, it may happen that I need to land 4-5 headshots with the same weapon to kill the unit. The ping is 8ms on both servers. I can't explain this.

shy lake
#

Guess the good old hit registration thing?
Or they use modified damage computing? blobdoggoshruggoogly

#

Question:
protected static const float STRAIGHT_PATH_COST_MODIFIER = 4.5; // Modifier when we want to find a flanking path
What is the max .value here and how will bigger numbers affect the A.I. pathfinding?
Will bigger value make them search for path even further around their target position? So bigger flanking angle?

halcyon bridge
#

in my tests it doesnt do anything

#

let me try with 10

#

so it does something

shy lake
#

This is the flanking?

#

It definitely does something.
0 will make them walk in a straight line to target position.
However i've tested with 15 and it looked pretty much the same as with default 4.5.
Also i noticed the further away A.I. is from the target position the better it works.
If they are very close to the target position < 100 - 200m it will not affect the flanking path very much.

#

If they are far away > 500 - 1000m they sometimes pick some crazy good flanking paths. blobcloseenjoy
Walking all the way around in a big circle.

halcyon bridge
#

Do you know how I could cancel the door movement danger event? Depending on some condition

#

I think the creation of the danger event is not visible in script

#

Did I mess up something or is this part of vanilla now lol

shy lake
#

This class SCR_AIDangerReaction_DoorMovement : SCR_AIDangerReaction ?

halcyon bridge
#

thats the reaction to the danger event yea I would like to cancel the danger event/do not fire it under certain circumstances

shy lake
#

Well reactions and stuff are created in:
class SCR_AIConfigComponent : ScriptComponent

#
bool PerformDangerReaction(SCR_AIUtilityComponent utility, AIDangerEvent dangerEvent, int dangerEventCount)
{
        SCR_AIDangerReaction reaction = m_mDangerReactions[dangerEvent.GetDangerType()];
        if (reaction)
    {
        return reaction.PerformReaction(utility, utility.m_ThreatSystem, dangerEvent, dangerEventCount);
    }
    return false;
}
#

So why don't you just mod it to your liking?

halcyon bridge
#

I want to PREVENT THE DANGER EVENT FROM BEING CREATED, I do NOT want to FAIL REACTION TO AN EXISTING DANGER EVENT

#

does that make sense

shy lake
#

Yes.

#

Can't you just remove the danger event from the character prefab?

halcyon bridge
#

This code completely disables the weapon fired reaction for some reason

modded class SCR_AIDangerReaction_WeaponFired {
    override bool PerformReaction(notnull SCR_AIUtilityComponent utility, notnull SCR_AIThreatSystem threatSystem, AIDangerEvent dangerEvent, int dangerEventCount) {
        PrintFormat("SCR_AIDangerReaction_WeaponFired");
        return super.PerformReaction(utility, threatSystem, dangerEvent, dangerEventCount);
    }
}
shy lake
#

SCR_ChimeraAIAgentFull.et

#

This is where they get added to the agent.

halcyon bridge
#

That disables the event altogether not under specific circumstances so again irrelevant

#

It seems that danger reactions are not moddable as well

shy lake
#

[BaseContainerProps()] modded class SCR_AIDangerReaction_WeaponFired : SCR_AIDangerReaction

#

This is how mine looks and it works.

halcyon bridge
#

I dont see my print and enemies no longer react to my shots when I add my code

frank crag
#

Anyoene knows the fix for " PATHFINDING(W): No navmesh file specified! Will initialize empty navmesh world. "? Everytime i put the Navmesh files and save my project, leave the project load it back up again my navmesh dissapears and i get that error...

shy lake
#

@halcyon bridge did you see what i wrote above?

halcyon bridge
shy lake
#

[BaseContainerProps()]

#

modded class SCR_AIDangerReaction_WeaponFired : SCR_AIDangerReaction

#

Use this.

frank crag
halcyon bridge
frank crag
halcyon bridge
#

now I need to figure out that VME that only happens when my zombie fires his weapon

halcyon bridge
shy lake
#

Oh b.t.w.
Some A.I. flanking paths.

frank crag
halcyon bridge
#

So it is imported and there is no Register option in context menu for it?

frank crag
#

i see the files i put them in navemesh files, save them, runtest in gm and they work fine.. As soon i leave the project or load up another world and come back to the project the navmesh files dissapear inside the component / inside SCR_AI world wont save

halcyon bridge
frank crag
#

this is the error i get everytime i load up the world

frank crag
#

and all other things

halcyon bridge
#

Is your project inside onedrive or something like that? Those programs tend to lock files while syncing and may cause issues for you.

frank crag
halcyon bridge
#

OK so for some reason when I fire a gun the AI receives AIDangerEventWeaponFire but when my zombie character fires a gun the event created is AIDangerEvent. Does the weapon control the class of danger event?

shy lake
#

Delete the SCR_AIWorld and create a new one.

#

Maybe something messed up with it.

frank crag
#

with new SCR world

shy lake
#

Just for testing try with a new sub-scene.

frank crag
#

Everytime i press apply to prefab when i put the navemesh file in them

shy lake
#

Is it your own map?

frank crag
#

like i said i tried everything possible, reimport, admin ran, delete completely, new gm scenario, new subscenes

#

everything possible

#

Redo the navmeshes over and over

shy lake
#

And the SCR_AIWorld is in it's own layer?

#

So not inside other stuff.

halcyon bridge
#

Does the file actually physically disappear?

frank crag
#

I tried moving that in the main world, in a GM subscene its the same nothing will make the files stay

#

no

#

the files stay in the navemesh folder

#

they are there

#

they just dissabear from:

#

Evverytiume i load up my proejct

halcyon bridge
#

So you are editing an instance of the AIWorld entity, when you Save the world after does the change make it to the .layer file?

halcyon bridge
#

You can open the layer file

#

It's a text file

frank crag
#

i dont understand

halcyon bridge
#

So you can use notepad or a code editor

#

I wonder if your saved changes are actually saved

frank crag
#

Everything works i can save and everything.. Its just when i uipload my map or load it up in enfusion tit dissapears from navemesh file in config..

#

This is what it says when i press apply to prefab

halcyon bridge
#

Is this a prefab you own in your mod?

frank crag
#

Its the auto created gamemod

halcyon bridge
#

This doesnt answer my question, is this a prefab you created in your mod?

frank crag
halcyon bridge
#

It seems like you are trying to save to a prefab that is not yours so the save is not actually saved. Try dropping the navmesh into the instance of the prefab instead of trying to save the prefab.

halcyon bridge
#

You can compare how it was setup 2 days ago with your backup from 2 days ago

frank crag
#

i just added some buildings and redid the terrain

halcyon bridge
#

If it was the same it would work the same.

#

Anyway Apply to Prefab is useless when using a locked prefab, so it is better to make changes to the world instance of the prefab than to try to overwrite the prefab itself.

frank crag
#

i just want to make my navemesh saveable..

#

like it worked on all my other maps

#

so far

#

and on this map

shy lake
#

Well fact is things don't change all of a sudden one day to another.
Try to remember what you did/changed right bevore it started happening.
Very often its just a little thing you forgot about.

frank crag
#

This iis the first time some bs like this occured

halcyon bridge
#

So you are 100% positive you are saving it as part of the instance of the prefab in your world?

#

Because pressing Apply to Prefab is NOT editing the instance.

frank crag
halcyon bridge
#

You can't Apply to Prefab for a prefab that is not owned by your mod.

frank crag
#

the way tutoarials say it

#

and yt videos

#

and it workd fine just 2 days ago

#

and nothing else beside terrain and buildign change on the map happened

halcyon bridge
#

Alright good luck man

#

Maybe in 2 days it will fix itself since it apparently broke itself

frank crag
#

Magically it will allow me to save the files again

#

and they will stay saved

#

i hope

#

if allahs will is by my side

halcyon bridge
frank crag
#

and enfusion doesent randomly want to decide to fk up

halcyon bridge
#

I think I need help from a green person

shy lake
#

Your zombie has the "SCR_AIDangerReaction_WeaponFired" in the config?

halcyon bridge
#

Yes but this is for reacting for the receiving agent

shy lake
#

Guess they are on holliday.

halcyon bridge
#

It's vanilla AI that are throwing the VME

#

When my zombie fires the gun

#

But not when I fire the same gun

#

So the difference is characters

#

And it's something new in 1.2.1 as well

#

WAIT

#

This is probably my hivemind logic

#

Because a new event was created in 1.2.1 for weapon fire: AIDangerEventWeaponFire

#

I am still using the old one, easy fix

shy lake
#

Yeah the pain of updates.... 🤪

halcyon bridge
#

I abuse the weapon fired events for zombies to become curious about something happening

#

Creating them at the feet of zombies that have a target

#

So it pulls nearby zombies into the blob

#

My problem was me all along!

shy lake
#

Relatable. 😜

honest shore
#

anyone got a min today to help me set waypoints for AI in enfusion

#

simple basic stuff never messed with before have trouble getting it to function