Game Engine  ·  Pure Rust  ·  Multiplayer

RIFT

Rift is a game engine built from scratch in pure Rust. Every wall, trigger, and shadow — rendered natively on your machine, with zero unsafe code.

11K+
Lines of Rust
0
Unsafe blocks
60Hz
Fixed timestep
3
Platforms

// Download

Pick your platform

Pre-built binaries for every platform. A free WAD file is downloaded automatically on first launch — no setup, just play.

Windows rift-setup.exe  ·  installer Your platform Linux rift-linux.tar.gz  ·  x64 Your platform macOS rift-mac.dmg  ·  Universal Your platform
Bring your own WAD (optional): Freedoom downloads automatically on first run. For the original Doom experience, place doom1.wad next to the binary — available on Steam, GOG, or as the free shareware episode.

// Engine

What's inside the Rift engine

Built from scratch in Rust — every subsystem written to prove that systems-level game code doesn't require unsafe.

Safety

100% Safe Rust

Zero unsafe blocks across 11,000+ lines of engine code. BSP traversal, sphere-sweep collision, OpenGL — all safe.

Rendering

BSP Rendering

Classic binary space partitioning with walk-over triggers, push switches, shoot triggers, animated textures, and moving platforms.

Physics

Real Physics

Spring-damped step climbing, sphere-sweep collision, gravity with jump impulse, fly mode, and noclip. Fixed 60 Hz timestep.

Formats

Native WAD

Loads any commercial or shareware Doom 1 or Doom 2 WAD directly. No conversion, no preprocessing — just point and run.


// Multiplayer

Play together

Multiplayer is on by default. You're connected to the shared server the moment you launch.

Automatic

Just run the game

No setup, no server address to track down. Rift connects to the shared server on launch. Other players appear in the top-right corner of your screen.

Your system username is used by default.
--name YourName to change it  ·  --offline to play solo.

Self-hosted

Run your own server

The server mode needs no GPU or window. SSH into any machine — including a cloud instance — and run one command.

./rift server --port 7777

Open port 7777 TCP inbound, then have others connect with
--connect your-ip:7777