Skip to main content
Rustic Engine is a high-performance reimplementation of Psych Engine written in Rust. It targets full feature parity with Psych Engine, maintains identical Lua API syntax for mod compatibility, and introduces a clean modular workspace architecture.

Quick Start

Build and run the engine from source in minutes.

Architecture

Understand the modular crate workspace design.

Modding Guide

Learn how to create mods, custom events, and Lua scripts.

Lua API Reference

Full reference for all Psych Engine-compatible Lua functions.

What is Rustic Engine?

Friday Night Funkin’ mods are built on top of Psych Engine — a Haxe-based game framework. Rustic Engine reimplements that framework in Rust, giving you:
  • Full Psych Engine Lua API compatibility — Existing mod scripts run without modification
  • Modular crate architecture — Six isolated crates prevent cascading breakage as the engine grows
  • Conductor-driven timing — All gameplay derives from song position in milliseconds, never wall-clock time
  • wgpu rendering — GPU-accelerated sprite rendering via modern graphics APIs
  • kira audio — Low-latency audio playback with music/vocals sync

Get started

1

Install Rust

Install the Rust toolchain via rustup if you haven’t already.
2

Clone the repository

git clone https://github.com/Quiet-Wolfe/Rustic-Engine.git
cd Rustic-Engine
3

Build and run

cargo build
cargo run
4

Run the tests

cargo test

Core systems

Chart format

Psych Engine JSON chart parsing and legacy format conversion.

Conductor

BPM tracking, beat/step counting, and mid-song tempo changes.

Note system

4-lane notes, hold notes, and hit windows matching Psych Engine exactly.

Camera

Dual-camera system with lerped movement and zoom pulses.

Audio

Instrumental and vocal sync via kira with conductor integration.

Rendering

Sparrow XML atlas sprites, animation, and wgpu GPU backend.