doukutsu-rs/README.md

96 lines
3.5 KiB
Markdown
Raw Normal View History

2020-08-18 16:46:07 +00:00
# doukutsu-rs
2020-08-20 18:31:47 +00:00
A re-implementation of Cave Story (Doukutsu Monogatari) engine written in [Rust](https://www.rust-lang.org/), aiming for behavior accuracy and cleaner code.
2020-08-18 16:46:07 +00:00
Later plans might involve turning it into a fully-featured modding tool with live debugging and stuff.
**The project is still incomplete and might not be playable. Expect lots of breaking changes and bugs**
2020-08-18 16:46:07 +00:00
2020-08-19 00:55:21 +00:00
[Join the Discord server](https://discord.gg/fbRsNNB)
2020-08-18 16:52:28 +00:00
2020-08-18 16:46:07 +00:00
#### Data files
2020-09-22 20:21:04 +00:00
This repo does not redistribute any copyrighted files.
2020-08-18 16:46:07 +00:00
2020-09-18 09:28:16 +00:00
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, features are implemented in clean room way, using guess work or stuff already being inside the engine) data files.
2020-08-18 16:46:07 +00:00
2020-08-28 20:16:27 +00:00
Vanilla Cave Story does not work yet because some important data files are embedded inside executable and we don't have an extractor yet.
##### Where to get them?
**Freeware**
2020-09-22 20:21:04 +00:00
- https://github.com/doukutsu-rs/game-data - Freeware game data distributed with CI builds, based on those two below.
2020-08-28 20:16:27 +00:00
- 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](https://steamcommunity.com/sharedfiles/filedetails/?id=760447682)) to the runtime directory.
2020-09-03 12:28:34 +00:00
- Switch release - While some support is implemented, hacking consoles and extracting cartridge content is a kind of gray legal area so I will leave it to you...
2020-08-28 20:16:27 +00:00
2020-08-18 16:46:07 +00:00
#### Roadmap
- [x] Rendering
2020-08-27 05:10:54 +00:00
- [x] Backdrops
- [x] Tilemap
- [x] Player and it's animations
- [x] Carets
- [x] Bullets
2020-09-04 23:47:17 +00:00
- [x] NPCs
2020-08-29 07:44:44 +00:00
- [x] Text
- [x] HUD
2020-08-18 16:46:07 +00:00
- [ ] Text scripts (TSC)
2020-08-27 05:10:54 +00:00
- [x] Initial implementation
- [x] Execution of basic subset of opcodes and game conversations
2020-09-04 23:47:17 +00:00
- [ ] Full implementation of opcodes
- [x] Shift-JIS encoding support
2020-09-03 12:28:34 +00:00
- [ ] Audio
- [x] Organya BGM playback
- [x] Text script bindings
- [ ] CS+ style .ogg BGM playback
- [x] PixTone SFX
2020-08-27 05:10:54 +00:00
- [ ] NPCs/entities
2020-09-04 23:47:17 +00:00
- [x] Initial implementation
- [ ] Miscellaneous entities
- [ ] Bosses
2020-09-10 11:38:17 +00:00
- [x] First Cave
2020-09-04 23:47:17 +00:00
- [ ] Mimiga Village
- [ ] Egg Corridor
2020-09-12 00:46:13 +00:00
- [ ] Grasstown
2020-08-27 05:10:54 +00:00
- [ ] Weapons
2020-09-12 00:46:13 +00:00
- [x] Initial implementation
- [ ] Snake
- [x] Polar Star
- [ ] Fireball
- [ ] Machine Gun
- [ ] Missile Launcher
- [ ] Bubbler
- [ ] Blade
- [ ] Super Missile Launcher
- [ ] Nemesis
- [ ] Spur
2020-08-18 16:46:07 +00:00
- [ ] Modding enhancements and built-in tools
2020-08-27 05:10:54 +00:00
- [x] Debugger
- [ ] Level editor
- [ ] Texture auto-reload mode for spriters
- [ ] Optional enhanced graphics effects
*(tbd)*
2020-08-18 16:46:07 +00:00
2020-08-26 01:25:52 +00:00
#### Mandatory screenshots
2020-08-26 01:21:46 +00:00
2020-08-26 01:25:52 +00:00
**Freeware data files:**
2020-09-10 11:38:17 +00:00
![freeware](https://i.imgur.com/ZvOtpaI.png)
2020-08-26 01:25:52 +00:00
**Cave Story+ data files:**
2020-09-07 10:33:58 +00:00
![cs+](https://i.imgur.com/DIlz4eo.jpg)
2020-08-26 01:21:46 +00:00
2020-08-18 16:46:07 +00:00
#### Credits
- Studio Pixel for Cave Story
- [Cave Story Tribute Site](https://cavestory.org) - for LOTS of useful resources related to the game.
2020-09-10 11:44:46 +00:00
- [Clownacy/Cucky for CSE2](https://github.com/Clownacy/CSE2) - some game logic reference / mutual help in reverse engineering bitfields and other shit.
- [LunarLambda for organism](https://gitdab.com/LunarLambda/organism) - which is being used by us as `.org` playback engine.