Jump to content
klamacz

AI Driving - Feedback topic

Recommended Posts

However, notice that they're generally not crashing into each other, careening off the road or getting stuck in the nearby buildings. :) This is an improvement, though there's still work to be done (especially regarding speed).

 

TBH, it'd be great if true analog throttle could be implemented for AI as a part of driving overhaul. This would go a long way towards solving the "stop-and-go" behavior and might very well be the only way to fix it when dissimilar vehicles are involved. Sadly, it seems that a good part of the AI is built around the "3-speed" model, so that might not be possible.

Share this post


Link to post
Share on other sites

analog throttle would only highlight the underlying issue. AI tries to keep a certain speed matching the 3-speed-mode.

But the drive model just isnt reliable. You as a player can give 0.01 throttle and you will still accelerate to 30kph (varies between vehicles of course). That means keeping a constant speed is extremely even as a player, which isn't really feasible for the AI. If you do analoge AI speed, that means it will be more finer in controll, which requires AI speed limits to be tighter ->more frequent accelerating and braking by AI.

Try it yourself - grab an mbt and try to give the smallest amount of analoge throttle and see how fast you will go. It's a bit silly. (using arma3diag.exe and EPEVehicle dialog shows you the throttle amount)

Share this post


Link to post
Share on other sites

This is why I'm saying that throttle needs to have actual analog control, not the rubbish we have now. Instead of keeping a certain speed matching one of the speed modes, it should adjust speed to match the lead vehicle. End of the story. It's not a matter of tighter limits, but the ability to set these limits to an arbitrary value, which would require dumping the 3-speed system into trash (something that's long overdue).

 

The matter of the player not being able to control speed properly is another issue. The throttle needs to start working like an actual throttle pedal. Still, AI doesn't need to necessarily use the same detailed throttle system as the player, it just needs to be able to control its speed properly.

Share this post


Link to post
Share on other sites
vehicle forceFollowRoad true; // does what it says, vehicle can only steer on road network

 

Does this command rule out jungle paths on tanoa? If yes, this is amazing!

Share this post


Link to post
Share on other sites

The throttle needs to start working like an actual throttle pedal.

It already does. The rest of the drive model just isnt good enough (driving resistances, some possibly unphysical behaviours, etc).

 

 

This is why I'm saying that throttle needs to have actual analog control, not the rubbish we have now. Instead of keeping a certain speed matching one of the speed modes, it should adjust speed to match the lead vehicle. End of the story.

The speed of the lead vehicle is wildly varrying (Can be between 20 and 38 for example) as AI tries to hold speed. You seem to be confusing thrust/throttle with speed... the AI already use "analoge" throttle. If you order T-100 to drive slow, he uses throttle/thrust values even below 0.01 (but greater than 0) and still goes from 33 to 42kph on a flat plane. If he is faster than 42kph he uses thrust value 0 (no thrust) until he is down to 33 again. I dont know what the target value for speed is in SLOW mode. But if we assume it's 37.5kph the lead vehicle targets, we have a deviation of +-5kph. The next following vehicle will try to match current speed of lead vehicle, which will lead to a maximum deviation of +-10kph from lead vehicle's speed target speed, as it constantly needs to adjust speed, but also is constantly fluctuating above or below the wanted speed, because it can't accurately match the speed without rapidly switching between acceleration and braking

 

 

Talking about speed limits - devs, could you please remove the speed limit from reverse speed? It causes idiot behaviour in reverse (see 0:50), because the drive model has no analoge thrust in reverse. It's either full reverse thrust, or braking. If the vehicles go too fast in reverse in your opinion, lower the gear ratio of the reverse gears.  The first issue in the video is most likely caused by the obnoxious "s-curve" behaviour for small "taps" on the keyboard, just in this case the vehicle stands still -> can't turn too well

Share this post


Link to post
Share on other sites

If that's the case, driving physics need to be fixed (or even lower nonzero throttles allowed). Can you show this happening in wheeled vehicles, though? T-100 might be an egregious example, but it's a tracked vehicle, which were never done particularly well in ArmA. Tanks have always acted strange.

 

I never monitored how exactly the analog throttle behaves, but with properly modeled friction and drag, it should be possible for the AI to hold any speed. At least in the HEMMT, I didn't notice an egregious problem with the gas pedal, though. Last time I drove it, low speeds and stopping were a bit finicky (particularly due to reverse being mapped to the same control as brake pedal), but otherwise, it seemed mostly allright.

Share this post


Link to post
Share on other sites

 

As a mod maker, you can configure your own vehicle and experiment with the config values directly:

class AICarSteeringComponent
      {
        steeringPIDWeights[] = { 2.0, 0.2, 0.0 };
        speedPIDWeights[] = { 0.5, 0.2, 0.0 };
        doRemapSpeed = true;
        remapSpeedRange[] = { 10.0. 90.0 };
        remapSpeedScalar[] = { 1.0, 0.35 };
        doPredictForward = true;
        predictForwardRange[] = { 1, 20 };
        steerAheadSaturation[] = { 0.01, 0.4 };
        speedPredictionMethod = 2;
        wheelAngleCoef = 0.7;
        forwardAngleCoef = 0.7;
        steeringAngleCoef = 1.0;
        differenceAngleCoef = 1.0;
        stuckMaxTime = 3.0;
        allowOvertaking = true;
        allowDrifting = false;
        allowCollisionAvoidance = true;
        maxWheelAngleDiff = 0.2616;
        minSpeedToKeep = 0.1;
      };

 

Hi,

 

I looked for these values in some configs for A3 cars just now and I can't find them.

 

I thought they would be under (for ex):

 

configfile >> "CfgVehicles" >> "C_SUV_01_F" >> "AICarSteeringComponent"

 

but I couldn't see the class defined where I would expect.  Have they been removed (or am I looking in the wrong place)?

 

Thx.

Share this post


Link to post
Share on other sites
vehicle forceFollowRoad true; // does what it says, vehicle can only steer on road network

 

 

clapping-crowd-applause.gif

 

 

 

 

Please ensure the small jungle paths on Tanoa are not included in the whitelisted network! <3

  • Like 1

Share this post


Link to post
Share on other sites

Also, experimentally, there is new function 

vehicle forceFollowRoad true; // does what it says, vehicle can only steer on road network
Wasnt this the default 'safe' behaviour back in the days?

Share this post


Link to post
Share on other sites

No, it wasn't. The vehicle would follow roads, but steer off them in case the road was blocked, it had to turn a sharp corner or just felt like it (or if you ordered it off the road, for that matter). This would, more often than not, result in vehicles crashing into things. They were somewhat better about it in the previous games, but convoys were always risky.

Share this post


Link to post
Share on other sites

@ andersson

For careless it is/was.

Sadly BI never was open to the idea to give this ability to player control or make it used also by safe mode.

Share this post


Link to post
Share on other sites

Did any of these changes or any vehicle AI make it into stable 1.62?

I was under the impression no, but over in general, a user said it did.

Can anyone clarify?

No one knows what, if any AI driving adjustments have made it into stable 1.62? Will any be included in the pending RC?

Share this post


Link to post
Share on other sites

Driving enhancements didn't make it in to 1.62, see https://dev.arma3.com/post/sitrep-00161.

Deep in his secret lair, Senior Programmer Krzysztof Bielawski has been experimenting with significant AI driving enhancements. Before we describe this effort more, we should make it clear that this tech will not be part of the 1.62 update yet. It requires more work and testing of all content.

They are included with the 1.64 RC it seems. :)

RC testing for update 1.64 has started.

Steam branch access code: Arma3Update164RC

Arma 3: ~5.6 GB / Arma 3 Server: ~1.0 GB (depends on Apex ownership)

Areas of focus (pseudo-changelog):

Added: Simple Objects Integration

Added: Apex Protocol Difficulty Overhaul*

Tweaked: Vehicle Path Following Improvements

Tweaked: Weapon Balance Optimizations

Tweaked: Stability & Performance Improvements

* Content requires ownership of the Arma 3 Apex expansion.

  • Like 1

Share this post


Link to post
Share on other sites

I'm still seeing corner cutting, mostly by the following vehicles.

It seems to get worse with each following vehicle but it's also been happening since A2/OA.

 

It's a little better when using  vehicle forceFollowRoad true but it still happens.

Share this post


Link to post
Share on other sites

The AI seem to be totally drunk at the moment...

 

  • Open any map, as long as it has roads.
  • Place a prowler with some dudes in it (I used the Syndikat guys).
  • Give them a MOVE waypoint at some distance (mine was 3 km away), set the formation speed to FULL.
  • Play as one of the passengers. Keep a bucket at hand in case you feel sick.

 

Long story short, the driver keeps turning left & right, even on long straight roads without any obstacles.

Still an issue as of 1.64 RC

Tested on Tanoa (start in Balavu, end at Bala Airstrip)

Vehicle: Jeep Wrangler

Behaviour: SAFE

Waypoint Speed: NORMAL

forceFollowRoad: true

Share this post


Link to post
Share on other sites

Another issue I had was a group of vehicles were doing several waypoints cycled after a few completed cycles half the vehicles stopped turned 180 degrees and drove in the wrong direction.

 

There were no eneymy AI or obstructions added that could have confused them.

Share this post


Link to post
Share on other sites

Another issue I had was a group of vehicles were doing several waypoints cycled after a few completed cycles half the vehicles stopped turned 180 degrees and drove in the wrong direction.

 

There were no eneymy AI or obstructions added that could have confused them.

 

Such issue needs a repro mission, there are too many possible reasons for this behavior.

  • Like 2

Share this post


Link to post
Share on other sites

Force AI to pass a driving licence.

It's abnormal to see a stuck vehicle (against an obstacle), keeping the same turning angle, driving forward or reverse.

Share this post


Link to post
Share on other sites

Such issue needs a repro mission, there are too many possible reasons for this behavior.

 

sounds like we need a standardized test course for AI drivers

  • Like 1

Share this post


Link to post
Share on other sites

I didn't save the mission yesterday when they were turning around after a few cycles.

 

Today they're just messed up just either moving back and fourth  or ramming walls.

Share this post


Link to post
Share on other sites

I didn't save the mission yesterday when they were turning around after a few cycles.

 

Today they're just messed up just either moving back and fourth  or ramming walls.

You still haven't provided a sample repro mission ;) Trust me, it's extremely needed when attempting to isolate issues.

Share this post


Link to post
Share on other sites

sounds like we need a standardized test course for AI drivers

Surely to goodness there must exist such a 'thing' at BIS QA ? 

  • Like 1

Share this post


Link to post
Share on other sites

You'd like to think so, but the evidence isn't there.

 

Will I'm all for proper bug tracking, the requests for repro are in this instance pointless. Here's how to replicate any of the dozens of AI driving problems that have plagued us for 10 years; Place a car unit with driver, give him a waypoint, ideally across town, observe the fail.

  • Like 2

Share this post


Link to post
Share on other sites

You'd like to think so, but the evidence isn't there.

Will I'm all for proper bug tracking, the requests for repro are in this instance pointless. Here's how to replicate any of the dozens of AI driving problems that have plagued us for 10 years; Place a car unit with driver, give him a waypoint, ideally across town, observe the fail.

Given the noticeable effort BIS is putting into improving AI driving, I don't see how this is helpful.

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

×