Jump to content

klamacz

BI Developer
  • Content Count

    361
  • Joined

  • Last visited

  • Medals

Everything posted by klamacz

  1. Hi, there When it's possible/useful, we will try to post brief descriptions of recent AI changes done on the development branch. We hope this will help demonstrate the tweaks that we're making and generate useful feedback to help us validate and polish our work. For now, the first batch of notes to kick things off: It wasn't supposed to fix rotation speed of AI soldiers, but is letting them use "aiming deadzone" as specified in the unit config (minGunTurnAI, maxGunTurnAI) which is typically 60 degrees cone. Therefore currently AI should be able to follow targets better without moving whole body. RPG and NLAW are supposed to be unguided, but AI was still able to use them as guided weapons. This was corrected. Quite big change, now AI is able to calculate and predict accurate ballistic of bullet, therefore is able to aim and engage targets on all ranges, both static and moving. Also, this improves AI ability to hit moving targets by more precise time of leading calculation. Good way to check this change is try to fight AI sniper on 1km+ range. Of course it still depends on his skill. AI was considering animals as friendly, therefore denied to shot in theirs direction. Example: put yours character, enemy soldier and snake animal between you. After this fix AI won't bother with friendly fire against animals.
  2. 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.
  3. Hi there, please use this place to discuss the "Firing from vehicles" feature, available on dev-branch since today (rev. 127272) OPREP with details: http://dev.arma3.com/post/oprep-firing-from-vehicles
  4. klamacz

    AI Discussion (dev branch)

    Current plan is to tweak obvious problems till the point that standard skill markers behave similarly with previous implementation. As standard skill markers you can consider 0.2, 0.5 and 1.0 skills (so lowest, medium, and highest). We measure reaction times, spotting times, accuracy, decision delays etc and try to get them close to what you seen before with similar values. That means that conversion table would not be necessary. The big change is the curve of skill, we predict that with current code, actual reaction time, or accuracy would be linearly proportional with skill you've set. It means that you won't have to spend time tinkering with your settings for weeks, because you will get more what you actually set. Thank you, unbalance will be serious. Also, expect bunch of tweaking commits following that change, and be not too attached to momentary effects you see. Anything might get tweaked as we go through it.
  5. klamacz

    AI Discussion (dev branch)

    Yes, skills are still interpolated through cfgSkills, and skill sliders from settings. Yes, the change may break or unbalance any mission which uses AI skill.
  6. klamacz

    AI Discussion (dev branch)

    Good day community. There is a new change which will appear on dev-branch (revision 142512), which will affect AI a lot. It is called "AI skill inversion refactored" and changes the way AI skill set on units affects some of the AI features. Previously the effect would have hyperbolic curve, now it is more linear and predictable. In practice it means, that skill set on unit will translate to unit actions in more proportional way, difference between 0.3 to 0.5 will be more smooth and gradual instead of switching fast between no-brainer and terminator state. Also it is a fix for broken behaviors with skill close or equal zero. Following features are affected by this change: - aiming error, muzzle dispersion, allowed target size - during aiming and engaging - spotting, hearing, delay of reaction - during observation, target selection, ambush or sneaking scenarios - reloading weapon delay - reporting enemy for group delay Some of those things (especially spotting related) might be well out of balance now, and your feedback will be greatly appreciated.
  7. Hi there, I checked on Hunter, Marshall and Prowler, didn't see any issues. Can you please send me more details or repro mission? (can be by PM)
  8. klamacz

    AI Discussion (dev branch)

    Hi, thanks for report, I tried it on both internal and public versions and couldn't reproduce. They do waive weapon once (at the moment of switching combat mode) and they keep engaging. If you can, send me your mission ;)
  9. klamacz

    AI Driving - Feedback topic

    Good day everyone. So, next step about AI driving is tracked vehicles. As far as I would like to, they will not be part of 1.66 update. But you can try experimental version on dev branch already, by using command useAISteeringComponent true; // true to enable, false to disable, default False Mind that steering parameters for tanks etc are Work-In-Progress.
  10. klamacz

    AI Driving - Feedback topic

    Soon. Thank you for the report, yes the speed is too high, I will look into it.
  11. klamacz

    AI Driving - Feedback topic

    New driving routines are a feature which needs to be enabled per vehicle. All vehicles inheriting from Car class should retain the component and use the new driving system. Thanks to that, mod can use inherited, standard values or override some of them if needed. Some mods I've been checking worked just fine. If you have specific vehicles in mind or you are modding your own and have problems, please share your feedback, here or PM, thanks ;)
  12. klamacz

    AI Driving - Feedback topic

    Aren't you remote controlling commander at this moment? I checked it for drivers and seems to work just fine. Retweaking in progress, sorry for inconvenience. Zig-zagging can be lowered by lowering the speed of vehicle (waypoint limit speed or limitSpeed).
  13. klamacz

    AI Driving - Feedback topic

    Awesome, thanks a lot. Yes, fix for the main issue with reversing at 0:46, with few other improvements going to be on dev soon. As you can see, there is a piece of path underneath, with two segments going in opposite directions, which is the main reason. Also, proper offsetting from central line of road is slowly incoming.
  14. klamacz

    AI Driving - Feedback topic

    Ad 1: yes, this will work with any vehicle having AICarSteeringComponent, be it vanilla or modded. By default all entities inheriting from Car would have it. Ad 2: As much as I would love automatic repro missions, believe me when I say, that PID datasets wouldn't help much with it. In the end, failed test needs to be reviewed anyway, there are too many factors, which will not be represented in datasets.
  15. klamacz

    AI Driving - Feedback topic

    AIDriving debug should provide you with info: - current path of vehicle - current steer point as red circle on the path, during reversing violet marker on path - debug informations about most of real time parameters, like safe speed, wanted speed etc - 3 graphs, speed, steering and convoy - those are PID result graphs which shows how AI controls the driving process (green line is wanted value, red is current value, blue is wanted change - you can also call them Setpoint, Input and Output respectively) The most useful, from mission maker purpose - if you see strange AI behaviors, going out of the road - this diagnostic will provide you with knowledge why that happened, what path was created and if the problem is in the path or driving itself. In case you find problematic situations which you want to debug and/or report here, diagnostic will provide very precise info for us on what was really happening. Making a video with diagnostic enabled, for our internal purposes is great way to diagnose your issue. If I could ask you to not spam youtube with them, that would be awesome though ;)
  16. klamacz

    AI Driving - Feedback topic

    It was a bug, because "disableAI" command should disable only AI abilities not player's. Therefore when player is driving the same vehicle, it should be perfectly movable, which was just fixed, thanks for reporting. Yes, the collision avoidance for the same subgroup is limited by design, but in some cases it can be an issue. The last waypoint problem, thanks for report, if you have some mission on hand, feel free to send me by PM. Will check it out. Thanks
  17. klamacz

    AI Driving - Feedback topic

    I'll look at adding AIDriving to diag exe (https://community.bistudio.com/wiki/Arma_3_Diagnostics_Exe)
  18. klamacz

    AI Driving - Feedback topic

    Yes, thanks for checking out the tanks, but they are not updated to use new AI driving, YET. Also, thank you all for the bug reports and feedback. We do read all of them, and take them into account, even if you don't see immediate effect in dev branch changelogs ;)
  19. klamacz

    AI Discussion (dev branch)

    Yes. It is first fix for cases when unit on the shore would spot the diver too easily. I've seen good stuff incoming, #praiseOukej
  20. klamacz

    AI Driving - Feedback topic

    In this example, the order of vehicles is wrong. Formation sets the order using order of creation of vehicles (ID of vehicle is assigned when its created). In this mission, APC should be the last in column, even just putting him a bit aside so other cars can overtake easily helps. In your first mission, with Prowler it was the same case. Prowler has to be the last. Or created in editor as second. Thanks for your missions. This third one is really problematic, tight city streets. I will look into what can be improved more.
  21. klamacz

    AI Driving - Feedback topic

    All your feedback is welcome, with or without repro or with many or little details attached. It's just going to be less useful. Also mind, that reports with ambiguous description will not be processed before reports with full description. As for recent changes: Mainly improvements around convoy behaviors, good place to test is Apex mission 2.
  22. klamacz

    AI Driving - Feedback topic

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

    Development Branch Captain's AI Log

    Continuous improvements to convoy behaviors. Please leave your feedback here: https://forums.bistudio.com/topic/191515-ai-driving-feedback-topic/ Small change to how accurate turret gunners can be. Applies to all turrets and is dependent on AimingAccuracy subskill. Both SetUnitPos and stance commands should now work for fleeing AI, and in few other cases (different combat modes, cover). As requested somewhere in https://forums.bistudio.com/topic/150499-ai-discussion-dev-branch/
  24. klamacz

    AI Driving - Feedback topic

    Thanks for feedback. Moral Fiber uses old driving now. I will let you guys know, when it's updated.
  25. klamacz

    AI Driving - Feedback topic

    Hi best players of the world. Since rev. 137926 there were few changes and tweaks under common name: So yeah, convoys. Still WIP, if you spot critical issues, please let me know. Also, experimentally, there is new function vehicle forceFollowRoad true; // does what it says, vehicle can only steer on road network
×