HeroesandvillainsOS 1504 Posted March 11, 2017 7 minutes ago, R3vo said: That's not what he meant and you know that. R3vo, that's a little unfair man. We've talked before so I'm disappointed you'd assume that of me and that my question was sarcastic. It wasn't (which is why I said "honest question.") Share this post Link to post Share on other sites
R3vo 2654 Posted March 11, 2017 10 minutes ago, HeroesandvillainsOS said: R3vo, that's a little unfair man. We've talked before so I'm disappointed you'd assume that of me and that my question was sarcastic. It wasn't (which is why I said "honest question.") Fair enough. It's almost 12 pm, clearly missed the sarcasm ;) 2 Share this post Link to post Share on other sites
orcinus 121 Posted March 12, 2017 On 06/03/2017 at 9:16 PM, mickeymen said: One of the main problems of AI driving continues, the fact that AI drivers crushes their allies! Unfortunately, hardly anyone speaks about it, especially in this thread. True, it's a problem, as is the AI blindness to friendly human players. However. it's not correct to say "hardly anyone"; there are comments and discussions all over the forums, and some excellent coders have shared mods/scripts to improve various aspects. Using kju's excellent "DisableFriendlyFireServer" addon makes a huge difference. Uber-realists may carp, but it's more realistic than the mass-murder AI drivers routinely commit. The game becomes much more playable and more fun especially with the Vcom_Driving mod. BIS still needs to fix the driving (not to mention AI perception deficits). Share this post Link to post Share on other sites
Alwarren 2767 Posted March 12, 2017 12 hours ago, HeroesandvillainsOS said: Honest question: BIS devs are unpaid? That is not what I meant, read it in context. The thing was "AI doesn't sell DLC's", so when I said "unpaid" I mean "things you as a customer do not have to pay for", not that the BI developers are unpaid. Anyway, I don't want to derail the discussion any further. 1 Share this post Link to post Share on other sites
Varanon 892 Posted March 13, 2017 On 3/11/2017 at 11:58 AM, .kju said: Such situation would need a different design in general, like * Infantry moving aside Agreed, Infantry right now does not react at all to vehicles, they should try to avoid them 4 Share this post Link to post Share on other sites
mickeymen 324 Posted March 17, 2017 On 12.03.2017 at 1:53 PM, orcinus said: BIS still needs to fix the driving (not to mention AI perception deficits). I think, this is one single problem Share this post Link to post Share on other sites
pierremgi 4852 Posted March 18, 2017 Do you think or do you know if vehicles make a difference between units on foot (AI or player) and other objects? It could be fine if yes, just increasing safety range for friendly units... and reducing it to zero for enemy ones. Share this post Link to post Share on other sites
fn_Quiksilver 1636 Posted March 20, 2017 Loving the new AI driving command(s) @klamacz 3 Share this post Link to post Share on other sites
alsi23 0 Posted March 27, 2017 On 6/10/2016 at 8:17 PM, klamacz said: They told me to explain what is new AI driving and how it works. We've been working on it for many months, in almost complete secrecy (excluding occasional Oukej talking about vacuum cleaners). It is mandatory to mention, that it is still Work In Progress, has few bugs I know and many which I don't know about yet. Also, currently this new AI driving works only for wheeled vehicles, otherwise known as Cars. Now let me try to convince you that it was worth waiting for. Motivation, so why we even bother Main issue we wanted to fix was AI's inability to drive the car through narrow streets of most of the cities without crashing, especially on tight corners and complicated junctions. Trying to solve those issues in broad aspect of driving behavior we found out, we need also to refactor big part of code, basically everything related to AI driving. This led to creation of new component class, which can be added and configured for each Car, and many other changes, movements, improvements and optimizations. Finally, the purpose is to give us and mod-makers better ways to configure AI driving behaviors per vehicle, easier and more flexible ways for mission makers to control their AI, and precise and competent drivers for players to encounter. Execution, so how it is done Main point of new technology is a new component (AICarSteeringComponent), which encapsulates all related algorithms which steers the car. We chose to make it a component of Car, not AI agent or his brain, as tweaking of parameters of Component can happen per vehicle. In sense it defines driving behavior attached to type of vehicle, not a type of driver. We managed to move and rework most of actions driver can do in game, simple path following, but also keeping formation, following in convoy, un-stucking himself or reacting to player direct commands. All of those had to be refactored, simplified, optimized and enclosed in mentioned component. In the heart of new driving, we have PID controllers, those are common but very flexible algorithms, for example used in engineering for temperature control, or in automated vehicles, for speed or altitude control. We use them for both speed and steering, also allowing modification of its parameters in config. Participation, so how you can use it As a player, you can join development branch users, run the editor and spawn yourself a Hunter and AI driver to command. You will see different driving style in any wheeled vehicle, be it a truck or tuned hatchback. Also, as it was enabled by default for all cars, vanilla or not, you should be able to see the new behavior in all old scenarios, missions wherever AI drives a car. As a mission maker, or scripter, or if you just want to experiment more, you can still use script commands like: vehicle limitSpeed 15; driver vehicle forceSpeed 40; 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; }; Iteration, so what next It is still very much work in progress, and few additional improvements are planned. We are also aware that you can encounter some issues, especially on the beginning. Problem of unstucking is still very much open, as it's a challenge to find perfect algorithm for all the situations. We also will be looking into configuring different vehicles, and also how modders will try to use it, your feedback is not only welcomed, it's crucial. Please, report all problematic situations and places, but don't forget important information: type of vehicle, map, exact location, waypoint, order or any other way you are making AI drive. Screenshot with map coordinates and explanation of route is like, minimal data, required for us to analyze what could go wrong. You can also try pushing the AI, for example with "unit forceSpeed 40" which essentially overrides usual safe upper limit of speed, you can send multiple convoys across your islands and test the madness that ensues after, just don't forget to share those missions with us. 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; }; Hello, Thank you for the information. Where to execute this lines of code, actually I am not getting it properly. Share this post Link to post Share on other sites
orcinus 121 Posted March 29, 2017 On 17/03/2017 at 11:02 PM, mickeymen said: I think, this is one single problem Unfortunately not, IME & IMHO. AI units ignore friendly human players when firing (even your own team-mates shoot you in the back) and moving (stand in front of you when you're firing; push you out of the way - and into enemy fire - at corners or other cover, etc., etc. Very different situations from driving, but lacking solutions like kju's disable_friendly_fire _server, equally lethal. Share this post Link to post Share on other sites
mickeymen 324 Posted April 4, 2017 On 30.03.2017 at 1:54 AM, orcinus said: Unfortunately not, IME & IMHO. AI units ignore friendly human players when firing (even your own team-mates shoot you in the back) and moving (stand in front of you when you're firing; push you out of the way - and into enemy fire - at corners or other cover, etc., etc. Very different situations from driving, but lacking solutions like kju's disable_friendly_fire _server, equally lethal. may be you right. Unfortunately, developers pay very little attention to AI. It seems to me that this is in a deplorable state, since AI in Arma3 does not know how to do anything in general, except for accurate shooting at the player ;) Share this post Link to post Share on other sites
The Man Without Qualities 110 Posted April 7, 2017 (edited) AI driving skills are still far from acceptable. Outcome of some testing in 1.68 with only vanilla units. - when you order wheeled vehic to your position, they tend to overshoot the position by 2-3 Metres and some wheeled try to return to that position by endless forward/backward moving - tracked vehicles overshoot 10-15 metres, they do not slow down properly before reaching WP. When ordering with 1-1 to your position they kill you by overrunning pretty often - maybe rather related to object definitions / map configurations - vehicles supposed to follow roads in carless mode tend to leave the road for no reason - assumption is the some rocks few metres next to road or some bushes are considered as already threatening obstacle - some objects are totally ignored by AI driver - and rammed. Some are native map objects (maybe object config is wrong); some are usually detected but they were added during the game. - some of those ignored objects like bushes are ok to be ignored, but obviously wrong objects configs making those bushes or other kind of "soft" objects real wheel-breaking and tank-blocking obstacles - pretty often it happens that wheeled and tracked vehicles ending up in front of a tree or a wall and keep on hammering the vehicles with the same wrong steering action again and again against that obstacle until eighter vehicle or obstacle crash - there is no such thing like an "crowd management" function that is detecting crowds of vehicles not in group&formation which are blocking each other by individual, isolated activities. In a bunch of individual vehicles a function that is able to detect such crowd should take over control, move the outer vehics a little bit away while the inner vehicles do nothing until their path is cleared In total: - after 15 years of development I cannot see any real improvement, the very same weaknesses are still present since day1 - comparing performance with other game titles suggesting that there are methods giving much better results AI driving as is is not acceptable Edited April 7, 2017 by BIS_QUALITY_ASSURANCE typo Share this post Link to post Share on other sites
Grumpy Old Man 3545 Posted April 7, 2017 8 hours ago, BIS_QUALITY_ASSURANCE said: - comparing performance with other game titles suggesting that there are methods giving much better results Care to give some examples of open world games of a similar scope as arma? Should be no problem since you were comparing the performance. Also please show which results came out of this comparison. Cheers Share this post Link to post Share on other sites
pierremgi 4852 Posted April 7, 2017 Just played Ghost recon wildlands. Open huge map. Ambient life is spawning with civilians and enemies units, humans or vehicles. All work flawlessly. Convoys are convoys, in "safe" or "combat" states. There is not so much weird behaviors. Just remarked the little narrow streets are not used by AI's. On the other hand, I never found AIs stuck in endless maneuver. Share this post Link to post Share on other sites
Alwarren 2767 Posted April 7, 2017 1 hour ago, pierremgi said: Just played Ghost recon wildlands. Open huge map. Ambient life is spawning with civilians and enemies units, humans or vehicles. All work flawlessly. Convoys are convoys, in "safe" or "combat" states. There is not so much weird behaviors. Just remarked the little narrow streets are not used by AI's. On the other hand, I never found AIs stuck in endless maneuver. Park your car on the road. You will notice that the after-traffic starts queuing up. Nobody passes. AI is programmed to follow roads, and if they can't follow it, they simply shut down. Only in a handful of situations have I seen Unidad or Cartel cards leave the road, but for all the civilian traffic, they don't even pass your car.. I do agree thought that driving on the road is something they can do (most of the times) 3 Share this post Link to post Share on other sites
R3vo 2654 Posted April 7, 2017 Quote Only in a handful of situations have I seen Unidad or Cartel cards leave the road, but for all the civilian traffic, they don't even pass your car.. Sometimes I'd prefer an AI which waits until the road clears up instead of doing crazy manoevres. That's more predictable. Share this post Link to post Share on other sites
HeroesandvillainsOS 1504 Posted April 7, 2017 2 hours ago, R3vo said: Sometimes I'd prefer an AI which waits until the road clears up instead of doing crazy manoevres. That's more predictable. Not sure if you've played the game. I know in theory it sounds interesting and believable but the way it's implemented into GRW is a little shocking. Car after car after car, until it's a car orgy, will just wait and wait and wait and never pass. Its jarring. Not to go OT or anything. Just wanted to clear that up. FWIW I really like the AI driving in GRW and adore how they stay on roads. Makes me wish BI made roads recognized by AI like this, especially when given a follow order. 2 Share this post Link to post Share on other sites
fn_Quiksilver 1636 Posted April 8, 2017 10 hours ago, pierremgi said: Just played Ghost recon wildlands. Open huge map. Ambient life is spawning with civilians and enemies units, humans or vehicles. All work flawlessly. Convoys are convoys, in "safe" or "combat" states. There is not so much weird behaviors. Just remarked the little narrow streets are not used by AI's. On the other hand, I never found AIs stuck in endless maneuver. this is bc the arma driving AI has broken parts crippling it, and relevant developers assigned to more profitable work ;) Share this post Link to post Share on other sites
pierremgi 4852 Posted April 8, 2017 9 hours ago, Alwarren said: Park your car on the road. You will notice that the after-traffic starts queuing up. Nobody passes. AI is programmed to follow roads, and if they can't follow it, they simply shut down. Only in a handful of situations have I seen Unidad or Cartel cards leave the road, but for all the civilian traffic, they don't even pass your car.. You hit a point and a big one! So nothing is perfect. We would some fluidity like Wildlands convoys, but also some understanding for trafic jam. In Arma, AI's can drive out of roads in combat situation. That's also a good point, especially for tanks. There are so much things to do from bikes to tanks, with so many different considerations (in real life, a bike can pass above some rocks, a tank can crush a wall, or even a house). The challenge is very interesting! As any AI's behavior for medics, firing, covering... The first limitation is probably the "common CPU" load. Share this post Link to post Share on other sites
R3vo 2654 Posted April 8, 2017 How could I miss this sexy command? https://community.bistudio.com/wiki/setDriveOnPath Just tested it and it works splendidly. 10 times better than BIS_fnc_UnitCapture 1 Share this post Link to post Share on other sites
Tankbuster 1745 Posted April 8, 2017 15 minutes ago, R3vo said: How could I miss this sexy command? https://community.bistudio.com/wiki/setDriveOnPath Just tested it and it works splendidly. 10 times better than BIS_fnc_UnitCapture Excellent! Share this post Link to post Share on other sites
pierremgi 4852 Posted April 8, 2017 8 hours ago, R3vo said: How could I miss this sexy command? https://community.bistudio.com/wiki/setDriveOnPath Just tested it and it works splendidly. 10 times better than BIS_fnc_UnitCapture So, if i'm right, unitCapture is still interesting to record a path. Then you don't need unitPlay anymore, just setdriveOnPath. And the command is 10x faster than the old function? Share this post Link to post Share on other sites
R3vo 2654 Posted April 8, 2017 15 minutes ago, pierremgi said: So, if i'm right, unitCapture is still interesting to record a path. Then you don't need unitPlay anymore, just setdriveOnPath. And the command is 10x faster than the old function? I simple this piece of code to record the path of the vehicle. [] spawn { Revo_path = []; while {true} do { Revo_path pushBack (position player); systemChat "Logging Path"; sleep 1; }; }; By 10x better I ment it works just as I expected, whereas with unitPlay I often had alot of trouble. Of course unitPlay/Capture are still very important because setDriveOnPath does not work with helicopters, planes and boats. Share this post Link to post Share on other sites
Jnr4817 215 Posted April 8, 2017 2 hours ago, R3vo said: I simple this piece of code to record the path of the vehicle. [] spawn { Revo_path = []; while {true} do { Revo_path pushBack (position player); systemChat "Logging Path"; sleep 1; }; }; By 10x better I ment it works just as I expected, whereas with unitPlay I often had alot of trouble. Of course unitPlay/Capture are still very important because setDriveOnPath does not work with helicopters, planes and boats. How could we get this to work with helicopters. For example, follow a specific route, i.e.' Road, highway, etc. Share this post Link to post Share on other sites
mickeymen 324 Posted April 8, 2017 Among other AI-driving problems, there is the following problem: If the player is a commander and he comes out of his vehicle, then the driver of this vehicle, will always start the movement. As a result, very often the driver crushes the player-commander! It is a PROBLEM that must be solved also Why the AI-driver does start to movement this is not clear for me!? Probably he is trying to return to the formation. BIS, forbid AI-drivers to do this, because very often this crazy feature, kills the player! 1 Share this post Link to post Share on other sites