Start building with Ferravex
Ferravex is an original Rust engine for compact 2D and 3D games. Start with a working example, then choose the systems your game needs.
The recovered fifteen-example catalog is local work and has not been pushed or deployed. Use the current checkout for the renderer and games described here; a public Git revision or website may still reflect the earlier catalog. Recovery validation is in progress.
Check your local source
Install a stable Rust toolchain, Git and Python 3. From the current Ferravex checkout:
python3 scripts/audit-owned.py
cargo test --workspace --all-features --offline --lockedThe source is MIT licensed. Every engine crate, tool and example uses only project-owned workspace crates and Rust std. The audit covers all optional features and platforms. Linux windowed games additionally need system X11/GLX libraries and a working display/graphics driver.
Play in your browser
Build and serve the catalog locally:
rustup target add wasm32-unknown-unknown
python3 scripts/build-web.py release
python3 scripts/serve-web.py --port 8000Open http://127.0.0.1:8000/ to choose an example. Restored pages include /emberline/, /neon-swarm/, /marble-run/ and /strike/; Courtyard is /owned/ and Orbit Breaker is /owned-orbit/. Load one game at a time. Keyboard focus, pointer lock and audio may require interaction with its play surface.
The thirteen restored examples share an original WebGL2 host. Courtyard retains its separate instanced WebGL2 renderer, and Orbit Breaker presents its Rust framebuffer through Canvas2D. No JavaScript libraries, external fonts or runtime loaders are fetched.
Run a native game or simulation
The restored games open an original Linux X11/GLX window:
cargo run --release -p neon-swarm
cargo run --release -p marble-runCourtyard and Orbit Breaker retain headless native screenshot paths:
cargo run --release -p owned-lab -- --output /tmp/courtyard.png
cargo run --release -p owned-orbit -- --autoplay --frames 1800 --screenshot /tmp/orbit.pngWindows/macOS/iOS interactive hosts and native audio output remain unimplemented. Portable Rust core compilation is distinct from interactive device support. See platform status for the boundary.
Add this checkout to a Rust project
Point at local crates so your project uses the recovered implementation:
[dependencies]
ferravex = { path = "../ferravex/crates/ferravex" }
ferravex-render = { path = "../ferravex/crates/ferravex-render" }The facade exposes math, ECS, translational dynamics, software graphics, gameplay, input, audio, assets, profiling, replay and networking. The immediate renderer owns drawing/input/frame APIs and platform submission. Physics-based restored games also depend directly on ferravex-physics. Copy the package structure of a restored example when adding a windowed/browser game; keep gameplay in Rust and hosts limited to platform APIs.
Keep the dependency boundary visible
python3 scripts/audit-owned.pyThis checks Cargo's complete resolved workspace across all features and platforms. There are no optional external backends. See the dependency policy and implementation status for the exact boundaries.