Sloped Step Boost
Contents
Overview
Step Slop Boost is a glitch that converts speed from one axis to another (for example horizontal to vertical) while adding a little bit of additionnal speed when hitting a specific configuration of slopes.
Explanation
When you're walking on ground and hit a wall or a slope you're not supposed to walk on, it triggers a step logic - basically tries to allow the player to move above whatever player collided with so they can stand on it. It does so by checking if you could stand on anything solid if you were moved 18 units up, along your current velocity vector, and back down (that's also why the maximum height of step you can walk onto is 18 units).
When that's true, something interesting happens. If the conditions are right, the game will tweak your velocity in a certain way. In older Source branches, all that happened is the Z component of your velocity was set to the one resulting from the slope collision. However, for Portal 2, a bunch of movement code was rewritten to support sticky gel (which wasn't ultimately used), so lots of strict axis-based assignments like this were replaced with vector math. Apparently, some Valve employee had a bad day and fucked up the math horribly.
Essentially what happens is the upward velocity resulting from the slope collision gets added to each component of your velocity as a value, and then once again to the vector itself. What that means in practice is, with right conditions, you can gain lots of velocity instantaneously from seemingly nowhere. As an example, let's say you're colliding with a slope with velocity [-1000, 0, 0], and velocity resulting from a slope collision becomes [-200, 0, 400]. If conditions are right and the faulty math code is triggered, you're ending up with velocity vector [200, 400, 1200][1].
Usage
This glitch currently has no known uses, although some are being looked into for LP purposes.
However, it provides an explanation for a long known boost in Portal Carousel, for which the exact cause was often dismissed as "weird geometry".
References
- ↑ This explanation was found by Krzyhau in this thread