NeMeSiS 11 Posted July 6, 2015 when it decreased in older games, what was it based on? also only large distance or blocked line of sight too? i remember it always being not very reactive or dynamic. atleast not in a way that would represent anything human/realistic. that's why i'm curious about people's interpretation of its values. It represents how sure they are about what they saw. If you actually are on the enemy side, and a tank, and a t-90 (if knowsabout is high enough). If you saw a tank and then it left your view you wouldn't slowly forget that it was a tank, you would remember that you saw a tank until it is no longer relevant at all, in which case you can forget all about it. At least thats how i interpreted the lack of 'slowly forgetting' when it comes to knowsabout. EDIT: To be honest, i havent looked at the actual 'magic values' in a while, just used to to check if one knew something about another one, so i have no idea what value represents what at the moment. In older games i used the actual values in some sort of target priority script. Share this post Link to post Share on other sites
dr. hladik 231 Posted July 10, 2015 (edited) knowsAbout isn't really the best command for any AI detection diagnostics. Will add something little more precise. edit: rev 131499 [target is known by group, target is known known by unit, last time target was seen by unit, last time target endangered unit, target side, target position error coef, target position] = player targetKnowledge target Edited July 10, 2015 by Dr. Hladik Share this post Link to post Share on other sites
froggyluv 2136 Posted July 10, 2015 Wow finally getting to the red meat here I see :) Share this post Link to post Share on other sites
x3kj 1247 Posted July 10, 2015 I added the aiAmmoUsageFlag to the biki Regarding AI targeting i have a question (related to modding): What determines the aiming direction of a weapon a turret (on a vehicle) for proper AI aiming ? Because using custom memory points appears to cause problems Share this post Link to post Share on other sites
danil-ch 165 Posted July 11, 2015 AI refuses to cross bridge while moving backwards Share this post Link to post Share on other sites
rübe 127 Posted July 11, 2015 [target is known by group, target is known known by unit, last time target was seen by unit, last time target endangered unit, target side, target position error coef, target position] = player targetKnowledge target Looking good! Yet, I got a bunch of questions: Are the first two values just BOOL, or are these SCALAR again (maybe on a normalized scale)? Or is the "uncertainity" or "degree of knowledge" solely encoded by the "target position error coef"? Does the third parameter (last time target was seen) allow to reliably recognize the first time some unit has been detected (without need for manual bookkeeping; e.g. if this time is 0, then that's *for sure* the first sighting/contact of/with target)? What exactly does "endangered" mean? Is knowledge+sideEnemy enough? Is there some distance check? Does the target need to have already fired at unit? ^^ No need to answer here, as long as the community wiki will answer these questions, once the command shows up over there. ;) Btw. what do you think about detecting (enemy)/being detected(by enemy) *event handlers* that could be attached to single units or groups? The functionality exists somewhat, working with triggers. But thats not only cumbersome to use (for pure scripting anyways), but I guess it doesn't scale too well (triggers are checked each frame, for all triggers, right?). Guess some message passing behind the scenes firing those events could do much better - especially with many groups running around with such event handlers (or a bunch of triggers), no? Share this post Link to post Share on other sites
Tankbuster 1747 Posted July 11, 2015 knowsAbout isn't really the best command for any AI detection diagnostics.Will add something little more precise. edit: rev 131499 [target is known by group, target is known known by unit, last time target was seen by unit, last time target endangered unit, target side, target position error coef, target position] = player targetKnowledge target Beer that man! Share this post Link to post Share on other sites
h - 169 Posted July 11, 2015 Btw. what do you think about detecting (enemy)/being detected(by enemy) *event handlers* that could be attached to single units or groups? Something like this would be nice to have, maybe we could get a "DangerCause" eventhandler so that we could muck around with the dangercause stuff outside of danger.fsm (or where ever they are passed into)? Might also be useful to have some sort of event/command for detecting what the AI is aiming at (basically cursorTarget for AI), etc.. Share this post Link to post Share on other sites
KeyCat 131 Posted July 11, 2015 knowsAbout isn't really the best command for any AI detection diagnostics.Will add something little more precise. edit: rev 131499 [target is known by group, target is known known by unit, last time target was seen by unit, last time target endangered unit, target side, target position error coef, target position] = player targetKnowledge target :D ENGINE Added: Object transparency can be specified in surfaces for AI detection Am I understanding correctly that data needs to be updated so no idea to test this ATM? Great stuff! /KC Share this post Link to post Share on other sites
das attorney 858 Posted July 11, 2015 knowsAbout isn't really the best command for any AI detection diagnostics.Will add something little more precise. edit: rev 131499 [target is known by group, target is known known by unit, last time target was seen by unit, last time target endangered unit, target side, target position error coef, target position] = player targetKnowledge target Looks good, perhaps it could also return <target is known by side> as well seeing as that is a way you can check for knowsAbout. :) Share this post Link to post Share on other sites
rübe 127 Posted July 11, 2015 it could also return <target is known by side> as well seeing as that is a way you can check for knowsAbout. :) Uhm, I'm not really sure this works exactly according to the rules of "knowledge sharing", or does it? If target is known by side, does then simply any unit (or group) know about that target? Or does this actually mean, that the virtual command-center/HQ of the side got informed about that target? :confused: Okay, can anyone shed some (more) light on this? Let's recap (please correct me where wrong): It all starts with a single unit getting aware of an enemy, the rest of the group doesn't know of anything yet. This knowledge can be communicated from the unit to the leader/rest of the group now: either with or without radio, right? I assume, with radio will be much faster, hu? Are there other conditions in case the unit does *not* have a radio? Or is the radio a must to share knowledge? What about group to side now? There exists a virtual command-center/HQ, right? So a group - if radio is equipped? - can inform the HQ, which then in return relays the knowledge to all other groupes of the side (again with radio? Does the leader of a group need one; or is it fine if at least one unit in a group has a radio?). Is this about correct? This is pretty much the juice behind the "support" waypoint, right? When does "the side" know something? The moment the HQ is called by some group? Yet this doesn't mean that now all groups know as well, right? And what about the delays (or min. communication requirements in terms of time to react/inform the guys a level up). How does this work exactly, and should we - as mission designers - be able to maybe configure communication possibilities (as in knowledge sharing; rules/timeouts/delays) in one way or another? :rolleyes: Further: what if we could attach an "enemy detected/reported" event handler even to the virtual command-center/HQ - wouldn't that be useful too? :confused: P.S. The community wiki might need a dedicated page about the concept of "knowledge/information sharing"; or am I missing something? Share this post Link to post Share on other sites
bad benson 1733 Posted July 12, 2015 when you say HQ are you talking about the center thingies you can create using createCenter? just curious. Share this post Link to post Share on other sites
rübe 127 Posted July 12, 2015 Absolutely, yes. Note that (see createCenter): Creates a new AI HQ for the given side. An 'HQ ' is something each side needs to have to be able to communicate. By default, all centers for units which are present in the mission are created before the mission is started. Share this post Link to post Share on other sites
NeMeSiS 11 Posted July 12, 2015 knowsAbout isn't really the best command for any AI detection diagnostics.Will add something little more precise. edit: rev 131499 [target is known by group, target is known known by unit, last time target was seen by unit, last time target endangered unit, target side, target position error coef, target position] = player targetKnowledge target That is very nice, looking forward to mess around with it. :) Share this post Link to post Share on other sites
bad benson 1733 Posted July 12, 2015 Absolutely, yes. Note that (see createCenter): the reason i asked is that i never knew it would be used for communication. hence mods like grouplink and similar that would establish that missing connection. so i wonder if the description is just off or if it's just a fancy way of saying: "yes we're saving in here if anyone on this side knows about dude X", when the communication is never actually happening eventhoguh the data is there. so it would be more of a data pool you can use to make scripts that actually allow communication between groups drawing the data using knowsabout etc blabla. just trying to get the exact picture of it here so this is mostly still a question (for confirmation of my current view on it). Share this post Link to post Share on other sites
NeMeSiS 11 Posted July 12, 2015 the reason i asked is that i never knew it would be used for communication. hence mods like grouplink and similar that would establish that missing connection. so i wonder if the description is just off or if it's just a fancy way of saying: "yes we're saving in here if anyone on this side knows about dude X", when the communication is never actually happening eventhoguh the data is there. so it would be more of a data pool you can use to make scripts that actually allow communication between groups drawing the data using knowsabout etc blabla. just trying to get the exact picture of it here so this is mostly still a question (for confirmation of my current view on it). There is communication (or at least some form of information sharing) between groups when you use the guard waypoint of course, though it all seems to be pretty hardcoded stuff. Share this post Link to post Share on other sites
h - 169 Posted July 13, 2015 (edited) Looking good!Yet, I got a bunch of questions: Are the first two values just BOOL, or are these SCALAR again (maybe on a normalized scale)? Or is the "uncertainity" or "degree of knowledge" solely encoded by the "target position error coef"? Does the third parameter (last time target was seen) allow to reliably recognize the first time some unit has been detected (without need for manual bookkeeping; e.g. if this time is 0, then that's *for sure* the first sighting/contact of/with target)? What exactly does "endangered" mean? Is knowledge+sideEnemy enough? Is there some distance check? Does the target need to have already fired at unit? After a short test: 1. both are bool 2. Nope, appears to be the same as time (so it's not 0 when first spotted, so you need the time - timespotted == 0 stuff etc.) 3. unit feels endangered when it recognises the target as enemy (I guess), if it gets shot by the target (bullet hits it/hits/whizzes by close enough).. Nice addition, immediately renders some of my own workarounds obsolete :) Edited July 13, 2015 by h - Share this post Link to post Share on other sites
madrussian 347 Posted July 13, 2015 Wow, it's really heating up in here lately. [target is known by group, target is known known by unit, last time target was seen by unit, last time target endangered unit, target side, target position error coef, target position] = player targetKnowledge target Amazingly handy and straightforward, compared to parsing nearTargets, many thanks for that! :cool: countEnemy, countUnknown, etc, will still come in handy I think. Also curious, does anyone know off hand if nearTargets result comes sorted (by distance or otherwise)? Ruebe, great specific questions regarding knowledge sharing and createCenter. Always wondered about these very things. :) Share this post Link to post Share on other sites
Tyl3r99 41 Posted July 13, 2015 AI i think still detect player too easily and know the position to quickly. i.e. in the dark with a recon sharpshooter 400m away triggers off my "detected by opfor" trigger... how do they know it was NATO first of all.... plus there is no muzzle flash Share this post Link to post Share on other sites
old_painless 183 Posted July 13, 2015 Probably same bug that let the AI instantly know about you once you touch off a satchel charge even though you are completely out of sight. This was described earlier in this thread. Share this post Link to post Share on other sites
Tyl3r99 41 Posted July 13, 2015 Probably same bug that let the AI instantly know about you once you touch off a satchel charge even though you are completely out of sight. This was described earlier in this thread. whether anything will be done about it i dunno its been a problem since alpha to be honest Share this post Link to post Share on other sites
das attorney 858 Posted July 13, 2015 AI i think still detect player too easily and know the position to quickly. i.e. in the dark with a recon sharpshooter 400m away triggers off my "detected by opfor" trigger... how do they know it was NATO first of all.... plus there is no muzzle flash I just ran some tests and they don't show what you're seeing at all. Here's a repro mission: https://dl.dropboxusercontent.com/u/101800212/KA.Stratis.7z I had similar setup to you and the guy I was shooting around only ever had a vague idea where (or even who) I was. The only time he got awareness (magic 1.5 value) was when I actually landed a bullet on him. From the log: 23:24:59 "dist to man 472.509 man Knowsabout player [b]0[/b] time: 0 nshots fired: 0" 23:25:24 "dist to man 442.955 man Knowsabout player [b]0.1[/b] time: 25.128 shots fired: 1" 23:25:44 "dist to man 442.893 man Knowsabout player [b]0.155472[/b] time: 45.114 shots fired: 2" [b]blah blah up to 18 shots around him....[/b] 23:27:42 "dist to man 442.914 man Knowsabout player [b]0.155474[/b] time: 165.587 shots fired: 18" [b]then I hit him here[/b] 23:27:42 "dist to man 442.914 man Knowsabout player [b]1.5[/b] time: 165.791 shots fired: 19" So if you are getting spotted after firing 1 shot from 400m in the dark with a silencer, then either you hit him in which case he's perfectly entitled to be aware he's been shot and somewhat aware of you, or you're running mods or there's something wrong with your install. As I say, try the repro if you want to dispute/confirm. Share this post Link to post Share on other sites
rübe 127 Posted July 13, 2015 (edited) then either you hit him in which case he's perfectly entitled to be aware he's been shot and somewhat aware of you[...] That "somewhat aware of you" is a bit probelmatic, still. If you're being shot - out of the blue - you're most likely not able to pinpoint the attacker that quickly - if at all... Wouldn't it be a good idea to take the current combat mode into account? I mean... before they switch to combatMode/danger dance, of course. Something along these lines, maybe: CARELESS -> virtually no chance to pinpoint attacker and return fire (unless super obvious/too near or what not) AWARE -> still problematic to immediately react properly to anything, since an attack still comes as a surprise. COMBAT/STEALH -> pretty good chance to know where an attacker would come from, with reaction-times and spotting capabilities as they are currently. Nobody is "combat ready" all the time, 24h a day. Thus what I propose is a reaction/spotting-nerf depending on combat mode. The beauty of it being that the combat mode escalates from careless et al. to more aware states. Of course there should be a proper delay here, such that enemies (teams/groups even) can be taken out by surprise efficiently. ...of course, there (finally) needs to be a new reaction pattern to act without knowing where attacks come from: a better "run for cover, maybe pick up your shot mates first - if *courage* allows for it, crawl/hobble to the bushes on yer own, hide and regroup" kind of thing. Maybe some new animations too. Evasive maneuvers and stuff (animations that have only been used for cinematic purposes and similar highly scripted things so far, e.g. in the A2 campaign). Edited July 13, 2015 by ruebe Share this post Link to post Share on other sites
ceeeb 147 Posted July 13, 2015 So if you are getting spotted after firing 1 shot from 400m in the dark with a silencer, then either you hit him in which case he's perfectly entitled to be aware he's been shot and somewhat aware of you, or you're running mods or there's something wrong with your install.As I say, try the repro if you want to dispute/confirm. It might be worth trying again when the player has been detected (enemy knowsAbout >0), and then not seen for long enough for knowsAbout value to return to 0 (about 6 minutes). The satchel detection bug I posted only occurs in this situation (which is actually quite common in stealth missions). see repro misison and steps: http://feedback.arma3.com/view.php?id=24590 Share this post Link to post Share on other sites
das attorney 858 Posted July 13, 2015 That "somewhat aware of you" is a bit probelmatic, still. If you're being shot - out of the blue - you're most likely not able to pinpoint the attacker that quickly - if at all...Wouldn't it be a good idea to take the current combat mode into account? I mean... before they switch to combatMode/danger dance, of course. Something along these lines, maybe: CARELESS -> virtually no chance to pinpoint attacker and return fire (unless super obvious/too near or what not) AWARE -> still problematic to immediately react properly to anything, since an attack still comes as a surprise. COMBAT/STEALH -> pretty good chance to know where an attacker would come from, with reaction-times and spotting capabilities as they are currently. Nobody is "combat ready" all the time, 24h a day. Thus what I propose is a reaction/spotting-nerf depending on combat mode. The beauty of it being that the combat mode escalates from careless et al. to more aware states. Of course there should be a proper delay here, such that enemies (teams/groups even) can be taken out by surprise efficiently. ...of course, there (finally) needs to be a new reaction pattern to act without knowing where attacks come from: a better "run for cover, maybe pick up your shot mates first - if *courage* allows for it, crawl/hobble to the bushes on yer own, hide and regroup" kind of thing. Maybe some new animations too. Evasive maneuvers and stuff (animations that have only been used for cinematic purposes and similar highly scripted things so far, e.g. in the A2 campaign). Yeah the current system is weird. I can see why it's the way it is but it's still a bit shit sometimes. Why 0 to 4??? Why not 0 to 1 or some other scale? Anyway, that's beside the point. It would be totally forgivable in my book if we could either lower the knowsabout level manually or if troops would actually MOVE while in combat-mode. Either would be useful at this point. I'd like a more in-depth detection system as well, but I'm okay with scripting in that sort of stuff for missions. A lot of the time you need the AI to do different stuff from mission to mission; so I think if they did have some sort of AI "brain" logic controlling groups and comms etc, then it would have to be a really flexible module to deal with all the different things that the playerbase could want from it. As I say though, I'll be happy if they can: 1 - Get units in combat moving to where they're actually supposed to 2 - Sort out the driving (apparently done and they're waiting on some terrain thing (wrp)? to publish it)... ---------- Post added at 12:43 AM ---------- Previous post was at 12:28 AM ---------- It might be worth trying again when the player has been detected (enemy knowsAbout >0), and then not seen for long enough for knowsAbout value to return to 0 (about 6 minutes). The satchel detection bug I posted only occurs in this situation (which is actually quite common in stealth missions). see repro misison and steps: http://feedback.arma3.com/view.php?id=24590 Hi, I just tried your suggestion, so after waiting for him to reset to 0, when you next fire NEAR him, it jumps to 1.5 instantly 0:36:39 "dist to man 458.161 man Knowsabout player 1.5 time: 435.427 shots fired: 7" But then reduces to 0 within a minute. 0:37:34 "dist to man 458.187 man Knowsabout player 0 time: 545.457 shots fired: 7" So it looks like it never truly deletes the information. I think I'll do this again and see what his nearTargets is up to as well. Maybe I'm still in there somewhere. Share this post Link to post Share on other sites