ReflextionsDev / Zombiehood

Project Adder is an open-sourced 2D zombie shooting sandbox game, blending run & gun mechanics with rogue-lite elements. Open Sourced under GNU GPL V3.
https://store.steampowered.com/app/2598410/Project_Adder/
Other
9 stars 2 forks source link

(Gamepad) Aim assist lerp fine tuning #91

Open ReflextionsDev opened 1 month ago

ReflextionsDev commented 1 month ago

We should set this to only lerp when it is moving from enemy to enemy. It's a bit odd feeling to have it zoom in from off the screen. From enemy to enemy: lerp, from no enemy to first enemy: don't lerp, we can probably track this through aimAssistIsFirstTarget which sets true after it's reached a first target and resets when there are no enemies on screen.

Everade commented 1 month ago

The issue here is that the cursor is still being moved around, even when invisible. That's why the cursor suddenly pops out from the corner of the screen. Which is also an issue with throwing projectiles, since they also aim at the invisible cursor. So this could possibly be addressed together by preventing that movement, and/or fixing the cursor at a certain position when hidden.

ReflextionsDev commented 1 month ago

Preventing movement might help but probably won't solve since we'll see an instant jump if a new enemy comes through on the other side of the screen. I think I've another ticket for project aim w/ gamepad.

ReflextionsDev commented 2 weeks ago

Going to treat this as a nerf AA / generally improve cause it feels wonky.

Everade commented 2 weeks ago

I believe that fixing the Cursor to _PlayerThrowTarget during aim assist is idle would probably work great. That way the cursor stays always in close proximity, but still react to your aiming behavior.

For example if an enemy emerges from the edge, the movement has a consistent min/max distance depending on where you were looking/aiming at (starting from a fixed radius around your character). While it also makes sense that aiming at an enemy through a longer distance takes a little more time to be more accurate.