Journey Engine: Crates.io README (@ujjwalvivek/journey-engine)
A cross-platform 2D game engine built with Rust and wGPU.
Features
- Cross-platform rendering with wGPU
- WebAssembly support with zero dependencies on the game code
- Generic action-based input mapping for keyboard, mouse, and gamepad
- Fixed-timestep physics with swept AABB collision detection and collision layers
- Instanced sprite rendering with spritesheet support and blend modes
- Asset-agnostic animation state machine with frame timing and looping
- Cross-platform audio via Kira with music, ambience, SFX, and UI sub-tracks
- Orthographic camera with screen shake
- egui integration for debug UI overlays
- Configurable internal resolution (default 640×360, nearest-neighbor upscale)
Quick Start
Add journey-engine to your Cargo.toml:
[]
= { = "journey-engine", = "1.0.0" }
Implement the GameApp trait:
use ;
;
Architecture
Games implement the GameApp trait to hook into the engine lifecycle:
All mutable state flows through a single Context<A> struct where A is your game-specific action enum.
Documentation
License
MIT License. See LICENSE for details.