The demo gym¶
addons/SUCC/demo/test_level.tscn is a test course, not a showcase. Every obstacle
answers a specific question about the controller, and everything is sized in engine units.
Open it and press F6.

You spawn on the yellow pad at the near edge. Six lanes run away from you, one per movement feature, built from untextured CSG boxes.
The HUD¶

- Under the crosshair, your horizontal speed twice over: engine units per second in large text, metres per second below it. Source and Quake players think in units; Godot thinks in metres.
- Third line, the current movement state (
IDLE,WALKING,CROUCHING,JUMPING,FALLING). - Top right, which preset is loaded and its headline values.
- Bottom, the controls, read from your Input Map rather than hardcoded. Rebind
jumpand the hint updates.
Controls¶
| Key | Does |
|---|---|
| WASD | Move |
| Space | Jump (hold to bunnyhop) |
| Ctrl | Crouch |
| Shift | Sprint |
| V | First/third person |
| F | Toggle surf handling |
| R | Respawn |
| 1-5 | Swap movement preset |
| Esc | Release the mouse |
Stairs¶

Five steps of 12 units (0.305 m) each, rising to a landing at 1.77 m.
Twelve units is two-thirds of the 18-unit step limit these engines share, which is comfortable; at 16 the climb works but feels like wading. Walking up should be smooth, and a stutter means the step handling is broken.
To the right sits a lone 20-unit step (0.508 m), just above the limit. You cannot walk onto it, only jump onto it.
Slants¶

Three ramps side by side at 15°, 30° and 44°. All are under the 50° standing limit, so all three are walkable, and your speed should be identical on all of them and on flat ground. A ramp that speeds you up or slows you down means the movement solver is synthesising velocity it shouldn't.
44° is just below the limit, the last angle that still counts as floor.
Bunnyhop blocks¶

Six blocks with gaps that widen as you go: 64, 80, 96, 112 and 128 units.
Hold Space and run. You do not need to time the presses; bhop_buffered_jump queues
the next jump for the landing frame.
The widening is a difficulty ramp keyed to the presets. Jump reach depends on speed and airtime, which differ across the five:
| Preset | Reach | Clears |
|---|---|---|
| SurfsUp | 268u | all five |
| Quake | 216u | all five |
| GoldSrc | 215u | all five |
| Quake 2 | 203u | all five |
| Source | 101u | the first three |
So the early gaps work in every preset and the late ones need speed. Switch to preset 5 and you will fall short on gap four; Half-Life 2's jump is about a third as high as the others.
Crouch corridor¶

A 12 m tunnel with 40 units (1.016 m) of headroom.
That number sits between the two hull heights: a ducked character is 36 units and fits; a standing character is 72 units and does not. Walk in standing and you stop at the entrance. Hold Ctrl and you pass.
Release Ctrl while still inside and you stay crouched. There's no room to stand, and SUCC retries every frame. Walk out the far end and you stand automatically.
Surf ramp¶

Two faces at 53.1° meeting at an apex 16.5 m up, forming a peak rather than a valley. The footprint is 24.4 m wide, which is the Momentum Mod mapping spec: 960 x 640 units for a double-sided ramp, a 5:4 ratio.
53.1° is past the 50° standing limit, so the surfaces never count as floor and you stay permanently airborne on them, which is exactly what makes surfing work. Climb the yellow staircase on the left to the launch platform, drop onto either face, and hold a strafe key into the slope.
The staircase is 22 steps of 16-unit risers with 40-unit (1.016 m) treads. Tread depth matters as much as riser height: the player hull is 32 units deep, so a narrower tread leaves the body straddling two risers and the step-up logic thrashes.
Real surf maps use a peak rather than a valley. On a peak you ride the outer face with open floor beside you, so easing off the strafe key drops you off the side; a valley would funnel you to the bottom and hold you there.
Size matters too. An undersized ramp gives you no time to build speed before you reach the floor. At 400 u/s a spec-width ramp takes about 2.4 seconds to cross, against under a second on a ramp a third of that size.
Slide¶

A 40° chute, 11 m long, reached by another 25° access ramp.
40° is walkable but steep enough that you slide when you stop pushing, the middle ground the slants don't cover.
Reading the level as a test¶
Assign your own config to the player and walk the lanes. Expectations:
- Flat, ramps and stairs should all report the same speed.
- Stair rises should be uniform, with no camera jitter.
- The crouch corridor should block standing and pass ducking, regardless of preset.
- Surf should hold you on the ramp for as long as you keep strafing into it.
If your tuning breaks one of those, the lane tells you which part of the movement it was.
Making your own¶
The whole level is CSG boxes in one scene file with a small script
(addons/SUCC/demo/test_level.gd) doing the HUD and preset switching. Copy and cut it
down for your own game's test map.
The dimensions come from engine units divided by 39.37. If you want a 24-unit step: