Jump to content

Recommended Posts

@Kukus

 

Vanilla AI behavior is kept open on purpose. AI mods close it's configuration, and then you see improvement in some particular areas, making them perform somewhat better in more specific scenarios. That's also one of the reasons why no AI mod has been widely accepted as "the best", and mostly none online community uses them. One clear exception is ASR_AI, which is - not accidentally - as close as vanilla AI as an AI mod can be, thus being open enough to be accepted among most players and communities.

Share this post


Link to post
Share on other sites

I think what Cosmic is trying to point out in the vids is all about AI modded and not modded. Not other mods like graphics, special effects, or anything else aside from AI.

 

As for AI mods. Its about personal preference. I personaly do not want to tinker to much with AI because there is a ton of mods out there. This in part is why I've kept all edits to me and our group. I do not prefer rambo style AI. I like it when AI respond correctly when fired upon. They will get low and/or find cover. What I look for is moral being effected when they are shot at as well as performance of the unit. If someone is shooting at you your not going to run in guns blazing. Especially if they enemy shooting is fairly accurate. Vanilla tends to go to the rambo side. Bcombat, asr do a good job at correcting this, but the reaction doesnt always happen to what I've read heard and seen. Does this mean they are wrong. NO. They have there own personal preference as to how things should unfold. I like the fact that we have a ton of AI mods to select from. BIS is not going to make everyone happy either. Does this mean they should stop. NO!!! lol We paid them for an experience, and for the most part I've gotten my moneys worth. I've been playing this series sense CWC. I love it. Do I like all parts no. Why I created AISS and its predecessors. BUT I still love this series!

  • Like 1

Share this post


Link to post
Share on other sites

What I have an issue with regarding vanilla AI besides all thats been mentioned on this page is: They don't enter buildings. Maybe if I'm inside one and start shooting. But AI don't patrol inside houses. Rabbits, snakes, sure, they enter buildings but soldiers? Nah-ah.

 

I like to "play war" in towns. That means that I don't have to care one bit about houses. I know AI won't be there. Unless I use an AI mod that enables AI to use houses.

 

 

Bottomline: It's not realistic and having buildings we can enter, seems weird that AI wasn't coded to enter them as well. Seems like half an implementation.

Share this post


Link to post
Share on other sites

What I have an issue with regarding vanilla AI besides all thats been mentioned on this page is: They don't enter buildings. Maybe if I'm inside one and start shooting. But AI don't patrol inside houses. Rabbits, snakes, sure, they enter buildings but soldiers? Nah-ah.

 

I like to "play war" in towns. That means that I don't have to care one bit about houses. I know AI won't be there. Unless I use an AI mod that enables AI to use houses.

 

 

Bottomline: It's not realistic and having buildings we can enter, seems weird that AI wasn't coded to enter them as well. Seems like half an implementation.

Well, the AI don't need to use buildings unless they're ordered to (either via in-game commands or editor waypoints), there's an enemy inside or they're following you. You don't even need a mod for it, there's plenty of scripts that make the AI patrol houses, especially if you want to give that tone of randomness instead of having pre-defined waypoints.

I personally use the "Ultra Simple Patrol Script" by JW Custom, it gets the job done.

Share this post


Link to post
Share on other sites

I think what Cosmic is trying to point out in the vids is all about AI modded and not modded. Not other mods like graphics, special effects, or anything else aside from AI.

 

As for AI mods. Its about personal preference. I personaly do not want to tinker to much with AI because there is a ton of mods out there. This in part is why I've kept all edits to me and our group. I do not prefer rambo style AI. I like it when AI respond correctly when fired upon. They will get low and/or find cover. What I look for is moral being effected when they are shot at as well as performance of the unit. If someone is shooting at you your not going to run in guns blazing. Especially if they enemy shooting is fairly accurate. Vanilla tends to go to the rambo side. Bcombat, asr do a good job at correcting this, but the reaction doesnt always happen to what I've read heard and seen. Does this mean they are wrong. NO. They have there own personal preference as to how things should unfold. I like the fact that we have a ton of AI mods to select from. BIS is not going to make everyone happy either. Does this mean they should stop. NO!!! lol We paid them for an experience, and for the most part I've gotten my moneys worth. I've been playing this series sense CWC. I love it. Do I like all parts no. Why I created AISS and its predecessors. BUT I still love this series!

 

 

No no... cba was active so the test is invalid. ..  :rolleyes:

Share this post


Link to post
Share on other sites

I'd really like to see a command that allows you to restrict the AI's rate of fire. I think an ROF command is the one important thing missing from the sub-skills. Something like unit setFiringInterval 1 where 1 is the time in seconds, or setSkill ["firingSpeed", 0.5]. There's currently no good way to do it except some sort of loop where you make them hold fire, or maybe setting their suppression value really high. The sub-skill "aimingShake" used to accomplish this in Arma 2, because it basically made the AI's weapon sway really bad and they wouldn't be able to shoot as much. But as far as I can tell, the command does next to nothing in Arma 3.

 

aimingAccuracy is no help because the lower the skill, the faster the AI shoots, because they don't take as much time to aim as a unit with higher skill.  While I understand the reasoning behind this, I think it kind of negates the low accuracy because the more rounds he fires, the more likely he is to hit you. Same as it doesn't matter that a highly skilled unit fires slower, because his shots are more accurate. Even a unit with max skill will spray bullets at you if you're in very close quarters. It seems like reloadSpeed has some small effect on ROF, but even with a value of 0.0001, a unit will still fire 2-3 shots a second if you're standing very close to him. Having aimingShake be more effective would be an alternative, but a specific command would be better.

Share this post


Link to post
Share on other sites

Something slightly different:

I was trying to use 155mm howitzer with AI gunner to fire directly at a close target (1000m or less). But most of the time they aim right into the sky. By default they dont use any appropriate Charge setting either. Their behaviour is glitchy in this use. Occasionally they switch to "direct fire" aiming, but they can't deal with artillery charges/ the ammunition drop. When manually setting the highest charge (as commander of the vehicle), they still can't hit the target and the rounds fall short.

Share this post


Link to post
Share on other sites
Guest

I would like ask for the possibility at some point for at least an object variable that would be thrown in that is set to a unit when they detect a bullet going by or landing near them, as I cannot find a way to effectively find this out because there are numerous other scenarios that can also cause units to go into combat mode with either little or no knowsabout value of the unit that caused the event to happen. Something like : _x  SetVariable ["Bis_DetectedBullet",Shooter,True]; //Usage

_UnitDetectedBullet = _x Getvariable "Bis_DetectedBullet"; If !(IsNil "_UnitDetectedBullet") then {Hint Format ["%1 Has detected bullet fired from %2", _x, _UnitDetectedBullet];};

 

This would be quite helpful when trying to know when to send units to take cover, and in general just a nice thing to have to know why these units have gone into combat mode.

Share this post


Link to post
Share on other sites

You can do this yourself by using a fired event handler. If I understand what ur trying to do.

 

It will look something like this.

{
_shooter = _x // if you use forEach allUnits
_shooter addEventHandler ["Fired",{
	[_this select 0,_this select 6,_this select 4] spawn {
	
		Private ["_shooter","_bullet","_impact_info","_crack_dis","_weapon","_supresor","_supressed"];

		_shooter	= _this select 0;
		_bullet		= _this select 1;
		sleep .001;
		_B_pos = getPosATL _bullet;
		_cutoff = speed _bullet;

		_impact_info 	= getNumber (configFile >> "CfgAmmo" >> (_this select 2) >> "hit");

		
		if (isNil "_impact_info" or _impact_info == 0) then {_impact_info = 42};
		_crack_dis		= 7 + (_impact_info / 2);
		if (isNil "_crack_dis" or (_crack_dis) < 28) then {_crack_dis = 28};

			while {(speed _bullet) > (_cutoff/2)} do {
				sleep 0.001;
				if ((speed _bullet) > (_cutoff/2)) then {
					_B_pos = getPosATL _bullet;
				};
				_B_pos = _B_pos;
			};
			_supressed = _B_pos nearEntities [["CAManBase","LandVehicle"], _crack_dis];//
			if (alive _Shooter and count _supressed > 0) then {
				{
					 _x  SetVariable ["Bis_DetectedBullet",_Shooter,True]; //OR whatever you want here. ;)
				} forEach _suppressed;
			};
		};

	}];
} forEach Allunits;

Yeh I know getting away from topic... sorta. But the man does have a point or we have missed something. There is so many ways you can go with this, but so few people and money to do it. Would be nice, but I'm not getting my hopes up to much on this. That being said. Arma 3 has come a loooooonnnnng way sense CWC. I think they have done a splendid job with  what they have. ;)

  • Like 2

Share this post


Link to post
Share on other sites
Guest

I appreciate the code put there, although to be completely honest, I would be really concerned about Fps issues here, as the game is already tracking bullets by some means, as units do respond to bullets that either go by them or land nearby them, so this would be putting code on top of code. Right now I have included in my mission VcomAI's HitNear script, which uses CursorTarget to determine if a bullet has landed near an enemy, and although unfortunately it does not always work (especially for bullets going by units), it is not actual bullet tracking, so there is practically no script drag induced by it in comparison to a true bullet tracking script, which can potentially really affect things if there is a lot of other code happening in other places.

 

Yea, honestly I think the lack of accessibility to the somewhat recently added bullet detection put into the game is kind of a bummer, being that up until the addition of this function indeed bullet tracking scripts included with Ai mods were the way to go, and one could modify things to change detection distances and know when units were being alerted by bullets - now this Ai Mod content is code on top of potentially identical in game code, possibly doubling the script drag induced.

 

Although I have to admit that I am not sure if the object variable possibility may work as previously asked for because of issues in Mp with a public variable containing a local object and therefore being accessed on machines where the contained object is not local, I'm sure something could be figured out either way.

 

I would ask for really two things out of the bullet detection function that is now provided in the game:

 

1: A way to know when a unit is alerted by a bullet along with who fired the shot.

 

2: A way to modify the generic bullet detection distance for all units.

 

 

/Edit

 

I did try out the code there, and I found it was taking 2 or more seconds to get the bullet tracking process to actually finish, likely due to at least my processor having issues with the volume of code happening along with my own Ai scripts running, sometimes if I fired at auto speed it wouldn't even seem to fully process all of the scripts executed. Through the process of putting together a test that integrated the bullet tracking code I got a few errors before getting it all correct, the error.rpt file jumped to 3k kbs in size from the volume of times the while do runs before the bullet landed at a close distance. Again, the issues are probably all due to the fact that my laptop barely meets the minimum requirements for the game along with other Ai mod scripts running, but it is clearly too demanding for my system overall. Thanks though for putting out that code, at least it was worth a shot :)   (shot = no pun intended :P)

Share this post


Link to post
Share on other sites

Hi Special Ed... lol yeh thats an older code, but got the job done. never noticed frame being lost to bad even on my old dinosaur pc. The errors are probably do to other scripts that worked in conjunction with that one.... That being said.... I'm using getSuppression instead of a fired eventhandler. Works sooooo much better. Give that one a try... here is a test code for that to see how it worked. Maybe this will help you out. 

While {alive TesS} do {

	waitUntil {getSuppression TesS > 0};
	_supres = getSuppression TesS;
	hint str _supres;
	sleep 1;
};

//TesS is the name I gave a test unit. I put him on a hill and I fired around him on the ground and in the air. It will hint the suppression level when it goes above 0. ;) 
  • Like 1

Share this post


Link to post
Share on other sites
Guest

Thanks for the suppression command suggestion and the test code there. I wasn't even aware of such a command existing. I did some tests, and it seems to be working pretty well actually :) The only catch is that with courage set to 1.0 the unit does not always get a suppressed value, so I think I can make it work by initially setting the courage value to a lesser amount for reliable suppression usage, and then set it to 1.0 once the unit has gone into combat mode so they will respond to domove orders. Thanks again!

 

/Edit

 

Unfortunately after spending a good bit of time testing and investigating the whole functionality around the getSuppression command, I'm not able to get the shooter quickly enough to be able to use the command for sending units to take cover. There is a delay of like 2 or more seconds before the suppressed unit gets a knowsabout value of the shooter, when the shooter is needed to be gained immediately so that their position can be used to pick out objects that are valid for taking cover behind in relation to the shooters position. I'm not wanting to just use the closest player unit that fired because it could return the wrong player that actually fired at the unit. So, I'm just going to stick with the HitNear script from VcomAi that uses CursorTarget and ScreenToWorld, as at least here I am always able to get the shooter even though they do not always work.

 

Maybe someday Bis might do something like allow the GetSuppression command to return the shooter, as it seems they are already getting the shooter through the process because the unit suppressed does eventually gain a knowsAbout value of the shooter after a few seconds.

Share this post


Link to post
Share on other sites

I have AI tanks and other vehicles that constantly get flipped by the small knee high stone walls. They impede vehicle movement way more then they realistically should, so for improving this AI problem i suggest to make them destructable like fences

http://feedback.arma3.com/view.php?id=26505

  • Like 2

Share this post


Link to post
Share on other sites

 Can we expect any of the highly covert AI Force move type stuff in the upcoming Nexus Update?

 

 Kittens are dying...

  • Like 2

Share this post


Link to post
Share on other sites

Did you guys notice AI jumping when taking fire?

Pretty sure it's because of the suppression mod.

Share this post


Link to post
Share on other sites

Any updates on the "AI stuck in danger mode" issue? It's still existent and it's still very annoying...

  • Like 1

Share this post


Link to post
Share on other sites

Any updates on the "AI stuck in danger mode" issue? It's still existent and it's still very annoying...

 

Dear Santa.... BRING IT!

 

If I had one wish for Arma, this would be it. The one issue that you could never shake off no matter what kind of dark magic you apply. Please, please, pretty puhlease, sugar on top and I will not hesitate to put a cherry on that. Love forever.

  • Like 6

Share this post


Link to post
Share on other sites

Dear Santa.... BRING IT!

 

If I had one wish for Arma, this would be it. The one issue that you could never shake off no matter what kind of dark magic you apply. Please, please, pretty puhlease, sugar on top and I will not hesitate to put a cherry on that. Love forever.

 

I think the root of this issue was the groups nearTargets array, and threat decay being too slow. 

 

Myself and some others used to work around this by periodically creating new groups.

 

Maybe all that is required is a command or subskill to set the decay rate for targets.

 

{_x setSkill ["amnesia",0.5];} count (units group);

Share this post


Link to post
Share on other sites

Actually, AI is quite alright with enemies being around in plain sight without going into danger. If I'm not wrong, the second someone fires at one of your units is when it all breaks apart. After this, just one enemy in the area is enough to keep your units making poor life decisions, not sure if he needs to be on to you or not.

 

I do like the approach to keep the AI valuing their lives, but then the responsability is out of the player's hands and all of a sudden it gets complicated.

If the AI can ignore threats and the player does dumb things, he (or she) needs to do better. If the AI value their lives but make poor decisions, you end up with snappy comments about your "stupid" AI. Which I have been guilty of, not even gonna lie, and trust me I have a big heart for the AI. As a people.

 

First I was strongly opposed to the idea that you can't override danger mode, but if the movement is as reliable as "aware" mode it would just be a cool indicator that your units still sense danger.

 

Anyways, something else regarding combat modes within your group - I'd be interested to hear the reason why you can set units into different behavio(u)rs by using "~7-x", or ROE-commands with "~3-x",

but you can't do so by scripting without having a global effect on your group. Also, to my knowledge it's not possible to script your units to hold fire an I'd also be curious about the reason for having engine-and script-level stance commands where engine-commands take priority. Just curious that's all, it's always been like this and I'm sure it has a purpose.

Share this post


Link to post
Share on other sites

 Its what hampers the ability of Arma to be played as anything remotely resembling a strategy game imo. For instance, I was using this command system as my squad was on the Stratis runway and an unexpected Armor vehicle was incoming from the North. I gave my men an order to head to the hangar area to the west in which they could strike the armor from the flanks and still have some cover.

 

What happened? They started heading to their spot in which they had plenty of time to safely get there but suddenly stopped, doing their up/down targeting dance and were routinely gunned down. This part of the game is excrutiating to me. Just let me give an order, even a bad one and let the chips fall where they may. Should the status quo of AI independence when threatened actually work then it wouldnt be so bad but that damn chicken dance just makes me wanna throw my keyboard out the window.

 

 The ability to retreat from both player squad and AI squad would also add another layer of strategy and realism as THAT is how battles are fought -suppression, cover, search for safer firing positions and or retreat to safer zone.

 

Sorry for the rant  but it really razzes me that we havent gotten this "Do it now!" button from BI yet..

  • Like 3

Share this post


Link to post
Share on other sites

Anyways, something else regarding combat modes within your group - I'd be interested to hear the reason why you can set units into different behavio(u)rs by using "~7-x", or ROE-commands with "~3-x",

but you can't do so by scripting without having a global effect on your group. Also, to my knowledge it's not possible to script your units to hold fire an I'd also be curious about the reason for having engine-and script-level stance commands where engine-commands take priority. Just curious that's all, it's always been like this and I'm sure it has a purpose.

Is it the same when you split a group into teams, ie 'team red', 'team blue' and so on?

 

@froggyluv: agree fully. I have stopped taking commands of AI due to frustration. I love the micro-AI in AI groups when they are doing their thing freely in an open mission, but as a leader it's so frustrating. I wouldn't mind OFP/Armed Assault AI in my own group (AND in vehicles overall, there the micro-AI fucks up too, just look at the behaviour in a tank formation...).

Share this post


Link to post
Share on other sites

I agree there should be a "Do it now!" command, but have you guys switched your squad into "Staggered Column?"  It makes them much more compliant, even in Danger.  They'll follow you when you start running and when commanded to move to a location, they move fairly quickly.

 

I know it's not a perfect solution and you still have to micro-manage them so they stay in cover, but it's something that keeps me playing with an AI squad, as long as the squad isn't too big.

Share this post


Link to post
Share on other sites

Yeah, I noticed too that staggered Column seems to make them more obedient.
 

 

...damn chicken dance just makes me wanna throw my keyboard out the window.

 

 

Sooooo true!

Share this post


Link to post
Share on other sites

AI should not know my stance when I am after a wall or other cover high enough!

At now, If AI is shooting at me, while I am running behind a bush or wood cover or canvas cover, and then go prone, the AI also knows I am prone and can shoot me.

Every time I play the showcase Combined Arms to test the AI, In my words, BIS has a long long way to improve the AI to make this showcase successful. Now in this showcase, you didn't see so called combined operation, you just see the advanced attack side goes die against the poor defender with little power. Just because the AI don't know how to attack. When they should take cover they prefer rush. When they should rush they prefer move slowly.

And with the change of stamina, weapon sway, weapon inertia, etc. now, the defender AI is more powerful than the attack side. I don't say the AI before is good, just say the attacker side is now more like a moth to the flame.

BIS, If you want improve the stamina, please let the attack side AI have a rest behinde cover, before they rush to die.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×