Case study
keen-clone: a Commander Keen 1 C/SDL2 port
A native Linux and browser port of Commander Keen Episode One is documented as a function-by-function REA/Ghidra reconstruction of KEEN1.EXE. Published analysis artifacts accompany the C/SDL2 game; the scope is the first episode, rather than the entire series.
Requirements & limits
- Prerequisites: Native builds need a C compiler, make and SDL2 development files, plus the user's Keen 1 data files including KEEN1.EXE; the README lists v1.1 and shareware v1.31.
- Limits: Browser builds require Emscripten and supplied game data; the documented web packaging is restricted to the shareware episode. Browser shortcuts and per-origin IndexedDB storage differ from the native host.
- Testing evidence: The repository lists decompilation/disassembly, a call graph and raw REA output as analysis artifacts. It does not provide an independent behavioral-parity or full-playthrough evaluation.
- License: No project license file was present in the reviewed root. Commander Keen and its original data retain their owners' rights; public source access supplies no additional reuse grant.
About this entry
- Type
- Case study
- Category
- Community REA investigations
- Relationship
- Author-reported mixed workflow
- Targets
- Binary · Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · carlhako/keen-clone · Revision 9c6ac72
More in Games
- samp-client-re: a partial SA-MP client reconstruction · Case study
- Desktop Games Nostalgia: a macOS and browser port · Case study
- GunZRs: a Rust reimplementation of GunZ: The Duel · Case study
- LASRecomp: Link’s Awakening static recompilation · Case study
- ArkWeb: a two-game movement and collision experiment · Case study
- Perfect Dark: matching Nintendo 64 decompilation · Case study