Quick answer: Capture the player position, velocity, and collision state on platformer bug reports, because collision bugs, clipping, corner snags, one-way platform failures, depend on exact position and speed. Players are intensely sensitive to platformer feel, so the precise physics context is what makes a feels wrong bug reproducible.

Platformers are built on collision, and their players are exquisitely sensitive to how it feels. A character that clips through a platform, snags on a corner, sticks to a wall, or falls through a one-way platform breaks the precise, responsive movement that is the entire appeal of the genre. These collision bugs depend on the exact position and velocity at the moment of contact, conditions a player can feel but never describe. Capturing the physics context behind a platformer bug is what turns a frustrating it felt wrong into a reproducible, fixable collision problem.

Collision feel is the whole genre

In a platformer, movement and collision are not just mechanics, they are the core experience, and players judge a platformer almost entirely on how it feels to move and land. This makes collision bugs disproportionately damaging: a clip, a snag, or a stick that would be a minor annoyance in another genre is a fundamental failure in a platformer, because it breaks the tight, predictable movement the player relies on for everything.

It also makes platformer bug reports highly subjective. Players report that the jump felt off or I got stuck on nothing, descriptions of feel rather than fact, because the actual cause, a collision interaction at a specific position and velocity, is invisible to them. To act on these reports, you have to capture the precise physics state that the player felt but could not see, converting a subjective complaint into objective data.

Capture position and velocity

The essential context for a collision bug is the player exact position and velocity at the moment of the problem. Collision is fundamentally about where things are and how fast they are moving, and a bug like clipping through a platform happens at a specific combination of position and speed, often a high speed where the player moves far in one frame, the platformer equivalent of tunneling.

Capture the position and velocity vector when a collision bug is reported so you can recreate the exact approach. A report of falling through a floor becomes reproducible when you know the player was moving downward at high speed at that position, letting you set up the same fast approach in a test scene. The position and velocity are the conditions that produced the collision failure, and without them the bug is just an unrepeatable feeling.

Capture the collision state

Beyond position and velocity, capture the collision state: what the player was touching or near, whether they were grounded, on a wall, on a one-way platform, the contact normals and the nearby geometry. Collision bugs are about the interaction between the player collider and the world, and that interaction state is what reveals why the collision resolved wrong.

One-way platforms, moving platforms, and slopes are especially rich sources of collision bugs, each with their own edge cases, dropping through a one-way platform unexpectedly, getting left behind by a moving platform, sliding wrong on a slope. Capturing which kind of surface the player was interacting with and the contact state immediately narrows the bug to that collision case, which is where the specific logic flaw, in your one-way or moving-platform handling, almost always lives.

The forgiveness features hide bugs

Good platformers add forgiveness features that make movement feel better: coyote time that lets you jump just after leaving a ledge, jump buffering that registers a jump pressed just before landing, corner correction that nudges you past a snag. These features are essential to feel, and they are also a frequent source of subtle bugs, because they involve timing windows and special-case logic layered onto the base collision.

Capture the state of these forgiveness systems when a movement bug is reported, whether coyote time was active, whether a jump was buffered, so you can tell whether the bug is in the base collision or in the forgiveness logic. A jump that should have worked but did not is often a coyote-time or buffer-window bug, and knowing the state of those systems points you at the timing logic rather than sending you searching the base collision code where the bug is not.

Setting it up with Bugnet

Add an in-game report option and attach the player position, velocity, collision state, surface type, and forgiveness-system state as custom fields, with an automatic screenshot. Bugnet stores them so a platformer collision bug arrives with the precise physics context that makes a feels wrong report reproducible, rather than a subjective description of broken movement.

Enable automatic crash capture for the rare collision failures that produce invalid positions and crash, and group identical bugs into occurrence counts. When reports cluster at a particular position or surface type, you have found a specific collision problem, a bad piece of geometry, a flawed one-way platform, and the captured position and velocity let you recreate the exact approach in a test scene to verify your fix restores the feel players expect.

Build a collision test gym

Because platformer collision bugs depend on position and velocity, the ideal regression test recreates both in a controlled test level, a collision gym where you drive the character through known problem cases at the speeds your reports show. Automated tests can launch the character at a platform at high speed and assert it lands rather than clips, or onto a one-way platform and assert the correct pass-through behavior.

Feed your captured collision bugs into this gym so each fixed bug becomes a test that recreates the exact approach that broke. Platformer movement is tightly tuned and interconnected, so a change to collision or to a forgiveness feature can break feel elsewhere, and running every captured case after a movement change catches these regressions before they ship. Over time the gym becomes a comprehensive test of every collision edge case your players have encountered, which for a genre where feel is everything is the surest way to keep movement tight as the game evolves.

In a platformer, feel is the product. Capture the position and velocity behind every feels wrong.