Journey Engine

A custom 2D game engine built with Rust and wGPU, designed for tight, expressive platformers. Powers Journey.

What's Here

SectionWhat you'll find
Engine APIPublic API reference with usage examples: GameApp, Context, input, physics, sprites, audio, animation
Technical DocumentationArchitecture internals, game loop model, rendering pipeline, cross-platform strategy, dependency map

At a Glance

[dependencies]
journey-engine = "1.0.0"
#![allow(unused)]
fn main() {
use engine::{Context, GameAction, GameApp};

struct MyGame;

impl GameApp for MyGame {
    type Action = MyAction;
    fn init(ctx: &mut Context<MyAction>) -> Self { MyGame }
    fn update(&mut self, ctx: &mut Context<MyAction>) {}
    fn fixed_update(&mut self, ctx: &mut Context<MyAction>) {}
    fn render(&mut self, ctx: &mut Context<MyAction>) {}
}
}

See Engine API → Quick Start for the full minimal example.