Repository navigation
rugen v0.7.0
0.7.0 — the optimisation release
Nothing new to play with; everything runs lighter, especially on old hardware. Classic 1v1 play is bit-identical to 0.6.5 (replays and online checksums unchanged).
Conversion of fighters is 6–8× faster and uses a quarter of the memory: a 105 MB archive takes 2.9 s and 360 MB instead of 20 s and 1.1 GB (about 10 s on a 2012 dual-core, was minutes). Files are ~10 % larger; existing .rgc / .rgs files still load unchanged. The written file is verified block by block.
Memory: a loaded fighter takes 40 MB instead of 109 (sprites are read from the file when first drawn, sounds decoded on a worker thread into a 32 MB bank, compiled states no longer keep their raw text). A two-fighter fight sits under 50 MB headless. The match screen now frees every GPU texture when it ends; before, every match's textures stayed for the whole session.
Rendering: draw calls per frame 60–75 → 40–49 (title screen 234 → 55) with persistent vertex/index buffers, a glyph atlas per font and no per-frame clones. The OpenGL fallback now really works (0.6.5 silently stayed on Vulkan/DX12), with downlevel device limits instead of a panic, and the adapter/driver is logged at start.
No first-draw hitches: sprites decode on a worker thread and upload under a per-frame budget; a local fight loads on the versus screen and uploads its stage, lifebar and common actions there. First seconds of a fight: 0 frames over 33 ms (was 2–6).
Low-spec mode: OPTIONS → VIDEO → RENDER SCALE ([video] render_scale = auto|1.0|0.75|0.5) draws the fight smaller and scales it up sharp; auto turns it on for integrated GPUs on OpenGL.
Simulation: the expression VM allocates nothing per trigger, ops shrank to half, fast name hashing; Simul 4v4 steps 0.17 ms. A deep checksum next to the fast one in the golden tests guards future optimisations.
Tools: rugen bench prints the whole table (sim, rollback, teams, arena, load, render phases incl. present, conversion) for any machine; RUGEN_FRAMESTATS=1 shows a present phase. Docs: https://rugen.dev/engine/performance/
Verification verdicts now survive engine releases that do not change the simulation. Precompiled logic in existing files is recompiled once on first load (sim changes), a few hundred ms per fighter, in the background.
Downloads
Windows
| Version | File |
|---|---|
| 64-bit (x64), most PCs | rugen-0.7.0-windows-x64.zip |
| 32-bit (x86), older PCs | rugen-0.7.0-windows-x86.zip |
| ARM64 (Snapdragon / Copilot+ PCs) | rugen-0.7.0-windows-arm64.zip |
Unzip anywhere and run rugen.exe. Fighters go in chars/, stages in stages/.
Linux (x86_64)
| Package | File |
|---|---|
| Fedora / RHEL / openSUSE (.rpm) | rugen-0.7.0-1.x86_64.rpm |
| Debian / Ubuntu / Mint (.deb) | rugen_0.7.0-1_amd64.deb |
| Any distro, portable (.tar.gz) | rugen-0.7.0-linux-x86_64.tar.gz |
Packages install the game for every user; fighters and stages then go in
~/.local/share/rugen/chars and ~/.local/share/rugen/stages.
The tarball is a self-contained folder like the Windows zip.
macOS
| Mac | File |
|---|---|
| Apple Silicon (M1 and later) | rugen-0.7.0-macos-arm64.tar.gz |
| Intel | rugen-0.7.0-macos-x64.tar.gz |
Unsigned: the first time, right-click rugen → Open (or xattr -dr com.apple.quarantine <folder>).
Online hub: rugen-server ·
Docs: https://rugen.dev
Full Changelog: v0.6.5...v0.7.0