Posted October 14, 2025 by NimueS
Walking forms the foundation of the player controller. Every jump, dash, or climb builds on top of this core movement, so getting horizontal motion right was critical. The goal was to make the player feel like they have weight and momentum, while still providing responsive, predictable controls.
The player always moves at a fixed base speed (moveSpeed), but raw velocity feels unnatural. To achieve a grounded and tactile feel, acceleration and deceleration curves are applied, smoothing the transitions when the player starts, stops, or changes direction. This ensures that movement is deliberate without feeling sluggish.
A small deceleration factor prevents abrupt halts. It makes walking feel intentional, as if the character has real mass. This also allows for more precise platforming, since the player can anticipate momentum when approaching edges or small platforms.
Restricting the player to a single walking speed aligns with the exploration-focused gameplay. Without sprint, each movement decision carries weight, emphasizing careful navigation and resourcefulness.
Acceleration curves are tuned so that the player can still react quickly to input changes. This ensures the controls feel satisfying and under the player’s control, rather than disconnected from the character’s movement.
The way that the movement is integrated allows for all the key features to be set via the inspector. This allows quick testing and feedback within editor without having to go into the code to change it.
This system allows players to move cautiously and deliberately. Every step feels meaningful, which reinforces the game’s exploration and scavenging mechanics. Players can push forward, pause, and evaluate their environment without feeling like movement is either too slippery or too rigid.
The next step is jumping, which layers verticality on top of this careful horizontal movement. By nailing X-axis motion first, we ensure that all other abilities feel anchored and satisfying.