A faithful and open-source remake of Cave Story's engine written in Rust
A faithful and open-source remake of Cave Story's engine written in Rust
A reimplementation of the Cave Story (Doukutsu Monogatari) engine with many quality-of-life improvements. It lets you enjoy the 2004 indie classic like a modern game, with support for the original freeware, Cave Story+, and Nintendo Switch data files.
Get stable/beta builds from
Get nightly builds (has latest fixes and improvements) from
Permalinks to latest builds from master branch:
[!NOTE] macOS note: If you get a
"doukutsu-rs" can't be openedmessage, right-click doukutsu-rs.app and click open.
[!NOTE] If you get issues with Epic Games Store version, scroll down for instructions.
In order to work doukutsu-rs needs to be paired with supported data files. This repository does not contain any data files.
doukutsu-rs works fine with freeware data files or NXEngine(-evo) or from a supported copy of Cave Story+.
How to set up data files on Android
If your phone has an app called "Files":
If your phone does not have this app:
Freeware
doukutsu-rs works out of the box when it's placed in the same directory as the original Doukutsu.exe executable. On the initial
startup, doukutsu-rs will automatically extract the additional resources that are embedded in the vanilla game into the data
directory. Until that is done, both doukutsu-rs and the vanilla executable have to exist in the directory.
Example root directory
Cave Story+
doukutsu-rs can be used as drop-in replacement for CaveStory+.exe (instructions for Mac are in the "Steam release (Win/Mac/Linux)" section). No modifications to game files are needed.
Remastered version (first released in 2017 on Switch)
[!NOTE] This version is incompatible with saves from the original version.
Interchanging the save files may result in spawning in wrong locations, softlocks, graphical glitches, or other issues.
Steam (2026) - not yet supported
See https://github.com/doukutsu-rs/doukutsu-rs/issues/365 for status.
Nintendo Switch
Extract the data folder (contained in romfs) from your console using tool such as nxdumptool.
Important notes:
RomFS options menu to just extract the files to SD card so you don't need to do any extra steps.Use update/DLC option), as 1.0 isn't supported.Nintendo Switch homebrew port specific info
If you're running the homebrew port (drshorizon.nro) on your Switch, you can avoid the dumping step, doukutsu-rs will
automatically detect and mount the data files if you run it over Cave Story+ in Title Override mode (hold R while starting CS+ and launch d-rs from hbmenu).
You can put your own data files in /switch/doukutsu-rs/data directory on SD Card, which will be overlayed over RomFS if
you run it in setup described above.
Original version (first released in 2011 on Steam) - expand for instructions
Steam release (Win/Mac/Linux)
The data folder is in the same place across all platforms.
If you want to use doukutsu-rs as a substitute for Mac version of Cave Story+ (which at moment of writing doesn't work on 10.15+ anymore), do the following:
doukutsu-rs.app/Contents/MacOS/doukutsu-rstarget/(release|debug)/doukutsu-rsCave Story+, press the Manage button (gear icon) and select Properties...Local Files and press Browse....Cave Story+.app bundle and navigate to Contents/MacOS directory.Cave Story+ executable to something else or delete it.Cave Story+.[!WARNING] EPIC GAMES STORE VERSION WARNING
Nicalis for some reason ships a stray
opengl32.dllDLL from Windows 7 with the Epic Games Store copies of Cave Story+.However as the game is 32-bit and the dll is 64-bit it has no effect on the original version, but as it's a core Windows DLL and doukutsu-rs ships 64-bit builds and uses OpenGL, it's makes the game crash on startup.
The fix is to simply delete
opengl32.dll, as it's not used anyway.
Epic Games Store
Check your default installation directory.
GOG
Check your default installation directory.
Humble Bundle
The archive from Humble Bundle contains the necessary data folder, in the same folder as CaveStory+.exe.
WiiWare
.waddata folder
Example of a valid uncompressed data folderSame controls as the default for freeware and Cave Story+ keyboard.
To change, use the control customization menu or edit doukutsu-rs\data\settings.json within your user directory.
| P1 | P2 | |
|---|---|---|
| Movement | ← ↑ ↓ → |
, L . / |
| Jump | Z |
B |
| Shoot | X |
N |
| Cycle Weapon | A and S |
G and H |
| Inventory / Skip cutscene | Q |
T |
| Map | W |
Y |
| Strafe | LShift |
RShift |
Alt + Enter - Toggle FullscreenF2 (While paused) - Quick RestartFreeware
Original CS+
Remastered CS+
crabsue-icon).crate::framework, notably the VFS code.No open issues yet, or sync has not completed.