Traversal

Version 3.2 by Alexandros Mloukie on 2025/12/17 16:41

0 - Introduction

Traversal defines the means through which the player explores the game world, and includes the mechanics and tools that allow the player to move from one point to another.

0.1 - Disclaimer

The terminology used in this document (e.g. "Rock Climbing") functions as a conceptual descriptor of how the player's movement is affected by specific mechanics rather than literal items or objects.

0.2 - Design Philosophy

Due to the high verticality of the game's level design, multiple vertical traversal mechanics are required to ensure fluid and engaging player movement. The goal is to combine these systems seamlessly, allowing the player to chain various traversal actions dynamically without breaking gameplay flow.

0.3 - Terminology

TermMeaning
PCPlayer Character
  

1 - Traversal Mechanics

1.1 - Basic Traversal

MechanicOverview
WalkingStandard for 3D games. Does not consume Stamina
Sprinting

Standard for 3D games

Features editable delays for acceleration/deceleration 

Consumes Stamina over time

Jumping

True directional jumping

Consumes Stamina

PC remains steerable while airborne

Crouching

Standard crouch movement

Reduces visibility and hitbox size

Consumes stamina

1.2 Vertical Traversal

MechanicOverview
Grappling Hook

Allows the player to attach to specific objects and climb up or down

The player can also swing to reach new surfaces

Consumes Stamina while the interaction is active

Rock Climbing

Enabled when interacting with designated surfaces

Upon activation the camera moves to 3rd person

The player can move along the vertical plane defined by the surface's orientation

If the player is touching the ground, no stamina is consumed

While not touching the ground, stamina is continuously consumed

If the player is actively moving, stamina is consumed faster

If stamina reaches 0, player enters a Freefall state

Rope

Restricts the PC's movement to the vertical axis

Stamina is consumed while the player is suspended or moving (LINK HERE!!!!!!!!!!!!!!!!!!)

If stamina reaches 0, player enters a Freefall state

WaterMitigates fall damage completely upon entry
Geyser

Launches the PC towards a vector defined per actor instance

Alternatively, it can add a launch vector to the PC's existing momentum

Both launching and landing consume stamina

If the PC is launched without the needed stamina, they enter the Freefall state

If the PC lands without the needed stamina, they get the Crippled status

Trampoline

Converts downwards momentum into upwards momentum

Allows the player to build and maintain speed

Each bounce consumes stamina

information Every mechanic that launches the PC by default puts them in the Controlled Fall state. For more info read the Player State Machine document

1.3 - Horizontal Traversal

MechanicOverview
Rail Skating

The PC automatically snaps onto a predefined spline and follows it

The player can jump off at any moment at the cost of stamina

Splines can branch into multiple paths from which the player can choose using their standard movement input

While skating, stamina neither regenerates nor depletes

Grappling Hook

Can be used to propel the player in a horizontal direction

Allows traversal over gaps and hazards


2 - Technical Documentation

2.1 - Walking Data

ParameterTypeDescription
Walk SpeedFloatThe PC's base walking speed
AccelerationFloatTime required to reach max walking speed
DecelerationFloatTime required to come to a full stop
Footstep Sound CueAsset ReferenceDefines the sound asset played when walking on a surface type
Stamina Cost per SecondFloatDefines the stamina loss in special situation

2.2 - Sprinting Data

ParameterTypeDescription
Sprint Speed MultiplierFloatWalk Speed multiplier applied while Sprinting
Acceleration DelayFloatTime before reaching max sprint speed
Deceleration DelayFloatTime before returning to normal speed when sprinting stops
Stamina Cost per SecondFloatStamina drain while sprinting
Minimum Stamina to Start SprintFloatMinimum stamina amount required to initiate a sprint
Camera FOV ChangeFloatDefines the FOV change while sprinting (visual feedback)

2.3 Jumping Data

ParameterTypeDescription
Jump HeightFloatDetermines the height of the PC's jump
Air Control MultipliesFloatDefines how much directional control the player has mid-air
Stamina CostFloatDetermines the stamina cost to perform a jump
Coyote TimeFloatTime window after walking off a ledge that the player can still jump
Landing Recovery TimeFloatRecovery time after landing before movement fully resumes

2.4 Crouching Data

ParameterTypeDescription
Crouch SpeedFloatMovement speed while crouched
Transition SpeedFloatTime to transition between standing and crouching
Collider HeightFloatCapsule height while crouched
Stamina Cost per SecondFloatStamina drain while crouched
Visibility ModifierFloatReduction to the detectibility of the player by enemy AI
Noise Reduction MultipliesFloatScalar applied to the sound produced while moving

2.5 Grappling Hook

ParameterTypeDescription
Hook TargetActor ReferenceDefines the object that the grapple line is attached to
Hook RangeFloatMaximum distance the Grappling Hook can attach to
Climb SpeedFloatSpeed at which the player ascends or descends along the rope
Swing Speed MultiplierFloatControls how much forward momentum the player gains while swinging
Stamina Cost per SecondFloatDefines how fast stamina drains

2.6 Rock Climbing

ParameterTypeDescription
Surface BoundsActor ReferenceDefines the climbable area's bounds
Climb SpeedFloatDefines the movement speed of the player along the surface
Camera OffsetVector3Camera offset relative to the player while climbing
Stamina CostFloatStamina drain while attached to the surface
Stamina Cost per MovementFloatStamina drain while moving along the surface
Fall Threshold StaminaFloatMinimum stamina required to prevent entering the Freefall state

2.7 Rope

ParameterTypeDescription
Rope LengthFloatDefines the length of the climbable segment of rope
Attach PointVector3World-space location of the rope anchor point
Swing SpeedFloatOptional parameter for when the rope allows for limited swinging
Stamina Cost per SecondFloatStamina drain while handing or moving along the rope

2.8 Geyser

ParameterTypeDescription
Launch VectorVector3Defines the launch direction
Launch ForceFloatThe magnitude of the launch vector
AddToMomentum?BooleanIf true, adds to the player's existing velocity instead of setting it
Min Stamina RequiredFloatMinimum stamina required to enter Controlled Fall instead of Freefall on launch
Cooldown TimeFloatTime before the Geyser can be activated again

2.9 Trampoline

ParameterTypeDescription
Bounce MultiplierFloatControls how much vertical velocity is retained or increased after impact
Max Chain BouncesIntegerDefines how many consecutive bounces can be performed before losing momentum
Stamina Cost per BounceFloatStamina drained on each bounce
Min Stamina RequiredFloatMinimim stamina required to enter Controlled Fall instead of Freefall

2.10 Rail Spline

ParameterTypeDescription
Spline PathAsset ReferenceDefines the spline asset used
Base SpeedFloatDefault speed along spline
Branch NodesAsset Reference [ Array ]The array of branch paths the player can switch to
Allow Mid-Air Attach?BooleanDefines if the PC can attach mid-jump