Case study
CorsixTH: an open reimplementation of Theme Hospital
Reimplements the engine of Bullfrog’s 1997 Theme Hospital, with game logic in Lua and C++ for graphics, sound, movies and pathfinding, on top of the original game’s data files. The README reports that the full campaign can be completed, lists features that are still missing, and adds extensions such as high resolutions and a map editor. It recreates the game’s behaviour on original content rather than recovering Bullfrog source code.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Needs the user’s Theme Hospital data from the original CD, the GOG.com or EA editions, or the Theme Hospital demo, including the resource folder with ANIMS and LEVELS (sometimes named HOSP). The original graphics lack complete sets for some patient types, so enabling their regular spawning may cause anomalies.
- Prerequisites: Source builds use CMake 3.16+ with a C++17 compiler, SDL3, SDL3_mixer, Lua (or optionally LuaJIT) and zlib; FFmpeg enables in-game movies, and vcpkg manages dependencies for preset builds. The README lists builds for Windows and macOS, a Linux AppImage, Flatpak and Snap, and distribution packages for Linux and BSD.
- Limits: The reviewed master snapshot follows the v0.70.1 release of 2026-08-28. The README lists multiplayer/LAN, AI hospitals, rats and the bonus rat level, vomit waves and the win-level video or letter as missing, and warns that some objects may glitch with walls. Custom campaigns, 4K support, the level editor and improved game logic are deliberate extensions.
- Testing evidence: CI runs luacheck and busted Lua unit tests on Linux, plus CMake builds with CTest on Windows.
- License: LICENSE.txt grants MIT terms for CorsixTH and includes notices for bundled components such as Lua 5.5, LPeg and LuaFileSystem, so GitHub does not classify it as one licence. Original Theme Hospital data keeps its own rights. AGENTS.md gives instructions for AI coding agents.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · CorsixTH/CorsixTH · Revision e5138ed
- README.txt GitHub · CorsixTH/CorsixTH · Revision e5138ed
- CMakeLists.txt GitHub · CorsixTH/CorsixTH · Revision e5138ed
- CorsixTH/CMakeLists.txt GitHub · CorsixTH/CorsixTH · Revision e5138ed
- .github/workflows/Linux.yml GitHub · CorsixTH/CorsixTH · Revision e5138ed
- .github/workflows/Windows.yml GitHub · CorsixTH/CorsixTH · Revision e5138ed
- AGENTS.md GitHub · CorsixTH/CorsixTH · Revision e5138ed
- LICENSE.txt GitHub · CorsixTH/CorsixTH · Revision e5138ed
- https://github.com/CorsixTH/CorsixTH/releases/tag/v0.70.1
More in Games
- Cursed Lands: a Godot engine for Evil Islands and Lost in Astral · Case study
- Desktop Games Nostalgia: a macOS and browser port · Case study
- FreeRS42: reimplementing Ricochet Xtreme · Case study
- GunZRs: a Rust reimplementation of GunZ: The Duel · Case study
- Horizon: a Rust rewrite of Minecraft: Java Edition 26.3 with REA bytecode queries · Case study
- impacto: a reimplementation of the MAGES. visual-novel engine · Case study