# CorsixTH: a source-port style reimplementation of Theme Hospital that still needs your original game data

> CorsixTH rebuilds the 1997 Bullfrog hospital sim for Windows, macOS, Linux and BSD, but it ships no assets: you must supply the original game files from a CD, GOG or EA. Here is how the split works, how to install it, and where it still falls short.

**CorsixTH/CorsixTH** — Open source clone of Theme Hospital

- Repository: https://github.com/CorsixTH/CorsixTH
- Stars: 4,574 · Forks: 431
- Language: Lua
- License: NOASSERTION
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/corsixth-corsixth

## What CorsixTH actually is, and who it is for

Theme Hospital was released in 1997 by Bullfrog, and it does not run cleanly on current systems. CorsixTH is a reimplementation of that game: the README describes it as recreating the original faithfully while adding support for Windows, macOS, Linux and BSD, high resolutions and more. The project is written mostly in Lua with a C++ layer, and the repository carries CMakeLists.txt, CMakePresets.json and vcpkg.json alongside a Lua codebase, which tells you the build is a normal CMake project rather than a bespoke script.

The audience is narrower than the download page suggests. CorsixTH is not a standalone game. The README states plainly that the project uses graphics, sound and other data from the original, so one of the following is required: an original game CD, or a download from GOG.com or EA. Buy the game, then run the engine. That is the deal, and it is worth understanding before you spend an evening on it. The second audience is contributors. The README says the code base is made up of Lua and C++, that most game logic is in Lua, and that non-coders are wanted for wiki documentation and issue triage.

## Engine and assets: how the reimplementation is split

The architecture follows the split you would expect from a source port. Game logic lives in Lua, the C++ side handles the platform work, and the original data files are read at runtime rather than compiled in. That is why the repository has a SpriteEncoder and an AnimView directory: the project needs tooling to decode and inspect the original sprite and animation formats, and those tools sit next to the game rather than inside it. LevelEdit is a separate built-in map editor, which the README lists under new features as a way to make your own maps and levels.

The README's feature list is the clearest map of what the reimplementation covers. Under original features it names the single player campaign, all diseases, objects and rooms, all events including emergencies, earthquakes, epidemics and VIP visits, the management windows, the jukebox, gameplay videos and cheats. Under new features it names custom levels and campaigns, Full HD and 4K support, zooming, UI scaling, subtitles, more than 20 languages, unlimited save files, playing your own music, building rooms while paused, removing destroyed rooms for a fee, improved game logic, configurable hotkeys, a machine menu and an adviser message history.

That list is also the honest one. The same README documents what is missing: multiplayer and LAN, AI hospitals and their associated components, rats (though rat holes are present) and the bonus rat level, vomit waves, and the win level video or letter. If any of those are the reason you played Theme Hospital, CorsixTH will not give them back to you.

## How to install CorsixTH and start a first hospital

The README points at the releases page for Windows and macOS builds and for a Linux AppImage, at distribution repositories under either the corsixth or corsix-th name, at Flathub for a Flatpak, and at Snapcraft for a Snap. There is also an unofficial Anylinux AppImage from Pkgforge, which the README labels as unofficial, so treat it accordingly.

On a Debian or Ubuntu machine the packaged route is the least work, since the package name is one of the two the README names:

```bash
sudo apt install corsix-th
```

If you prefer the Flatpak, the application ID is the one the README links on Flathub:

```bash
flatpak install flathub com.corsixth.corsixth
```

Either way, the first launch will ask for the original game data. Point it at your Theme Hospital installation or CD contents. The README does not document a command-line flag for this, so expect to do it through the game's own setup flow on first run.

If you would rather build from source, the repository includes a docker-compose.yml that mounts the checkout into a build container:

```yaml
version: '3'

services:
  corsix-th:
    container_name: corsix-th
    build:
      context: .
      dockerfile: Dockerfile.build
    volumes:
      - .:/sourcecode
```

Running docker compose up with that file builds the image from Dockerfile.build and mounts the working tree at /sourcecode. That is a build environment, not a playable container; the compose file defines no ports and no display forwarding, so it will not give you a running game window on its own.

Once the data is in place, the README says you can complete the full campaign, so the sensible first session is the opening tutorial hospital rather than a custom level. If you want to test the newer options early, the settings expose room building while paused and removal of destroyed rooms for a fee, both of which change how the early game plays.

## The graphics gap the README admits to

The most useful limitation in the README is not the missing multiplayer. It is this: the original graphics do not have a complete set for Pregnancy, Alien DNA, and female Fractured Bones patients, and the README warns these may cause anomalies if you enable regular spawning in settings. That is a specific, reproducible failure mode tied to a specific setting. It also tells you something about the project's method. CorsixTH reuses the original art, so where the original art was never drawn, the reimplementation cannot invent it without breaking the visual style.

A second limitation is cosmetic but real: some objects in the game may glitch with walls. The README does not say which objects or under what conditions, so you cannot plan around it beyond knowing that wall placement is the risky area.

Neither of these is a reason to avoid the project. They are reasons to leave regular spawning off if you care about the patient sprites looking right, and to expect occasional rendering oddities near walls. The README does not document a workaround for either, and it does not document rollback for a save that hits the spawning bug, so keep separate save files if you experiment with that setting.

## CorsixTH versus just running Theme Hospital

The obvious alternative is not another open source project. It is the original game, either on period hardware or through whatever compatibility layer your platform offers. The difference in approach is the point: CorsixTH reimplements the engine and reads the original data, while running the original means executing the 1997 binary as-is. The reimplementation is what buys you 4K support, zooming, UI scaling, subtitles, more than 20 languages, unlimited save files and configurable hotkeys. The original buys you the parts CorsixTH has not rebuilt, including multiplayer, AI hospitals, rats and the bonus rat level, and the win level video.

There is a second comparison worth making inside the project's own history. The README notes improved game logic as a new feature, which means CorsixTH is not a bit-for-bit emulation of the original rules. If you want the exact 1997 behaviour, including its quirks, a reimplementation that advertises improved logic is by definition not that. If you want the game to behave more sensibly, it is exactly that. The README does not enumerate which rules changed, so the difference is something you notice in play rather than read about in advance.

## Maintenance, licence and the cost of upgrading

The repository is not archived, and the last push was on 2026-09-22. Releases are frequent enough to plan around: v0.70.0 landed on 2026-07-10, v0.70.1 on 2026-08-28, with two release candidates for 0.70.0 in between. The changelog.txt at the repository root is where the project records what moved between those versions, and it is the file to read before upgrading rather than the release titles.

The licence is the awkward part. The repository's license field reports NOASSERTION, and the project ships a LICENSE.txt at the root rather than a short SPDX identifier. That is a signal to read the file yourself rather than assume a standard licence applies. There is a second layer here that no licence file in this repository can settle: the game data is not CorsixTH's to license. The README directs you to a CD, GOG or EA for it, and whatever terms come with that copy govern your use of the assets. CorsixTH's own licence covers the engine and its Lua code, not the sprites and sounds it loads. If you plan to redistribute anything built on CorsixTH, that distinction is the one to get clear, and it is not legal advice to say so.

Upgrade cost is low in practice. Saves are unlimited and the project is a normal CMake build with vcpkg dependencies, so a packaged install updates the way any other package does. The risk sits with custom levels and campaigns: the README does not state a compatibility guarantee for user content across releases, so keep your own levels under version control before you pull a new build.

## What the documentation leaves open

Several things a prospective user would want are simply not in the README. There is no documented command-line flag for pointing the engine at your game data, so the first-run setup flow is the only path described. There is no rollback procedure if a save is affected by the incomplete patient graphics. There is no list of which objects glitch with walls. And there is no statement about save compatibility between v0.70.0 and v0.70.1 beyond the existence of changelog.txt.

The README does point somewhere for the rest: a wiki, described as a good place to start, plus Matrix rooms for general chat, announcements, technical discussion and help, a Discord server, a subreddit, and a Google developer group. For a project whose engine is Lua, the wiki and the issue tracker labelled Good First Issue are the practical entry points for anyone who wants to contribute rather than just play. The README also asks for help updating translations across the more than 20 languages it supports.

## Conclusion

Adopt CorsixTH if you already own Theme Hospital and want to play the full campaign at 4K on a modern machine, or if you want to write Lua against a game engine that is small enough to read in an afternoon. Do not adopt it if you need a standalone game with its own assets, LAN play, or AI-controlled rival hospitals, because the README lists all three as missing. Before you start, verify two things: that your copy of the original game is a source the README names (CD, GOG or EA), and that you are installing from the project's releases page, a distribution package, Flathub or Snapcraft rather than a third-party mirror.

## FAQ

### Do I need the original Theme Hospital to use CorsixTH?

Yes. The README states that CorsixTH uses graphics, sound and other data from the original game, so you need either the original CD or a download from GOG.com or EA. The engine itself does not include those assets.

### Can I play Theme Hospital on a MacBook with CorsixTH?

The README lists macOS builds available directly from the releases page, and macOS is one of the modern operating systems the project says it supports. You still need the original game data from a CD, GOG or EA.

### How do I install CorsixTH?

The README points to the releases page for Windows and macOS builds and a Linux AppImage, to distribution repositories under the corsixth or corsix-th package name, to Flathub for a Flatpak, and to Snapcraft for a Snap. On first launch you supply the original game data.

### How do I use CorsixTH once it is installed?

The README says most features are available and that you can complete the full campaign, so the single player campaign is the intended path. New options such as building rooms while paused and removing destroyed rooms for a fee are exposed in settings.

### Is CorsixTH safe to install?

The README directs users to the project's own releases page, distribution repositories, Flathub and Snapcraft, and labels the Pkgforge Anylinux AppImage as unofficial. The repository ships a LICENSE.txt and its license field reports NOASSERTION, so read that file rather than assuming a standard licence.

## Sources

- [CorsixTH/CorsixTH on GitHub](https://github.com/CorsixTH/CorsixTH)
- [Issues](https://github.com/CorsixTH/CorsixTH/issues)
- [README](https://github.com/CorsixTH/CorsixTH/blob/master/README.md)
- [Releases](https://github.com/CorsixTH/CorsixTH/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/corsixth-corsixth
