Cave Story (Doukutsu Monogatari, 洞窟物語) was released for free on 20 December 2004 by Daisuke Amaya, better known as Pixel, a Japanese developer who built it alone over five years in his spare time — programming, graphics, music and level design are all his own work. The game is a 2D metroidvania: you wake up with amnesia in a cave, discover the Mimiga, peaceful creatures persecuted by a deranged scientist, and slowly piece together your own story.
Its originality comes from an evolving weapon system — each weapon levels up as you kill enemies, but loses experience when you take damage — and from a narrative with several endings, one of them notoriously demanding. Released in Japanese and then fan-translated, Cave Story became one of the founding games of the 2000s indie scene, before being re-released commercially on WiiWare, DSiWare, Steam and 3DS as Cave Story+.
Recalbox does not replay the original program: it uses NXEngine, a free reimplementation of the game's engine, licensed under GPL-3.0, which reads the freeware version's data directly. The game therefore runs natively, full screen and with a controller, on any machine.
| Author | Daisuke "Pixel" Amaya (Studio Pixel) |
| Year of release | 2004 |
| Engine | Original engine, reimplemented by NXEngine |
| Game type | Metroidvania, 2D action platformer |
| Port licence | GPL-3.0 |
| Controller | Mandatory |
Cave Story is an entirely free game, shipped complete with Recalbox: there is strictly nothing to provide or install. See the Included games page.
Emulator availability per board:
| Emulator | RPI3/RPI02W | RPI4/400 | RPI5/500 | OGA/OGS/RG351 | PC | RG353 |
|---|---|---|---|---|---|---|
| Libretro nxengine | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
NXEngine is the only emulator for this system and is therefore used by default on every machine, including the Raspberry Pi Zero 2: the game is light and runs at full speed everywhere. Netplay is not available on this system and RetroAchievements are not supported. CRT output is handled by the core.
Cave Story is a read-only system: the game is shipped complete and its folder is not meant to be modified.
/recalbox/share_init/roms/ports/Cave Story/
Supported extension: .exe
The folder holds the complete freeware installation, exactly as Pixel distributed it:
/recalbox/share_init/roms/ports/Cave Story/
└── CaveStory/
├── Doukutsu.exe ← the game, launched by NXEngine
├── Config.dat
├── Readme.txt
├── Manual.html
└── data/ ← graphics, sounds, maps, dialogue
NXEngine does not read the DOS/Windows executable itself: it relies on the data/ folder next to it, which holds all the game's resources. That is why the two must always stay together.
Unlike the other ports, this system does not read
/recalbox/share/roms/. Dropping files into/recalbox/share/roms/ports/Cave Story/has no effect: they will not appear in the game list.