An open-source engine reimplementation for The Elder Scrolls V: Skyrim (Special Edition) built in Rust using the Bevy Engine.
Inspired by projects like OpenMW, OpenSkyrim modernizes Bethesda game files (.esm, .bsa, .nif, .dds, .pex) into ultra-fast, GPU-native formats (glTF 2.0, KTX2 Basis, libSQL / SQLite3, Luau) to deliver 60+ FPS high-performance gameplay without loading screens.
rkyv zero-copy memory mapping.DrawMeshInstancedIndirect) reduce 5,000+ individual draw calls to under 100 per frame.mlua): Replaces single-threaded Papyrus with sandboxed, JIT-compiled Luau scripts. Includes async HTTP networking for live web APIs (e.g. real-world weather sync mods).bsn!): Transpiles obsolete Flash (.gfx) menus into hardware-accelerated declarative Bevy UI node trees..esp/.esl plugin load orders.OpenSkyrim is organized into a modular 3-crate Cargo workspace:
OpenSkyrim/
├── Cargo.toml # Workspace Root Manifest
├── crates/
│ ├── launcher/ # GUI Setup Wizard & Built-in Mod Manager
│ ├── converter/ # Converter Pipeline (.nif ➔ .glb, .dds ➔ KTX2, .esm ➔ libSQL)
│ └── engine/ # Bevy Game Engine Binary (Render, Physics, Luau, Audio)
| Crate | Responsibilities |
|---|---|
launcher | First-run setup wizard, game path detection, built-in mod manager UI, triggers converter progress bar, and launches the engine. |
converter | Heavy offline asset converter (mesh-tools, basis-universal, ddsfile, nom binary parsers). |
engine | Lightweight, hyper-fast game binary (Bevy 0.19+, wgpu, libsql, mlua Luau JIT). |
OpenSkyrim is being built systematically across 5 core phases. Explore the full roadmap specs in docs/roadmap/.
converter) — Transpile legacy .esm, .nif, .dds, and .pex into SQLite 3, glTF 2.0, KTX2, and Luau.engine) — Runtime, integration, profiling, and acceptance infrastructure implemented; complete real-asset sign-off remains pending.launcher) — Sandboxed Luau JIT with async web APIs, Flash-to-Bevy bsn! UI conversion, and setup wizard.Clone the repository:
git clone https://github.com/your-username/OpenSkyrim.git
cd OpenSkyrim
Check workspace compilation:
cargo check --workspace
Run the Launcher App:
cargo run -p launcher
docs/specs/)For detailed technical specifications, format breakdowns, and architectural guidelines, explore the docs/specs/ directory:
architecture.md — Core engine architecture overview & phase milestones.nif-to-gltf.md — 3D mesh converter specification (mesh-tools).dds-to-ktx2.md — Texture compressor specification (basis-universal + ddsfile).esm-to-sqlite.md — Master database specification (libSQL + rkyv).pex-to-lua.md — Papyrus bytecode to Luau transpilation spec (mlua).mods-and-ui.md — Integrated Mod Manager & Flash-to-Bevy UI strategy.launcher.md — First-run setup wizard & launcher workflow.vercidium-optimizations.md — High-FPS GPU instancing & HZB culling.platforms.md — Target matrix for Desktop, Mobile ARM64, and WebGPU.requirements.md — Hardware system specs and optimization analysis.features.md — Unlocked capabilities (Zero-loading screens, AI dialogue, native co-op).bevy-examples.md — Mapping official Bevy 0.19 patterns to engine subsystems.We welcome community contributions! Whether you're fixing bugs in asset converters, enhancing Bevy rendering pipelines, or writing documentation, check out our guidelines before submitting a PR:
cargo fmt/clippy), and PR guidelines.OpenSkyrim is dual-licensed under either of the following licenses at your option:
LICENSE-MIT)LICENSE-APACHE)OpenSkyrim is an independent open-source game engine reimplementation. It does not contain any copyrighted game assets, artwork, 3D models, audio, or game data from Bethesda Softworks LLC or ZeniMax Media Inc. Users must supply their own legally owned copy of The Elder Scrolls V: Skyrim to extract game data.
Hacker News (1)
Rust
91.3%
PowerShell
6.4%
WGSL
1.2%
An open-source engine reimplementation for The Elder Scrolls V: Skyrim (Special Edition) built in Rust using the Bevy Engine.
Inspired by projects like OpenMW, OpenSkyrim modernizes Bethesda game files (.esm, .bsa, .nif, .dds, .pex) into ultra-fast, GPU-native formats (glTF 2.0, KTX2 Basis, libSQL / SQLite3, Luau) to deliver 60+ FPS high-performance gameplay without loading screens.
rkyv zero-copy memory mapping.DrawMeshInstancedIndirect) reduce 5,000+ individual draw calls to under 100 per frame.mlua): Replaces single-threaded Papyrus with sandboxed, JIT-compiled Luau scripts. Includes async HTTP networking for live web APIs (e.g. real-world weather sync mods).bsn!): Transpiles obsolete Flash (.gfx) menus into hardware-accelerated declarative Bevy UI node trees..esp/.esl plugin load orders.OpenSkyrim is organized into a modular 3-crate Cargo workspace:
OpenSkyrim/
├── Cargo.toml # Workspace Root Manifest
├── crates/
│ ├── launcher/ # GUI Setup Wizard & Built-in Mod Manager
│ ├── converter/ # Converter Pipeline (.nif ➔ .glb, .dds ➔ KTX2, .esm ➔ libSQL)
│ └── engine/ # Bevy Game Engine Binary (Render, Physics, Luau, Audio)
| Crate | Responsibilities |
|---|---|
launcher | First-run setup wizard, game path detection, built-in mod manager UI, triggers converter progress bar, and launches the engine. |
converter | Heavy offline asset converter (mesh-tools, basis-universal, ddsfile, nom binary parsers). |
engine | Lightweight, hyper-fast game binary (Bevy 0.19+, wgpu, libsql, mlua Luau JIT). |
OpenSkyrim is being built systematically across 5 core phases. Explore the full roadmap specs in docs/roadmap/.
converter) — Transpile legacy .esm, .nif, .dds, and .pex into SQLite 3, glTF 2.0, KTX2, and Luau.engine) — Runtime, integration, profiling, and acceptance infrastructure implemented; complete real-asset sign-off remains pending.launcher) — Sandboxed Luau JIT with async web APIs, Flash-to-Bevy bsn! UI conversion, and setup wizard.Clone the repository:
git clone https://github.com/your-username/OpenSkyrim.git
cd OpenSkyrim
Check workspace compilation:
cargo check --workspace
Run the Launcher App:
cargo run -p launcher
docs/specs/)For detailed technical specifications, format breakdowns, and architectural guidelines, explore the docs/specs/ directory:
architecture.md — Core engine architecture overview & phase milestones.nif-to-gltf.md — 3D mesh converter specification (mesh-tools).dds-to-ktx2.md — Texture compressor specification (basis-universal + ddsfile).esm-to-sqlite.md — Master database specification (libSQL + rkyv).pex-to-lua.md — Papyrus bytecode to Luau transpilation spec (mlua).mods-and-ui.md — Integrated Mod Manager & Flash-to-Bevy UI strategy.launcher.md — First-run setup wizard & launcher workflow.vercidium-optimizations.md — High-FPS GPU instancing & HZB culling.platforms.md — Target matrix for Desktop, Mobile ARM64, and WebGPU.requirements.md — Hardware system specs and optimization analysis.features.md — Unlocked capabilities (Zero-loading screens, AI dialogue, native co-op).bevy-examples.md — Mapping official Bevy 0.19 patterns to engine subsystems.We welcome community contributions! Whether you're fixing bugs in asset converters, enhancing Bevy rendering pipelines, or writing documentation, check out our guidelines before submitting a PR:
cargo fmt/clippy), and PR guidelines.OpenSkyrim is dual-licensed under either of the following licenses at your option:
LICENSE-MIT)LICENSE-APACHE)OpenSkyrim is an independent open-source game engine reimplementation. It does not contain any copyrighted game assets, artwork, 3D models, audio, or game data from Bethesda Softworks LLC or ZeniMax Media Inc. Users must supply their own legally owned copy of The Elder Scrolls V: Skyrim to extract game data.
Hacker News (1)
Rust
91.3%
PowerShell
6.4%
WGSL
1.2%