Jump to content
genesis92x

Vcom AI V2.0 - AI Overhaul

Recommended Posts

On 12/8/2017 at 2:13 PM, Lý Nhân said:

@genesis92x Can you make AI to use any AT weapons they have on infantry and helos ? Like Shacktac's AI ?
Thanks in advance

they should already do that

Share this post


Link to post
Share on other sites
On 12/10/2017 at 11:00 AM, DEV614 said:

they should already do that

I tested it, AI didn't use AT or even GL against infantry units

Share this post


Link to post
Share on other sites
3 hours ago, Lý Nhân said:

I tested it, AI didn't use AT or even GL against infantry units

Sounds like a problem on your end, the mod definitely works as advertised - test with nothing but VCOM loaded and if you still have problems, verify the integrity of your game cache to make sure you have all vanilla game files, etc, etc. If problems still persist, I don't know man

  • Like 1

Share this post


Link to post
Share on other sites

@genesis92x
Apparently there is thread leak in VCOMAI\functions\VCOMAI_Garrison.sqf line 44.
If a unit is killed/despawned along the way, the thread will never end, will stay at waitUntil forever (getPos objNull equals [0,0,0])
Proposed fix
 

while {_WaypointIs isEqualTo "HOLD"} do
{
	waitUntil {!alive _unit OR {_unit distance _BuildingLocation < 1.3}};
	if(!alive _unit) exitWith {}; //will exit outer while
...
};

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Another thread leak 
VCOMAI\Functions\VCOMAI_ArmEmptyStatic.sqf, line 17. If unit didn't get to the static (died or despawned), while loop never exits

Fix

if (!alive _Unit OR {(_Unit distance _Weapon) < 3}) then {_Waiting = 1};

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Thread leak
Uncontolled growth of VCOMAI\Functions\VCOMAI_MoveToCover.sqf spawns
Looks like thread may fail silently without performing VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1; at the exit. At some point gave 700+ threads with ~50AI
Possible fix
 

waitUntil {VCOM_CurrentlyMoving < VCOM_CurrentlyMovingLimit};

VCOM_CurrentlyMoving = VCOM_CurrentlyMoving + 1;
private _handle = _this spawn {
...ORIGINAL LOGIC (but without alteration of VCOM_CurrentlyMoving)...
};
waitUntil {isNull _handle}; //spawn execution ended for whatever reason
VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1;

it doubles the amount of threads (actually wrapping thread is with very light check, and not really doubles, just amount of requests + VCOM_CurrentlyMovingLimit anount actually working threads), but still it fixes growth of threads just because somehow some threads failed silently without releasing the VCOM_CurrentlyMoving

  • Thanks 1

Share this post


Link to post
Share on other sites

FSM leak
lots of stalled FSMs accumulating at the node "Temp_Halt" id:200
No chance for FSM leave that state if unit died/despawned along the way
Proposed fix:
link to "dead" check id: 24
 

  • Thanks 1

Share this post


Link to post
Share on other sites

Would it be possible to make the AI not attempt to move towards or "flank" enemy aircraft? It's making "dynamic" heli insertions quite difficult to make as the AI that do not have a hold waypoint run off into the distance instead of trying to move and attack the player infantry or alternatively try and reinforce other AI groups.

 

This issue also makes having any fixed wing aircraft around an impossibility, as the AI will a lot of the time attempt to move towards it, and place waypoints a hundred meters in the air.

 

Now I don't have much scripting experience, but would it be possible to make the script check if the waypoints are being placed midair? This would allow the AI to attempt to push upon a landed helicopter, but not run against a flying gunship.

  • Like 1

Share this post


Link to post
Share on other sites

What is the best way to make VCOM work on ALiVE with Headless client using the script version of VCOM? I am noticing the AI are not responding to incoming gunfire and only recognize us when we get really close to them.

Share this post


Link to post
Share on other sites

@genesis92x

 

Apparently VCOMAI/functions/VCOMAI_MoveInCombat.sqf participates to this leak with greater extent. Inner spawn doesn't exit with VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1; in some cases (line 66)

On 12/12/2017 at 10:34 PM, IrLED said:

Thread leak
Uncontolled growth of VCOMAI\Functions\VCOMAI_MoveToCover.sqf spawns
Looks like thread may fail silently without performing VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1; at the exit. At some point gave 700+ threads with ~50AI
Possible fix
 


waitUntil {VCOM_CurrentlyMoving < VCOM_CurrentlyMovingLimit};

VCOM_CurrentlyMoving = VCOM_CurrentlyMoving + 1;
private _handle = _this spawn {
...ORIGINAL LOGIC (but without alteration of VCOM_CurrentlyMoving)...
};
waitUntil {isNull _handle}; //spawn execution ended for whatever reason
VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1;

it doubles the amount of threads (actually wrapping thread is with very light check, and not really doubles, just amount of requests + VCOM_CurrentlyMovingLimit anount actually working threads), but still it fixes growth of threads just because somehow some threads failed silently without releasing the VCOM_CurrentlyMoving

looks like thread trick can be substituted by

call {};

 scope
 

Share this post


Link to post
Share on other sites

Not sure if it's a problem with the current Arma version or vcom, but transports are currently broken. When AI decides to enter a vehicle they barely move and keep getting out/in. 
And still the insta-detection is still present. "VCOM_HEARINGDISTANCE= 500" results in 1shot < 500m and the AI gets "knowsabout 4" about the player.

  • Like 1

Share this post


Link to post
Share on other sites

@genesis92x please think about a github repository... guys like @IrLED and myself are active contributors and would like to help you at the development. Think about this please. ;D

  • Like 1

Share this post


Link to post
Share on other sites
On 12/31/2017 at 4:41 AM, b0s said:

Not sure if it's a problem with the current Arma version or vcom, but transports are currently broken. When AI decides to enter a vehicle they barely move and keep getting out/in. 
And still the insta-detection is still present. "VCOM_HEARINGDISTANCE= 500" results in 1shot < 500m and the AI gets "knowsabout 4" about the player.

The transports may be an Arma problem. I had a similar issue 2 days ago without using this mod, AI would get in and out of a transport for no apparent reason. Needs further research though.

Share this post


Link to post
Share on other sites
13 hours ago, sparker said:

I think there is a Github repository for VCOM:

https://github.com/genesis92x/VCOMAI

 

i know he had one but this repository is old af... VCOM is in my opinion the best ai mod... but if you play with alive or other mods your server collect the spawns like popcorn... up to 300 spawns because the wrong waituntils like @IrLED pointed

because of this... the performance is to low to play with it atm

Share this post


Link to post
Share on other sites

 

On 1/4/2018 at 11:49 AM, shukari said:

@genesis92x please think about a github repository...

@shukari, i think it would be good to have possibility to improve VCOM (via github). But still it's up to author to decide.

  • Like 2

Share this post


Link to post
Share on other sites

If I'm not mistaken I noticed there was a change to the way AI behave with vehicles, IE gunners and drivers no longer bail to engage - That makes sense for a lot of vehicles, but is there a way to over ride this for a group, so they all bail to engage? For example on a light jeep/offroad who should disembark and engage if they get bogged down instead of the driver sitting there waiting to get shot. Sorry if it's obvious or has been asked before, looked around a little but haven't slept yet.

 

Edit: I've also noticed some AI like to steal nearby vehicles at random then sit in driver's seat too, recently.

  • Like 1

Share this post


Link to post
Share on other sites

My big issue with this mod is getting AI to push up an attack. They take WAY TOO LONG to do anything. As Zeus is there a way to get them to ignore combat and get within x distance before going into combat mode. I set to careless but it overrides almost instantly.

Share this post


Link to post
Share on other sites

D. Patterson, Check out the instructions.  IIRC setting them to 'FULL' results in AI charging into battle.

Share this post


Link to post
Share on other sites
2 hours ago, monty bravo said:

D. Patterson, Check out the instructions.  IIRC setting them to 'FULL' results in AI charging into battle.

  

Ai will still go prone, find cover, and engage until they are no longer being shot at. If this happens at 300m out, they never make it to the objective.  

 

A quick test I just did:  

VCOM AI W/ Speed set "FULL", Behaviour AWARE.

Opfor initially engaged while 300m from Blufor defensive position. 

Opfor took defensive position and attempted to engage Blufor.  

After about 3 minutes, first push from Opfor, about 20m transversed.  

1 minute later, another push from Opfor, about 10m transversed.   

6 minutes later, a 50m push. 

2 minutes later, a 10m push.  

6 minutes later, a 20m push.   

1 minute later, a 5m resulting in the death of the final opfor Unit.

 

Default AI W/ Speed set "FULL", Behaviour AWARE.

Opfor initially engaged while 300m from Blufor defensive position. 

Opfor continuously approached until eliminated.

 

 

I want them to run in with absolutely no regard for their own safety until x distance has been reached.    

Share this post


Link to post
Share on other sites

I've been going back to basics and making some vanilla ALiVE missions lately, both an Insurgency and an all out war, and there's one thing I've noticed during testing.
Static weapons (mortars specifically) really need a check so they don't deploy their weapons inside. Too often I'll see a mortar team set up inside a house. They should be checking they have clear surroundings.



Besides that though it's really amazing to see the AI using drones, deploying statics and really working together to assault an objective. 

Thanks for all the work you've put into this, I've been keeping up with Descension too and that seems to be coming along nicely.

Share this post


Link to post
Share on other sites

Uploaded a pull request to the Github Page, figured since you want to work on other projects, perhaps it could be easier for you to periodically check the Github page and check out pull requests/issues instead of browsing the forum page?

 

I'm not the only person who would possibly be interested in this, has just a few comments above @IrLED and @shukari are asking about this.

If there happens to be a more up to date, but private/hidden github page, would it perhaps be possible to post the link of it on the main forum page? As mentioned, surely it must be easier to check  and track bugreports via github than the forums.

  • Like 1

Share this post


Link to post
Share on other sites
Guest

Just a bunch of questions. With Vcom, AI just sometimes doesn't know how to shoot each other during close proximity encounters. I mean, that's okay, they don't want to kill, they want to make peace, but I think their superior is just not really fond of this treacherous behaviour. :icon_biggrin: So what am I missing, is it a bug or some sort of secret trick? :icon_biggrin:

Next thing would be the behaviour of tanks. I noticed that they tend to stop and not just blindly ride into the enemy tank and ram it. That's good, that's the only mod that does that, but if they then refuse to move whatsoever, it kinda breaks the mission. Is there a way to make them move again?

Thanks, guys.

 

Share this post


Link to post
Share on other sites
On 1/16/2018 at 3:17 PM, Freddo3000 said:

Uploaded a pull request to the Github Page, figured since you want to work on other projects, perhaps it could be easier for you to periodically check the Github page and check out pull requests/issues instead of browsing the forum page?

 

I'm not the only person who would possibly be interested in this, has just a few comments above @IrLED and @shukari are asking about this.

If there happens to be a more up to date, but private/hidden github page, would it perhaps be possible to post the link of it on the main forum page? As mentioned, surely it must be easier to check  and track bugreports via github than the forums.

You hit the nail on the head there. With what little time I have available I spend it working on Dissension. Dissension is getting closer to release and I plan on releasing an updated version of Vcom and Dissension together.

 

I can get up a github version of VcomAI with my most recent changes - please feel free to modify whatever you'd like with Vcom.

 

I have been getting a lot of messages about Vcom, and like always, I plan on coming back with more optimizations and improvements.

 

5 hours ago, Lothear said:

Just a bunch of questions. With Vcom, AI just sometimes doesn't know how to shoot each other during close proximity encounters. I mean, that's okay, they don't want to kill, they want to make peace, but I think their superior is just not really fond of this treacherous behaviour. :icon_biggrin: So what am I missing, is it a bug or some sort of secret trick? :icon_biggrin:

Next thing would be the behaviour of tanks. I noticed that they tend to stop and not just blindly ride into the enemy tank and ram it. That's good, that's the only mod that does that, but if they then refuse to move whatsoever, it kinda breaks the mission. Is there a way to make them move again?

Thanks, guys.

 

I have had some strange issues with vehicles refusing to move at all - this needs to be addressed.

 

I have created an updated Vcom Github - I will make an effort to check the Github weekly for reports.

 

To keep track of all the bugs/concerns, please post them at the Github so I can track them easier. Please provide as much information as possible.

https://github.com/genesis92x/VCOMAI

 

This way any reports won't get buried in a the forums, as I do not check the forums frequently.

  • Like 1

Share this post


Link to post
Share on other sites

Trying to get this to work on a dedicated server.

 

Loaded VCOM Mod (from steam) on dedicated server via the -serverMod= parameter.

The .hpp file is  \userconfig\VCOM_AI\AISettingsV2.hpp

 

Load up and placed two AI group of opposing side and gave each group a move way point toward the other group; no waypoints created.

Not sure what I could be doing wrong.

Edited by Rellikplug
Clarification

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×