.cargo | ||
.github/workflows | ||
src | ||
.gitignore | ||
Cargo.toml | ||
LICENSE | ||
README.md |
doukutsu-rs
Download latest Nightly builds (Requires being logged in to GitHub)
A re-implementation of Cave Story (Doukutsu Monogatari) engine written in Rust.
The project is still incomplete and might not be playable. Expect lots of breaking changes and bugs
Data files
This repository does not contain any copyrighted files.
For better user experience, binaries are being distributed with slightly modified freeware game files.
doukutsu-rs should work fine with CSE2-Enhanced or NXEngine(-evo) modified freeware data files and Cave Story+ data files.
Vanilla Cave Story does not work yet because some important data files have been embedded inside the executable. and we don't have a loader/extractor implemented yet.
Where to get them?
Freeware
- https://github.com/doukutsu-rs/game-data - Freeware game data distributed with CI builds, based on those two below.
- https://github.com/Clownacy/CSE2/archive/enhanced.zip - copy
game_english/data
from archive to the runtime directory (place you run the executable from, usually project root) - https://github.com/nxengine/nxengine-evo/releases/download/v2.6.4/NXEngine-v2.6.4-Win32.zip - copy
NXEngine-evo-2.6.4-xxx/data
from the archive to runtime directory
Cave Story+
- PC release - Copy
data
folder from installation directory (guide for Steam) to the runtime directory. - Switch release - Not supported, because extracting the data files from the console is complicated and requires device-specific decryption keys. Some of release-specific features have been implemented, so you should be able to play it without any major issues. Google will likely help you if you really want to.
Roadmap
-
Checkmarked things = fully implemented
-
Unmarked things = partially or not implemented yet.
-
Rendering
- Backdrops
- Tilemap
- Player and it's animations
- Carets
- Bullets
- NPCs
- Text
- HUD
-
Text scripts (TSC)
- Initial implementation
- Full implementation of opcodes (~80% done)
- Credits
- Shift-JIS encoding support
-
Audio
- Organya BGM playback
- Text script bindings
- CS+ style .ogg BGM playback
- PixTone SFX
-
NPCs/entities
- Initial implementation
- Miscellaneous entities (~30% done)
- Bosses
- First Cave
- Mimiga Village
- Egg Corridor (~70% done)
- Grasstown (~10% done)
- Sand Zone (~10% done)
- Labirynth (~10% done)
- Outer Wall
- Plantation
- Last Cave
- Balcony
- Hell
- Cave Story+ specific NPCs
- Dashing Gaudis (361)
- ??? (362)
-
Weapons
- Leveling / XP system
- Initial implementation
- Snake
- Polar Star
- Fireball
- Machine Gun
- Missile Launcher
- Bubbler
- Blade
- Super Missile Launcher
- Nemesis
- Spur
-
Modding enhancements and built-in tools
- Debugger
- Level editor
- Texture auto-reload mode for spriters
-
Saving and loading game state
-
Data file support
- Vanilla
- Modified vanilla
- Cave Story+
- Base mod
- Mod loading
- Curly Story
- Wind Fortress
- Boss Run
- Seasonal graphics
- Remastered soundtrack
-
Optional enhanced graphics effects
(tbd)
Mandatory screenshots
Freeware data files:
Cave Story+ data files:
Credits
- Studio Pixel for Cave Story
- Cave Story Tribute Site - for LOTS of useful resources related to the game.
- Clownacy/Cucky for CSE2 - some game logic reference / mutual help in reverse engineering bitfields and other shit.
- LunarLambda for organism - which is being used by us as
.org
playback engine.