Post by Pegasus Actual on Jul 22, 2019 5:34:36 GMT -5
Seems like it would be off of hitbox detection. I don't know much about Halo. It's going to have different aim mechanics, maybe that's part of the problem? I haven't played much BO4 multi, and haven't touched Blackout for a while either. I do know that in general on COD waggling the left stick really helps the aim assist lock on. And from using a XIM, when you introduce digital left/right strafes it makes it kind of tough to fight into the hitbox. They eventually added a setting where it simulates analog behavior as you change your strafe and that makes it feel a ton better. So the left stick is definitely a big part of the equation. In general I *think* the idea is that they add a component to your stick input towards the center of the hitbox. So as you try to leave the center of the hitbox there's a pull back to the center. And maybe if you enter the hitbox at less than max stick deflection it will accelerate you further into the hitbox. I'm too lazy to try to actually test it, but hey you haven't gotten any other replies so my half-assed speculation is what you get! And I know when you strafe without right stick input you get some pull from the hitbox as well.
As for multiple targets, I think it's just the high strength of COD AA that's the problem. Logically if there are two targets within aim assist range of your reticle, at best the system could give priority to one and not the other, but that's going to feel bad if that's not the target you were going for. Or the behavior could stack and the assist fights between two targets and that's always going to feel kind of bad. I don't really remember which case it is, but I do recall it being bad at handling multiple targets.
I think Apex has pretty similar AA mechanics to COD, along with a lot of controller options including aim assist strength. And I think the test range targets have aim assist on them. So if I really wanted to try to work out the mechanics I might start there.
But I don't. Aim assist sucks anyway, the most played FPS on Xbox (R6 Siege) just goes no aim assist and is better for it!
I know that to get on and stay on the hitbox waggling left stick input like a madman along with pulling down and waggling my mouse slightly left and right works stupidly well (much better than say... trying to fine tune my aim towards the target). But what are these youtuber techniques for causing aim assist to throw people *off* your hitbox?
Post by exaltedvanguard on Jul 27, 2019 19:08:10 GMT -5
So I've done a little bit of digging and here's the gist of how auto-aim works in modern shooters. It seems as though the general system that CoD uses is not broken, it's just poorly implemented. There are a couple different components of auto-aim so let's break it down. I'm making up these terms, but as far as I can tell there's no industry standard for referring to the components of aim assist. Hell, CoD calls it target assist and uses aim-assist to refer to target-snapping in zombies.
Note: I use the word "deviation" simply to mean how far you're off target in abstract terms. It's not an angular deviation since if you give someone a small degree cone, that could still give them ridiculous amounts of help at long ranges. So instead we may want to use game units off of target. But that approach could also potentially cause issues at close ranges instead. The correct solution would take tweaking and tuning and possibly a combination of approaches to get right. The only way to really know would be to implement it and play with it till it has the right "feel" for players.
Target snap: Snaps your aim onto the center of a target. Only component is a minimum deviation from the target. If you're within that, then your aim will snap to the center of the target as soon as you aim onto them. GTA and Zombies in CoD uses target snapping. Aimbots effectively have the same effect with a massively large minimum deviation.
Friction: This slows down your camera rotation as you go over a target. Very simple and made of these components: 1) Angular velocity multiplier - This is how slow your aim will move when over a target compared to moving your camera over the environment. So a 0.5 multiplier would drop your aim speed (angular velocity) by half when over a target. 2) Minimum deviation from target - The distance your cross hair must be from the target for your aim to reach minimum angular velocity. Usually this is only just barely around the target (and covering the target of course). 3) Activation deviation - The (larger) distance your cross hair must be from the target for your aim to have it's angular velocity begin to decelerate. The closer your aim comes to the target, the slower it goes until your aim reaches the minimum deviation (and the angular velocity multiplier is at minimum). 4) Deactivation deviation - How far you must be off target for friction to break and for the aim to go back to normal speeds. 5) Deactivation acceleration - How quickly angular velocity increases back to normal speed. 6) Target velocity effects - Basically we need to compensate the previous factors for a moving target so that we don't reduce the velocity so much that we can't track it. A large part of this is auto-rotation, discussed below.
Under normal circumstances, activation deviation is quite large (relatively speaking, anyway) while minimum deviation is just barely larger than the target. This gives a nice, smooth ride into the target. Angular velocity is reduced by the multiplier to keep the player on target and allow finer adjustments like aiming for the head. Deactivation deviation is larger than minimum deviation, but significantly smaller than activation deviation, and deactivation acceleration is significantly faster than the corresponding deceleration experienced while getting on target. This lets the player responsively get off target (to turn and run or to target someone new).
Bullet magnetism: "Curves" bullets to cause hits when the player's aim is off by only a small amount. Only component is a minimum deviation from the target, which grants hits if you are within it. In Halo, this is visually indicated by the crosshair turning red. A red crosshair means a hit even if the center of the crosshair is off target.
Auto-rotation: Turns the players aim, regardless of actual input, to track the target. When your aim turns without you touching the stick, this is auto-rotation. This one I struggle to break down into components. One important factor in it is that there is a duration timer that is applied per target. After the timer expires, auto-rotation turns off for that target (for at least a short little bit). It also definitely accounts for deviation from target. The more centered you are on target, the faster it turns you. And as you get further off target, it turns you less.
All of these are going to be affected by ranges of activation. Ranges of various parts do not have to be equal. You could choose to have bullet magnetism continue to function at very long ranges while keeping the range at which friction is applied much closer. Additionally, how an auto-aim "target" is implemented could vary wildly. Is it the entire character model? Is it the center point of the model? Is is a point in the center of the chest? Of the neck or head? Is it based on the rendered model, or the invisible hitboxes? How does it interact with cover/target obstruction? It would suck to go flying off target because their center passed behind a 2 inch pole.
So now that we have a conceptual model of aim-assist, let's bring it back to CoD and see it we can boil down why it feels so wonky sometimes. Specifically looking at BO4. These problems are a ton more noticeable in BO4 thanks to it's longer TTK - not that they're acceptable problems in a shorter TTK game.
First off, there is no target snap in multiplayer. Bullet magnetism is also extremely minimal if it exists at all. Hand testing for magnetism would be almost impossible in an online environment, especially since character models do not match hitboxes (lookin' at you, helmet hitbox).
This just leaves us friction and auto-rotation.
Friction is seems to have no Activation or Deactivation Deviations. There's no difference in deviation between going on or off of the target. There's no ramp-up or down in aim-speed. It's simply on or off. You are either moving at normal speed or the minimum speed and there's no in-between. This alone causes some jank. There will be times where a target is moving in such a way that, because of your decrease angular velocity, you simply can't ever catch up to the target. As soon as you get close, you slow back down. The classic noob-dance where two people spin in circles touching each other but unable to shoot each other comes to mind. This is where target velocity effects are supposed to come into play, but the only target velocity effect in play is auto-rotation.
Additionally, friction range is a hard drop-off. It's either on or off. There is not a ramp-down at range. Gunfights taking place right on the edge of friction range are going to feel wildly inconsistent.
Auto-rotation is JANK. First off, it's only active when you're strafing, for some unknown reason. Actually, I can tell you why. And it's lazy as fuck. For whatever reason the CoD engine is happy to apply auto-rotation to players who are completely occluded. Completely behind cover. So if you pay attention, you will sometimes see your aim start to move before you ever see the player - giving you psychic knowledge that someone's about to round that corner. By making it so that players have to be moving, it helps prevent players from aiming at corners and abusing it. The movement of their character helps obfuscate the auto-rotation giving someone away, although attentive players will still pick up on it. It also makes wall-banging somewall nice and easy sometimes. This creates more problems down the line.
First up, the fact it only works when moving means that when you switch directions there's a brief moment as your stick crosses center that your auto-rotation turns off. This creates weird, janky moments when your aim goes off target during that split-second. Additionally, the fact there's a timer that started ticking when auto-rotation first acquired that target... behind the wall. The timer started ticking before you could even see them. Which means your auto-rotation potentially turns off mid-gunfight, making your aim feel super-inconsistent. If you've ever had a gunfight where all of the sudden you just fall off target half-way through and can't seem to get back on, this timer is probably why. "Inconsistent" is a word that should never be used to describe player input.
This is also why ADS-spam is all the rage in BO4 and why all the pro-players keep saying that it feels like it "resets your autoaim" (in addition to its strafing benefits). It's reseting that timer and giving you the full duration of auto-rotation for the gunfight, rather than your half-expired timer that you get by pre-aiming the door.