Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

GoudEngine

GoudEngine is a Rust game engine with multi-language SDK support. All game logic lives in Rust. SDKs under sdks/ provide thin wrappers over the FFI boundary.

SDK Support

SDKPackageBackend
C#NuGetDllImport (P/Invoke)
PythonPyPIctypes
TypeScriptnpmnapi-rs (Node.js) + wasm-bindgen (Web)
Rustcrates.ioDirect linking (no FFI)
C/C++localC header via cbindgen
Golocalcgo
KotlinlocalJNI
SwiftlocalC interop
LualocalC FFI

See the Getting Started section in the sidebar for per-language guides.

Engine Features

  • Physics — 2D and 3D rigid body simulation via Rapier. Supports dynamic, kinematic, and static bodies, collision shapes (circle, box, capsule, polygon), raycasting, and collision events.
  • Audio — Playback via Rodio with per-channel volume control (Music, SFX, Ambience, UI, Voice), spatial audio with distance attenuation, looping, and pitch control.
  • Text rendering — TrueType and bitmap font loading, glyph atlas caching, text alignment (left, center, right), word-wrapping, and line spacing.
  • Animation — Sprite sheet animation with frame events, state machine controller with parametric transitions, multi-layer blending (override and additive modes), and standalone tweening with easing functions.
  • Scene management — Named scenes with isolated ECS worlds, transitions (instant, fade, custom), and transition progress tracking.
  • UI — Hierarchical node tree with generational IDs, parent/child relationships, and component-based widgets (buttons, panels, text, images).
  • Error diagnostics — Structured error codes by category, thread-local error state for FFI, backtrace capture, recovery hints, and severity levels.

Status

GoudEngine is in alpha. APIs change frequently. Report issues on GitHub.