Jump to content
klamacz

AI Driving - Feedback topic

Recommended Posts

"useAISteeringComponent false"....do i simply paste this in a vehicles init field in the editor to disable the new ai driving mechanic? I did that for individual vehicles and all vehicles in a convoy and i die not see any difference. Didn't test it to thoroughly though. So this command makes an individual vehicle behave and drive like pre 2016, is that correct?

 

@FirstPanic

 but if the issue was only about community content, it would be annoying but we could actually deal with it on our end. But its not working in plain vanilla neither. Let's hope for the best with the upcoming roadmap anouncenents!

Share this post


Link to post
Share on other sites
8 hours ago, Tankbuster said:

https://en.m.wikipedia.org/wiki/PID_controller

It's the software that provides the constantly updating driving decisions.

NOT Practiced In Destruction. Hehe.

 

That is not what I mean, I don't care what the abbreviation means, I would like to know where/how to configure it.

Share this post


Link to post
Share on other sites
8 hours ago, Grumpy Old Man said:

So there's no way to override the new driving stuff?

Thing is the AI controlled hatchback would blast down this road without problems prior to the AI getting individual steering stuff for each vehicle. It might have been way too fast for the final turn at the end of the straight, but on the straight it stayed straight, heh.


The "new driving stuff" is just the PIDs. Set useAISteeringComponent to false or delete the component class iirc (inherited all the way from Car_F base class) and you're back to the "old driving". But there are many other things that can influence or be the cause of AI driving issues (see at the bottom).

The oscillations around the ideal path have been always around in Arma 3 and were usually "caused" by a strong (good enough) braking power. In the "old driving" we simply solved it by making the brakes deliberately weak(er).
In the "new driving" one should be able to tune the AI driving (PID controllers) well together with any vehicle steering, accelerating or braking capabilities. Even with some driving style (casual, racing) in mind. At least in theory. In the old driving the AI posed strict limits to what one could do with the configuration of the vehicle handling.

I can't ask you to "fix it for us" but I'd still humbly ask anyone to try setting up the PIDs themselves (info in the first thread post). If you find values that give better results please share them with us and we'll be more than happy to adjust the configs.

Otherwise, from top of my head - in Tanks and in the previous patch - there have been several changes which may have had some impact on the AI driving

* PhysX lib update

* Switch from raycast to sweep queries and wheel colliders
* Adjusted surface frictions (generally lowered)
* Small changes to AIpathOffsets on roads
* Various AI driving fixes

* And for Hatchback specifically also a complete overhaul (that's why the blame;)) of it's PhysX configuration. Other overhauled vehicles were the tracked ones, the kart, Hatchback, Zamak and also wheeled APCs to a degree. Using e.g. Hunter for testing would rule out these overhauls as a possible cause.

  • Like 3

Share this post


Link to post
Share on other sites

In the first post there's some commentary missing, so:

class AICarSteeringComponent //or AITankSteeringComponent
{
    // controls working parameters of steering PID controller (Kp, Ki, Kd)
    steeringPIDWeights[] = { 1.2, 0.1, 0.2 };
    // controls working parameters of speed PID controller (Kp, Ki, Kd)
    speedPIDWeights[] = { 0.7, 0.2, 0.0 };
 
    // remapping of maxSpeed of vehicle, for fast vehicles we want to lower the used speed
    doRemapSpeed = true;
    remapSpeedRange[] = { 30.0, 70.0 };
    remapSpeedScalar[] = { 1.0, 0.35 };
 
    // prediction ahead is used for both steering and analysing of shape to modify the speed
    doPredictForward = true;
    predictForwardRange[] = { 1, 20 };
    // steer ahead is a point to steer to, saturated down to given range, in meters
    steerAheadSaturation[] = { 0.01, 0.4 };
 
    // set method of predicting safe speed
    // 0 - three angles method
    // 1 - wheel direction method
    // 2 - combined method
    speedPredictionMethod = 2;
   
    // three coef's to determine how much given angle should influence slowing down
    wheelAngleCoef = 0.7;
    forwardAngleCoef = 0.7;
    steeringAngleCoef = 1.0;
    differenceAngleCoef = 1.0;
  
    // for how long we allow the vehicle to be not moving, before it replans
    stuckMaxTime = 3.0;
                 
    // overtaking is part of collision avoidance
    allowOvertaking = true;
    allowCollisionAvoidance = true;

    // allow using movement vector as direction (experimental)
    allowDrifting = false;
  
    // parameters of predictionMethod = 1
    maxWheelAngleDiff = 0.2616;
    minSpeedToKeep = 0.1;
  
    // how strong AI will turn when commanded left/right
    commandTurnFactor = 1.0;

    // AITankSteeringComponent only
    allowTurnAroundInPoint = true;
};

 

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites

Is anyone else seeing this problem ......

 

Set a vehicle (wheeled or tracked) and place a waypoint 180 behind them (distance doesn’t even really matter!). Watch them NOT moving at all - even after quite a while.

  • Confused 1
  • Sad 1

Share this post


Link to post
Share on other sites

always nice to see AI Driving related patch notes, thanks!

 

Quote

Tweaked: AI will now stick more to the right side on roads 

Tweaked: AI may drive a tiny bit smoother when crossing bridges

 

 

Share this post


Link to post
Share on other sites
6 hours ago, fn_Quiksilver said:

always nice to see AI Driving related patch notes, thanks!

 

 

 

 

Can't see any difference though.

The side of the road seems erratic at most, on a straight line the faster a vehicle goes, the more it will stick to the middle.

If the road isn't broader than what seems to be 10m, the side a vehicle is driving on depends on the previous curves of the road.

If it was a left turn, the vehicles tend to cut corners and therefor stick to the left of the center, as seen in the video onwards from 1:19.

 

I even picked the Hunter this time, since this has been recommended by @oukej in his post above.

 

 

 

Cheers

  • Thanks 1

Share this post


Link to post
Share on other sites

This changelog note only related to to the Malden terrain. Same changes were applied to other terrains previously.
The roads of various types should now have a consistent positioning of the path line on the road - the line the AI is trying to follow when driving in one direction. The path line offset on the road also depends on the size of the vehicle - the bigger the vehicle the more to the center the line will be. It can't be too close to the side because of the resolution (spacing) of the path nodes on the road which can lead to cut corners.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

@oukej And did you guys look into why convoys are being broken up by one random vehicle in that convoy? A lot of this driving issues wonld not even come into the fore if convoys would work as intended. All the overtaking issues and being stuck things would happen way seldom if convoys would not break up for no apparent reason.

Share this post


Link to post
Share on other sites

@Grumpy Old Man the second vehicle is waiting for the release of Arma4 !!  I'm afraid all we are going to get (and this is soo regretable) is the 'sorry, we aren't going to fix it' response :(

  • Like 2

Share this post


Link to post
Share on other sites
29 minutes ago, kremator said:

@Grumpy Old Man the second vehicle is waiting for the release of Arma4 !!  I'm afraid all we are going to get (and this is soo regretable) is the 'sorry, we aren't going to fix it' response :(

I won't be held hostage in that way.  I refuse to put my money into something that reaches the end of its development broken.

  • Like 7

Share this post


Link to post
Share on other sites
7 hours ago, Tankbuster said:

I won't be held hostage in that way.  I refuse to put my money into something that reaches the end of its development broken.

 

Well put. These overhaul decisions were questionable from the beginning, since BI was known for their aim to keep things backwards compatible and not to break stuff with that in mind.

Seeing how the Visual "Upgrade" (ruined lighting for Altis, Stratis and all modded maps), AI "Refactoring" (ruined the way AI skill works and basically nullifying all settings made and tweaked by communities/mission makers for 4 years+) and AI Driving "Overhaul" (was working pretty well during summer 2016 but got worse since then and got left in the dust) didn't work out, the trend shows that there's likely no fix to expect.

 

Take AI as an example, they still have 0 survival instincts, 0 reaction time, go immediately prone when under fire, even in the middle of a road with no cover nearby.

AI jets still diving towards the target (the armed blackfish, just why?) despite having weapon systems that allow engagement beyond 2km+, releasing bombs <50m from the target, if there's a hill with trees behind the target the jet will still nosedive straight into it. This issue is most prominent on tanoa, 100% reproduceable and has been reported numerous times yet nothing happened. Pretty game breaking if you ask me.

 

As I already stated in some other post, if the AI will not receive a major overhaul/rewritten from scratch A3 will be the last iteration of this franchise for me.

 

Cheers

  • Like 7
  • Thanks 1
  • Sad 1

Share this post


Link to post
Share on other sites

also happens to be the least moddable and least work-around-able part of the game, yet fiercely guarded from publishing the code and allowing community designers to fix 

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

Can we please have a commitment to fix the most serious AI driving issues such as not even moving before the devs abandon Arma 3?

 

We have paid good money for this game and simply stating the devs are now working else where isn't acceptable. 

Edited by Mack.
wording
  • Like 7
  • Thanks 1
  • Sad 1

Share this post


Link to post
Share on other sites

Glad to see this thread stickied again :) if specific feedback or repro examples are needed let us know here, im sure we can come up with things quickly. community is here to help, though we might grumble and rant, the worst kind of feedback is the person who silently disappears without explanation. and though we are a noisy minority, i think a lot of people care about this part of the core game.

  • Like 4

Share this post


Link to post
Share on other sites

As we’ve just had tanks DLC I would have expected some MAJOR improvements to the driving of tanks.  If you cannot get to where you want in a battle, what difference does it make if they look wonderful inside or have an improved damage model.  Hell, for that matter, if they CANNOT reverse away from a threat (keeping max armour facing the enemy) what is the use of them??

  • Like 4

Share this post


Link to post
Share on other sites
3 hours ago, kremator said:

As we’ve just had tanks DLC I would have expected some MAJOR improvements to the driving of tanks.  If you cannot get to where you want in a battle, what difference does it make if they look wonderful inside or have an improved damage model.  Hell, for that matter, if they CANNOT reverse away from a threat (keeping max armour facing the enemy) what is the use of them??

Same for me and jets DLC. What good are all those fancy weapon systems when vanilla AI won't use it and still dive towards enemies, dropping bombs at <50m?

 

Cheers

  • Like 3

Share this post


Link to post
Share on other sites

Found a very bad vanilla bug when the AI disembark (related to driving):

 

 

Vanilla ArmA 3, version 1.82.144710. 100% repeatable. Shoot the AI to get them to disembark. Guy getting out will errantly collide with vehicle, often causing vehicles to completely flip over.  Worst offenders are guys getting out of the front, but guys getting out of back can cause very high impact collisions too, if you experiment long enough.

 

Wrote it up here:

https://feedback.bistudio.com/T129131

 

I think I started noticing this alongside the Tanks DLC platform updates. I like that vehicle to foot unit collisions now seems to be better & seem to last for longer.  I'm hoping devs can keep all that great new collision/interaction!  Just fix the automatic high-impact (game-breaking) collision where AI is disembarking (and conscious, etc).

 

Btw - This issue is happening with a lot of different vehicle types, including mods when mods are loaded.  (Also should re-iterate, video above is unmodded game.)

  • Like 3
  • Thanks 2
  • Haha 1
  • Confused 1

Share this post


Link to post
Share on other sites
20 minutes ago, madrussian said:

Found a very bad vanilla bug when the AI disembark (related to driving):

 

 

Vanilla ArmA 3, version 1.82.144710. 100% repeatable. Shoot the AI to get them to disembark. Guy getting out will errantly collide with vehicle, often causing vehicles to completely flip over.  Worst offenders are guys getting out of the front, but guys getting out of back can cause very high impact collisions too, if you experiment long enough.

 

Wrote it up here:

https://feedback.bistudio.com/T129131

 

I think I started noticing this alongside the Tanks DLC platform updates. I like that vehicle to foot unit collisions now seems to be better & seem to last for longer.  I'm hoping devs can keep all that great new collision/interaction!  Just fix the automatic high-impact (game-breaking) collision where AI is disembarking (and conscious, etc).

 

Btw - This issue is happening with a lot of different vehicle types, including mods when mods are loaded.  (Also should re-iterate, video above is unmodded game.)

Uhm, why are the other units not firing at you after killing one of them? Shouldn't you be sideEnemy after your score drops below -2000?

 

Cheers

Share this post


Link to post
Share on other sites

Good observation.  In Attributes->General, set west and resistance to be enemies of one another.  In player init field, set player as captive.

 

Plus, in each AAF squad leader's init field:

{ _x assignAsCargo truck1; _x moveInCargo truck1 } foreach (units (group this));

...for each squad/truck.

Share this post


Link to post
Share on other sites
18 minutes ago, madrussian said:

Good observation.  I set west and resistance to be enemies of one another, and set player as captive.

 

Did another test, player and other units blufor, no one set captive.

There seems to be an issue:

 

Cheers

  • Like 1

Share this post


Link to post
Share on other sites
30 minutes ago, Grumpy Old Man said:

Maybe I'm missing something, but there's no more friendly fire punishment? Just tested in local hosted MP, usually you'll join sideEnemy afterkilling 1-2 friendly infantry units, this no longer seems to be the case.

 

Wow, good catch!

 

I just checked it.  Four NATO riflemen in editor, one as player, none as captive.  Killed two men and checked player's rating and side.  Player's rating was -2000 and side was still west.  (As memory serves, -2000 always resulted in sideEnemy before.)

 

Shot 3rd man, checked player again.  Rating was -3000, side was sideEnemy.  Looks like perhaps the bar got moved down?  Looks like you can kill 2 basic friendlies now without penalty.

 

Edit:

Ran the above test in SP.

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, madrussian said:

 

Wow, good catch!

 

I just checked it.  Four NATO riflemen in editor, one as player, none as captive.  Killed two men and checked player's rating and side.  Player's rating was -2000 and side was still west!  (As memory serves, -2000 always resulted in sideEnemy before.)

 

Shot 3rd man, checked player again.  Rating was -3000, side was sideEnemy.  Looks like perhaps the bar got moved down?  Wow, looks like you can kill 2 basic friendlies now without penalty.

Rating seems to return 0 for me, all the time. The only thing that changes is the score:

 

 

Maybe I'm missing something and this is some kind of devbranch exclusive behavior, no idea.

 

Cheers

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

×