Hacker News new | ask | show | jobs
by IQunder130 1847 days ago
The thing I don't understand is why you would limit velocity in such a strange way to begin with.
3 comments

It's an artifact of the projection also being used to slide off walls smoothly, and then just reusing that idea - which could be a accident, or an "accident" (choosing by what feels better).

Goldsrc surfing was most exploitable in the form of "wall-running" by strafing against rounded surfaces(e.g. the cylindrical sewer pipe interiors in cs_siege and cs_militia, I think, both did this). Same bug, different mechanism, easier to control.

If you think that's stupid, wait until you see how to Bunnyhop in Half Life 2:

https://www.youtube.com/watch?v=EfRIMwWbyrQ

accelerations map directly to actions of the user (forces). It seems fairly natural, not strange, to control velocities and positions in terms of accelerations. The same thing happens in real life.
That's not the strange thing. The strange thing is limiting it on a projection rather than the magnitude of the velocity vector.
applying a force perpendicular to the velocity does not change the speed, only the direction. Only the component of the force tangent to the velocity vector (the projection) is relevant for controlling the max speed
They're not measuring the projection of the acceleration vector on the velocity vector, they're measuring the projection of the velocity vector on the acceleration vector and limiting that. Which makes no sense for a speed limiting method as evidenced by the fact that strafejumping exists. What you said is true and also irrelevant.

To get a true speed limit you would compute the new velocity vector, compute its magnitude and rescale the components by the ratio under the limit. Which is slightly more computationally expensive I suppose.

If you're already calculating the projection, it's cheaper.