Runline / A movement study in progress

Runline.

A familiar feel,
a different engine.

Bringing Mirror’s Edge-inspired parkour into Unreal with a C++ movement core. The challenge: preserve the rules closely enough that every frame agrees.

FOCUS
Movement port, engine integration, parity testing
TECH
C++20, Unreal Engine 5.8, CMake, doctest
STATE
Playable prototype in development
Runline is a working title.
Runline greybox rooftop course, with red obstacles marking the route between tall buildings
ROOFTOPS / PROTOTYPE CAPTUREA course adapted from faith-runner, running in Unreal.

The engineering question

Same input.
Same movement?

A port needs more than a similar-looking jump.

RunlineCore is a function-by-function C++20 port of the Rust movement crate in tnrjns’s faith-runner. It has no Unreal dependency. Sprinting, vaulting, wallruns, ledge grabs, slides, rolls, and turns are evaluated inside the core.

Recorded inputs from the reference are replayed through the port. Position, velocity, movement state, and events are compared frame by frame, so differences can be found before camera effects and animation make them harder to see.

Rust referenceRecorded tracesC++ replay

From the repository

Preserve the behaviour.
Then connect the engine.

176 REFERENCE TRACES

Check the core.

The repository documents bit-identical replays of the Rust reference through C++. Tests compare the exact values, not just whether a move looks close.

157 BOX-WORLD TRACES

Check collision too.

The box-world traces also replay through Unreal’s collision adapter. This checks the boundary between the portable movement rules and the game world.

60 HZ SIMULATION

Keep the adapter thin.

The movement component steps the core at a fixed rate, with interpolated rendering. Input, collision, camera effects, and animation connect through the Unreal layer.

Read the implementation & test notes ↗
First-person view of a slide beneath a red rail, with the runner's legs and time trial timer visible
SLIDE / PROTOTYPE CAPTUREMovement, first-person presentation, and a running time trial.

What’s working & what’s next

Prove the port.
Then push it.

The current build has a rooftop course, checkpoints, a time trial, and a body animated by movement state.

Input supports keyboard and gamepad, with camera effects and pause and options menus. The next design step is to test the feel with players and develop a small number of new momentum moves that fit the existing rules.

Those new moves are planned work. This project is still in development; the source includes build instructions.

Credit where it belongs. Movement and course designs are ported from faith-runner by tnrjns, used and adapted with the author’s permission. Mirror’s Edge (DICE / EA) is the design reference. No Mirror’s Edge game files are included. Runline is not affiliated with EA or DICE. See the repository’s full credits.