igneous01
-
Content Count
924 -
Joined
-
Last visited
-
Medals
Posts posted by igneous01
-
-
AI being able to drag/carry wounded. Particularly dragging wounded behind cover.
-
I hope vehicles will be customizable in the sense that you can change the camouflage pattern on them - saves alot of space in having redundant copies of the same vehicle with different paint schemes.
-
I dont know if people are still looking for ways to make ai drag wounded, but here is one method I found that works well and is easy to use.
first make sure the ai unit is nearby another unit - either giving him a doMove or waypoint to the unit in question.
then you need the ai to both play their respected dragging and being dragged animations:
_dragger playAction "grabDrag"; _injured playMove "AinjPpneMstpSnonWrflDb"; Sleep (0.01); waitUntil { ((AnimationState _dragger) == "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2") || ((AnimationState _dragger) == "AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_2")}; _injured attachTo [_dragger, [0, 1.2, 0]]; // attach injured _injured setDir 180; // set injured to turn his back on draggerthat will make them both play their respected animations, and it wait until the animation has changed to where they are both in a drag and dragged state. after the injured unit is attached to the dragger, and has his direction set facing appropriate animation.
Now to make the dragger move: the easiest way to do this is to create another unit that acts like an invisible dummy, attach the dragger to the dummy unit, and make the dummy unit move, instead of the dragger.
_DummyClone = { private ["_dummy", "_dummygrp", "_dragger"]; _dragger = _this; // create Dummy unit that dragger attaches to, dummy unit moves and simulates dragger moving _dummygrp = createGroup EAST; _dummy = _dummygrp createUnit ["RU_soldier", Position _dragger, [], 0, "FORM"]; _dummy setUnitPos "up"; _dummy hideobject true; _dummy allowdammage false; _dummy setBehaviour "CARELESS"; _dummy disableAI "FSM"; _dummy forceSpeed 1.5; _dragger attachTo [_dummy, [0, -0.2, 0]]; _dragger setDir 180; // return dummy object _dummy };this is just a quick function that spawns a dummy unit for the east side and is made invincible and invisible and has his fsm removed to make him not fight or engage. the dummy unit also has forcespeed set on him so that he doesnt start running or speedwalking, making the animation look silly. it is called via:
_dummy = dragger call _DummyClone
now you can control the dummy and give him move orders and it will look like the dragger is moving the wounded unit, however one more thing is missing: giving the dragger the dragging animation, simply do this:
_dragger playMove "AcinPknlMwlkSrasWrflDb"; _dragger disableAI "ANIM"; _dummy doMove somewhere
that will keep the dragger constantly in a dragging animation state, and the dummy will move to whatever position you specified for him.
if you dont want to use the dummyclone function, simply create a unit in the editor, add all the code from the dummyclone function that disables ai abilities, and attach the dragger to him using the code above, and give the dummy waypoints, it will work too.
Hope some find this useful - it isnt the most prettiest solution, but it works and its much easier to control. I am currently working on a MEDEVAC script that will use this dragging ability to drag wounded into a helicopter. And hopefully, getting it to work as an order in high command so that groups can go off on their own and find wounded people to drag and move to a position. Should make for interesting combat.
cheers
-
1
-
-
another thing to add: this works really well for ai in buildings - if u create two groups and move them to a building with a waypoint (waypoint snapped to building) and have attack disabled, they will engage from the building.
Once my videos start to finish rendering ill show some examples and more tests... (grr videopad)
-
No, that would break the game. The AI needs to engage at times.Any change would have to be very carefully applied.
yeap
im not saying to remove engagement - it needs to be buffed up with more men engaging at a time. Thats probably the best solution right now thats quick.
-
Frequently when AI takes cover, they do so behind a house or wall the breaks line of sight to the enemy.Ideally, the AI would send units without current line of sight to engage, and understand that they cannot suppress and support other engaging units. Ideally all engaging units would be adjacent in formation.
But this is getting towards some pretty complicated coding. And from experience I know that when BIS makes things more rigid and predictable, as opposed to variable and mediocre, we get problems.
Edit: And here's something else for you to examine, Igneous. Do squad leader still give attack/engage commands when they are on a Move/Hold/Sentry waypoint? How do squads behave with a Guard waypoint and allowAttack false?
when giving them move waypoints, the leaders priority is to fulfill the waypoint, if he meets contact, he will still move to the waypoint but will be taking cover as he moves (expected) he will not order his groups to attack, they will all move in formation (with regards to covering each other) Guard waypoint makes the ai leader move to an enemy unit, so they all follow suit together. same with Hold. Once the leader reaches the waypoint, he will lie down, and wait there until another script gives him waypoints, or a move, doMove command.
Another issue you brought up that needs to be addressed: when ai are behind a building, they have no LOS to the enemy, so when given orders to attack, they will leave cover and focus on attacking the enemy. When individual units attack, there is no cohesion in the ai group, as everyone is running around to attack their specified target, which is why I think groups of 2-4 need to be addressed to attack and not individual units (which happens half of the time)
---------- Post added at 20:54 ---------- Previous post was at 20:51 ----------
I think this is deliberate, to help missionmakers. Getting the AI to move to a specific point of ground is nearly impossible at times, so being able to anchor a squad around one stationary unit is helpful. Also, if the squad leader does not move, he will not confuse his subordinates and cause them to break cover to maintain formation.Like someone else said before, try Guard waypoints. I believe that if you changed every Move and Destroy waypoint in the game into a Guard waypoint, the AI would appear 5 times smarter.
this might be true, but if the squad leader goes prone, then this causes all his member units to also go prone, unless they are issued attack orders (where they are free to move on their own) once prone, the ai will not move to cover, unless they manage to stand up or crouch on their own again (and this takes 30 seconds or more after SL made everyone go danger, sometimes it doesnt happen at all)
-
I think AI squad leader already issues orders to 2 units per target when it can.The good and simple solution will be:
a) issueing an order only to 2 people per target and no less
AND
b) not issueing an attack order to more than 50% of the squad <- this will also create an impression like AI suppresses you while sending men to flank you
As an example let's say that AI has 8 people so it should give an attack order only to 4 people, 2 per target. That way two small buddy teams will advance while 4 guys will remain in position to suppress and cover their advance (which will be a natural result of half of the squad staying in one place in most cases)
And even in case of fireteams - one buddyteam will attack, while the other buddyteam will cover and if one soldier gets killed the remaining 3 people will always stay together since 50% rule will be broken.
its split sometimes as to whether or not the ai leader will issue attack orders to two units, he does not always do it, around half of the time he issues them to individual units instead. However, the issue still remains that even with 2 units, they do not cover each other as expected, this might be true if for example the ai leader always issues attack orders to two men.
Biggest issue I have seen so far in regards to cover, is that the ai leader will not move to any nearby cover if he does not have any waypoints or a doMove command given to him via script. He will only choose to go prone and stay there, and this (as I said) causes the rest of the group to go prone as well, because they are copying his stance. This makes them not go to the nearest cover because they cannot move when prone.
I would like to see 12 man squad groups dividing into 3 teams instead of 6 buddy teams for the simple reason that they behave better with regards to moving in and out of cover and supporting each other, AI does not move very well in 2 man teams (although sometimes they can)
Once I upload some videos it will provide a clearer picture.
-
Currently in Arma 2 we have some great AI at work. They have the ability to take cover and engage and flank and support each other all very well. They can do all of this authentically, but theres a problem: the squad leader suppresses their intentions to fight well.
Some of you might be thinking what the hell am I going on about, let me explain:
THE PROBLEM
Squad leaders, by default, issue attack orders to other members when in a fight. This is a problem because it forces individual units to break formation and chase after an enemy - even if they have LOS to the enemy and we're shooting at him before, will now try and move closer to the enemy, effectively giving any and all cover to fulfill the leaders orders to attack the target. This is what kills the AI's fighting ability.
AI have the potential to fight and do amazing things when not issued any attack orders, because they are looking for cover rather than looking to be within 50m of the enemy target.
CASE STUDIES
example a): fighting on open plains/farm land with limited cover.
Here, you can see a basic fight set up - 3 fireteams given a waypoint by a rock/house with some insurgent squads moving to their position 500 metres away. Naturally the area is very open with limited cover available, so it should be sensible that the ai hold there ground behind this cover to engage right?
Here is screen of the fight in game - some of them are holding their ground and doing the right thing, but one of them has run out into the open for no reason (you cant see it here, but two of them in fact ran out of cover)
And here is the end result (only the squad leaders stayed behind the rocks, and about 2/3 of the other guys were ditching the rocks to fight them head on :(
Why did they do that? They were perfectly capable of fighting them from the rocks, they were all firing on the enemy, so why leave?
Now, here is the same fight repeated, but this time, giving our 3 fireteams this simple code in init
(group this) enableAttack false
This little code turns off the leaders ability to give attack orders to other member units.
Now lets see what happens in this fight:
This was all screened in the same fight - Nobody was leaving cover or doing suicide charges. AI stayed behind the walls and shack the entire fight and continued to engage from there - just as expected. Even the guys behind the shack wouldn't dare charge head on when there position is being overrun, they moved back.
This is just one example: But this problem applies to all areas of combat, not just open fields and plains. AI engaging in villages with lots of cover will still only be in cover about 50 percent of the time, because the main priority for them is to attack their target (or get within 50m of the target) and not go into cover.
This problem is compounded when single units are ordered to attack other units, they behave like 1 man groups, completely ineffective.
THE PRONE PROBLEM
AI leaders, when having no orders or waypoints to move somewhere, will not seek out cover or move when engaged. They will simply choose to go prone and thats it. This is problem because member units mimic the leaders stance, and so if the leader goes prone, it causes all other units to mimic his stance and go prone as well. As seen in this picture, the sniper is the squad leader of that group (same mission as before, but replaced soldier model to better illustrate this phenomena)
As you can see, everyone else in his team has moved to cover, but he will not move and stays in the same spot forever, until a script gives him a waypoint or a domove command, he will not move at all to better position himself while in combat.
ai leaders need to be able to give themselves low level move commands, because as it stands now, once ai leader fulfills a waypoint, HE WILL NOT MOVE TO COVER OR DO ANYTHING, he will simply go Prone and stay there, forcing all other units to go prone with him (copying stance)
SOLUTION
AI squad leaders need to STOP issuing attack orders to SINGLE UNITS - they completely reduce their own effectiveness to fight back, and leave their young comrades to die. Attack orders need to stop forcing units to doMove to the enemy, because if the AI is already engaging the enemy, there is no reason for them to suddenly leave cover to fulfill a request to be within 50m of target, or kill target.
Squad leaders should instead order 4 UNITS OR MORE to engage enemy units. With 4 units or more, these units will all stay in formation with each other, which is what allows the AI to take cover properly and to engage properly. AI units are only able to be effective if they are in groups and are in formation with each other.
BETTER SOLUTION
A better proposal would be to divide group members into even teams upon start up of the game (5 man team created = 2 teams, 12-13 man squad = 3 teams) and make AI squad leaders issue Team attack orders on OTHER ENEMY TEAMS. This i believe, will allow a compromise between ai flanking enemy units as a team, fighting in cover as a team, and team members to cover each other AS A TEAM. AI leaders need to give themselves lowlevel move commands, like all other member units, so they can fight in cover like everyone else.
CONCLUSION
The AI can fight extremely well, so well it blows my mind on some of the things they can do, what stops them from showing off this mind blowing ability, is the Squad leaders stubbornness to order individual units to attack other individual units. And his incompetence to take cover for his own safety, forever reducing his teams ability to fight. With proper adjustments to attack orders and squad leader movement, the AI can be seen as the proper fighters they are: Fighting as a team behind cover, and flanking as a team, using cover.
Will post more examples when i convert some videos
-
I have run some more tests with it on in a more controlled environment to see if my findings are correct.
when you turn off attack orders, the squad leader will only focus on moving to his waypoint and completing it - afterwards he will stay put.
What I have found is that, whether he issues orders on or off, the ai squad leader WILL NOT TAKE COVER once he has finished his waypoint, if the squad was not given any waypoints (so they stay where they were created) and come under fire, the ai squad leader will ONLY go PRONE and STAY THERE - AI SQUAD LEADERS DO NOT TAKE COVER WHEN WAYPOINTS ARE FINISHED, nor do they engage targets (unless he orders himself to attack a target, which only happens when entire squad is dead).
so some tests with 12 USMC vs 12 RU in Utes village, each moving to the village from the opposite side.
vanilla (nothing in init)
squads move, see each other, and squad leaders will go prone and take cover, until they reach their waypoint. Once they were finished with the waypoint, they sat there the entire time. units were scattering everywhere mostly taking cover and moving to attack their intended target. not much cooperation between member units - units were taking cover individually and away from other units, they were not supporting each other at all, unless they ended up moving to the same spot of cover. some were running around alot on open streets for sometime.
USMC squad enableAttack false
both squads move in, see each other, and ai leaders do the exact same as above. however, USMC squad is still in formation, so units were taking cover, but with other units along side them in formation - they looked like proper fireteams with 4-5 men in cover in the same area each watching a different direction - they had maximum security. No units were walking out of cover, all USMC units were in cover, and engaging from their cover. Russian units were both in/out of cover, they were not covering each other, so they ended up loosing the fight because they were individually popping out and getting shot by a much more secure USMC squad.
both squads enableAttack false
both see each other, ai leaders do exact same as above, however, since both units are in formation, they both stay in formation with squad leader and take cover. some good shooting happens between the units, but once the leaders finish waypoint, and members are in formation (while in cover) they do not fight after that - instead everyone is now in cover covering some direction, and so no one can engage because no one bothers moving to attack the other team - they get stuck essentially. They know that the enemy is right around the corner, but no one wants to go take a peak, they are happy where they are, and stay that way indefinitely (however one or two people do fire a bit at each other)
so, problem here is, is that the squad leader is the worst unit in the group - he does not take cover when he has no waypoints, and he does not move or engage when he finishes one. Also, units dont fight well when the leader issues individual attack commands to units. They also have problems staying in cover, they are mostly 50/50 in cover like this, no one is watching their back when they move out of it.
so really, what needs to be fixed is the ai leader needs to be able to give himself a lowlevel move command to nearby cover, and he needs stop giving orders to 1 unit, but give orders to 2 or 4 units instead, because like this these 4 units will stay in formation and provide security for each other, which looks better and translates into better ai combat ability.
I think BIS needs to rework this attack system - split ai groups into teams upon start up (divide them by either 2 for fireteams, or 3 for squads) and make ai leaders issue attack orders to teams of 4 to attack another TEAM of 4.
but these are just some observations after watching the same fight 6 times.
-
the reason they run around, is because squad leader gives single men attack orders.
AI perform amazing, if you do this on every single group:
(group this) enableAttack false
this works great for fireteam groups - I dont spawn full ai squads anymore, just 3 fireteams with this command, makes them all take cover behind a single rock, suppress and move and engage when they deem it appropriate (usually when another fireteam is firing at the enemy)
here is an example:
i created 3 fireteams and turned off attack orders using code above in group leaders init, gave them a waypoint near a rock, each team was at a different point of cover. Then I created 7 groups of insurgents, and gave them a wp to the fire team positions, and observed:
result:
all fireteams took cover behind same obstacle, some other members went to the next nearby cover (hay stack for ex) all faced direction of fire, all shooting behind cover, MG fireteams were suppressing behind rock cover to great effect, insurgents were suppressed, and eliminated one by one. No body was ditching cover going off on their own - insurgents however were trying to attack separately because ai leader giving them attack orders, and they did not obey cover or anything - they just attacked in the open.
repeated this same fight again with enableAttack set to false on insurgent groups: result:
at contact, everyone took cover behind something, facing appropriate direction, and the engagement was stretched out even more, both groups suppressing teams, with the insurgent groups moving up when they deemed appropriate. Looked alot like suppress, move until they reached and destroyed the 3 fireteams behind the rocks.
NO AI mods were used, just standard AI. So problem is the individual orders to attack targets that make ai fail.
anyway, as for you commanding ai - best thing to do is to split members into teams, order teams to suppress, and 1 team to move, and keep bunny hopping in this fashion and progress will be made. or you can try an L-assault, with main line of fire suppressing fire, and 1 team moving in on flank to engage them from closer range and destroy them.
-
you would have to first find the nearest building via nearestobject
you would need to find the window selections/memory points on the object in question
then you could either
getpos of it and setpos them with some math to make them stand on the right side of the window
or
attachto the window and adjust offset, check once the unit gets hit or dies, then detach
im sure there are more robust ways, this is just brainstorming
-
ah, thanks, forgot about that command
-
this will cause a delay until AI team leader or yourself notices that unit is dead if so. better use OR !alive _x instead of && alive _x in above condition.above condition will fail every time since && means and, wich is translated to:
vehicle unit is veh1 and vehicle unit is veh2, wich never happens ofc, only one vehicle at a time, unless you are a wizard ofc ;)
it should be OR or the sqs equivalent ||
my mistake, meant || ;)
as from my experience, alive fires off the moment the ai unit dies, it has never delayed for me. However, depending on the realism of the situation, you would usually wait until all members are in vehicle, since you dont know who is down, once someone is confirmed to be down, then the leader should order to take off.
-
assignedCommander veh assignedDriver veh assignedGunner veh assignedCargo veh assignedVehicle unit
however im not sure about turret positions, and whether or not assigned gunner can return an array of gunners (ex 2 chopper gunners)
-
PS, can I use the same handle >>
_sideHQ
<< for each of the create center commands if I wanted to create center for multiple sides in the init?
I dont think so, since the variable stores that particular side, once you use it for a new side, the old one is overwritten (unless the engine moves it into a temporary container, much like how sides are auto created when a unit is placed on the map)
-
try this instead:
{waitUntil {vehicle _x != _x && alive _x}} foreach units mygroupthat will check if a unit is any vehicle, if you want to refine it to only two specific vehicles, test those conditions with
vehicle _x == veh1 || vehicle _x == veh2
-
Hi. Look at the link to Spring: 1944 I posted please. It has suppression too. But Spring engine has much more: scripting and physics! I played Company of Heroes for a while but... it's just show for me, sorry. Why the hell you can't zoom out? How can mortar kill running enemy? Why do tanks have fire range max. 40 meters?besides the unrealism in it (come on, not everything is supposed to be a simulator now is it?) it was a very competitive and fun game to play. I played it for 5 years, automatch 1v1 was the best thing out of that, the fluidity of gameplay was unmatched, axis mg setting up, rifle baiting the mg while the other rifles flank, volks trying to stop the flank, another mg being set up to cover the first one. It was a great dance of maneuvers between skilled competent players and thats what made it so fun. the expansion had promise, except that the british faction was terribly designed. However PE was greatly designed and opened up alot of possibilities for new builds, etc.
Thats what made it a great RTS, not the unreal distances of engagement
-
So any game that use (classic) orchestral music or some sort of is automatically of higher quality than those who use other music/tracks/compositions? Thats sounds like few people can't accept+respect new styles of music and sounds - even in games. Whats wrong with creating something new instead of copy & paste only?it doesnt have anything to do with that, its just other styles of music are much more restricted and condensed (no meter changes, no rhythm changes, no key changes, no modulations, no counterpoint, etc)
I dont by any means mean that this must all be present in video game soundtrack to make it better. But this is what prevents copy and paste because anyone experienced in musical theory can stretch any melodic fragment/motif into a completely new direction for the music while still being related to the original melodic fragment, or they can do counterpoint, or write atonal music, or polytonal music (stravinsky) or even avant garde. There are no boundaries to writing at all with these tools. Other genres of music simply dont follow them nor do they adopt them.
you did say classical music, if your referring to film score music or simply orchestral music that is not classical, then I agree and say that it is mostly completely stale and uninspired.
-
Not if they turn the cannons around and always fire backwards! Problem solved. :DGTA3 much? :D
0EC1VCf5eEY
-
he means, giving an ai unit in your group to land, the only way you can do this currently is to order the pilot to disembark
-
no, but enough to stop the planes inertia, one cannon shot would probably reduce the velocity by half, enough to make the aircraft loose engine power and lift and end up plummeting to the ground :D
-
^
I know its not a photo, and I also know it was never built, its just a design.
But a design worthy enough to post about and say WTF
-
have you tried defining scopes and using breakTo/breakOut? if you want to exit the entire scope of the script with that else exitWith, just name the setScope "Main" on the main scope and use breakTo "Main" - that will effectively exit the script.
if you already solved this, then nevermind
-
technically you dont need the helipad, name the first trigger something, then setpos the other trigger to the position of first trigger









SOPA - Internet as we know it about to be gone?
in OFFTOPIC
Posted
if it passes, it will mean the end of youtube and most sites that show or expose new media that isnt apart of the big 4. Practicly anything that has infringement or the possiblity of infringement will be blocked. Thats really bad :(
Im hoping it doesn't pass, information should be free and thats why the web exists today.
I mean come on Universal, Brittney Spears and Lady Gaga are not going to cut it for me, stop shoving this stuff down my throat and telling me to listen to it and like it. same with EA telling me to play Battlefield, I already played bf2, how many more times do you want me to play bf2?