Docs › Players

Players

Controls Reference

Controls Reference

All controls are keyboard-based. Key bindings can be changed in config.yaml (see Configuration) using either GLFW integer codes or human-readable key names such as "SPACE" and "F9".

Gameplay

KeyAction
Arrow KeysMove left/right, look up, crouch/roll
SpaceJump
EnterPause / unpause
BackspacePlayer 1 start / in-game pause (engine default; add input.player1.start to config.yaml to override)
QAdvance one frame (while paused)

Rewind

Live rewind is only active when rewind.liveEnabled is true in config.yaml. Visual Trace Test Mode uses the same default key through debug.traceRewind.key.

KeyAction
RHold to rewind live gameplay (rewind.liveKey)
RHold to rewind visual trace playback (debug.traceRewind.key)

Zone Navigation

These shortcuts let you move through the game quickly during development or exploration.

KeyAction
Page DownCycle to the next zone (debug.keys.nextZone)
Page UpCycle to the next act within the current zone (debug.keys.nextAct)
F9Open the level select screen (debug.keys.levelSelect)

F9 also toggles the ring-bounds debug overlay. That overlap is current engine behavior: the level-select shortcut is configurable, while the overlay toggle is hardcoded in the debug overlay subsystem.

Debug Overlays

These toggle visual debug information drawn over the game scene. They require debug.flags.debugView to be true in config (it is by default).

KeyOverlay
F1Debug text — Player position, velocity, angle, and state information
F2Shortcuts — On-screen reference for available key bindings
F3Player panel — Detailed player state readout
F4Sensor labels — Collision sensor ray positions and directions
F5Object labels — Names and positions of active objects
F6Camera bounds — Current camera boundary rectangle
F7Player bounds — Player collision bounding box
F8Object points — Object origin and debug points
F9Ring bounds — Ring collision areas
F10Plane switchers — Plane switcher trigger zones
F11Touch response — Object touch/collision areas
F12Art viewer — Loaded sprite art atlas

Debug Mode

KeyAction
DToggle free-fly debug mode (move camera freely with arrow keys)
CTeleport to the last checkpoint (furthest ‘right’) in this act.

Experimental Editor

These controls are only active when debug.flags.editor is true in config.yaml.

KeyAction
Shift+TabToggle between gameplay and the experimental editor overlay
F5Restart the playtest from editor mode

Super Sonic / Emerald Debug

KeyAction
EInstantly award all Chaos Emeralds
UToggle Super Sonic transformation (requires all emeralds)

Special Stage Debug

These keys are only active during a Special Stage.

KeyAction
TabEnter / exit Special Stage mode
EndComplete the current Special Stage (award emerald)
DeleteFail the current Special Stage
F12Toggle Special Stage sprite debug viewer
F3Cycle Special Stage plane visibility debug modes