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

114 lines
4.3 KiB
Markdown
Raw Normal View History

2020-08-18 16:46:07 +00:00
# doukutsu-rs
2020-09-23 19:44:10 +00:00
![Release](https://github.com/doukutsu-rs/doukutsu-rs/workflows/Release/badge.svg)
[Download latest Nightly builds](https://github.com/doukutsu-rs/doukutsu-rs/actions) (Requires being logged in to GitHub)
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.
2020-09-25 22:28:37 +00:00
The engine also contains some (might be buggy and not accurate, everything was pure guess work on data files to avoid legal issues) implementation of Cave Story+ features from both PC and Switch versions.
Note you have to ship the data files yourself if you want to play with those features, but nothing is stopping you from creating a modification of freeware files that uses those new TSC opcodes and features. I'd actually would like to see something cool created using this engine.
**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-25 22:28:37 +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+) 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
2020-09-04 23:47:17 +00:00
- [ ] Full implementation of opcodes
2020-10-04 18:37:12 +00:00
- [ ] Credits
- [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-10-04 18:37:12 +00:00
- [ ] Sand Zone
- [ ] Labirynth
- [ ] Outer Wall
- [ ] Plantation
- [ ] Last Cave
- [ ] Balcony
- [ ] Hell
- [ ] Cave Story+ additions (no accuracy guaranteed)
- [ ] Dashing Gaudis (361)
- [ ] ??? (362)
2020-08-27 05:10:54 +00:00
- [ ] Weapons
2020-09-12 00:46:13 +00:00
- [x] Initial implementation
2020-10-04 18:37:12 +00:00
- [x] Snake
2020-09-12 00:46:13 +00:00
- [x] Polar Star
2020-10-04 18:37:12 +00:00
- [x] Fireball
2020-09-12 00:46:13 +00:00
- [ ] 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
2020-10-04 18:37:12 +00:00
- [x] Optional enhanced graphics effects
2020-08-27 05:10:54 +00:00
*(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-10-04 18:37:12 +00:00
![CS+ with enhanced graphics](https://media.discordapp.net/attachments/745322954660905103/760599695009251328/unknown.png)
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.