1
0
Fork 0
mirror of https://github.com/doukutsu-rs/doukutsu-rs synced 2024-11-16 10:52:44 +00:00
doukutsu-rs/README.md
2020-08-27 07:10:54 +02:00

67 lines
2.6 KiB
Markdown

# doukutsu-rs
A re-implementation of Cave Story (Doukutsu Monogatari) engine written in [Rust](https://www.rust-lang.org/), aiming for behavior accuracy and cleaner code.
Later plans might involve turning it into a fully-featured modding tool with live debugging and stuff.
**The project is still in a very early state and nowhere near being playable. Expect lots of breaking changes and bugs**
[Join the Discord server](https://discord.gg/fbRsNNB)
#### Data files
doukutsu-rs project does not re-distribute any copyrighted files.
The engine should work fine with [CSE2-Enhanced](https://github.com/Clownacy/CSE2) or [NXEngine(-evo)](https://github.com/nxengine/nxengine-evo) modified freeware data files and [Cave Story+](https://www.nicalis.com/games/cavestory+) (Nicalis commercial release, loading is supported but note we're not going to reverse engineer it or support it's features) data files.
#### Roadmap
- [ ] Rendering
- [x] Backdrops
- [x] Tilemap
- [x] Player and it's animations
- [x] Carets
- [ ] Bullets
- [ ] NPCs
- [ ] Text
- [ ] HUD
- [ ] Text scripts (TSC)
- [x] Initial implementation
- [x] Execution of basic subset of opcodes and game conversations
- [ ] Full implementation
- [ ] NPCs/entities
- [ ] Weapons
- [ ] Modding enhancements and built-in tools
- [x] Debugger
- [ ] Level editor
- [ ] Texture auto-reload mode for spriters
- [ ] Optional enhanced graphics effects
*(tbd)*
#### Mandatory screenshots
**Freeware data files:**
![freeware](https://i.imgur.com/oCduSsy.png)
**Cave Story+ data files:**
![cs+](https://i.imgur.com/8qbfkeb.png)
#### why rust, it's a hipster language lol
The project is a result of me wanting to build something in a new programming language for memes.
I had an idea of writing my own CS engine long time before and I would've very likely picked C++17/20 and SDL2, but after
all I've picked Rust instead because it seemed quite interesting for me.
Would 90% of end-users running this thing care about the programming language software was written in? After all who tf cares if the performance is the same (and maybe a slightly better), but you also get a lot of various benefits?
#### Credits
- Studio Pixel for Cave Story
- [Cave Story Tribute Site](https://cavestory.org) - for LOTS of useful resources related to the game.
- [Clownacy for CSE2](https://github.com/Clownacy/CSE2) - a great and very accurate reference for game's logic used in this project
- [CSMC](https://discord.gg/xRsWpz6) - a helpful Cave Story modding community
- [NXEngine](https://github.com/nxengine/nxengine-evo) - an another OSS rewrite of Cave Story engine I took some inspiration from.