主题医院重制版 CorsixTH:免费在现代电脑上完整玩回 1997 经典
【免费下载链接】CorsixTHOpen source clone of Theme Hospital项目地址: https://gitcode.com/GitHub_Trending/co/CorsixTH
把 DOSBox 调到第几倍速,《主题医院》的窗口还是卡在 640×480,鼠标一动就穿模。CorsixTH 是一个开源的主题医院重制版:它用现代引擎把 1997 年的 Bullfrog 经典模拟经营游戏完整重写了一遍,在 Windows、macOS、Linux 上都能跑出高清画面,还顺带解锁了自定义关卡、无限存档这些原版没有的东西。
项目定位速写:它和 DOSBox 模拟运行有什么区别
CorsixTH 不是"在虚拟机里跑原版",而是一次忠实的重实现(reimplementation):游戏逻辑用现代代码重新写,同时兼容原版的地图和存档数据。简单说,它解决的是"老游戏在现代系统上怎么完整、舒服地玩"这个问题,运行环境覆盖 Windows、macOS、Linux 和 BSD。在 640×480 的老窗口之外,它补上了 1080p 甚至 4K 输出、画面缩放、界面比例缩放、20 多种语言字幕,存档数量也不再受原版 12 格限制。完整通关原版战役没有障碍,自定义地图和战役关卡则彻底打开了二创空间。
它能帮你做什么
高清画面怎么开
- 原来只能在 640×480 固定分辨率里玩 → 现在支持 1080p、4K 输出,画面不再糊
- 原来拉近镜头只能牺牲清晰度 → 现在可以实时缩放场景
- 原来小图标在大屏上几乎不可读 → 现在 UI 支持整体缩放
自定义关卡怎么做
- 原来玩完原版 10 关就没有新内容 → 现在自带地图编辑器,自己画医院地块
- 原来没有社区分享渠道 → 现在关卡就是"文本配置 + 地图文件",写出来就能发布
- 仓库里的 CorsixTH/Levels/ 目录放着一批示例地图和关卡,可以直接照着改
老存档和多语言怎么办
- 原来满格存档就丢进度 → 现在存档数量不设上限
- 原来快捷键是写死的 → 现在所有快捷键都可以重新分配
- 原来只有英文 → 现在内置 20 多种语言界面
| 对比项 | 1997 原版 | CorsixTH 重制版 |
|---|---|---|
| 分辨率 | 640×480 固定 | 1080p / 4K,可缩放 |
| 存档 | 固定 12 格 | 数量不限 |
| 关卡 | 原版固定 | 编辑器自制 + 社区分享 |
README 里团队对项目的态度就一句话:"As well as faithfully recreating the original, CorsixTH adds support for modern operating systems, high resolutions and much more."——先忠实还原,再谈创新。
上手三步走
- 准备原版游戏数据。CorsixTH 使用原版的美术、声音和数据文件,需要一张主题医院光盘或从正规渠道购买的数字版,把安装目录找出来。
- 获取 CorsixTH。Windows、macOS 安装程序和 Linux AppImage 从官方 Release 直接下载;也可以从 gitcode 镜像克隆源码,用 CMake 自行编译。
- 启动后按提示把路径指向第一步的原版数据目录,进入主菜单,原版完整战役和 HD 模式、字幕等新功能都摆在面前。
和日常操作最相关的目录结构长这样:
CorsixTH/ ├── Lua/ # 游戏逻辑脚本,改玩法主要看这里 ├── Levels/ # 示例地图(.map)和关卡配置(.level) └── Campaigns/ # 战役关卡内容另外 LevelEdit/ 目录里还内置了一个基于 Java 的关卡编辑器,做地图时可以直接用。
深入一层:想动手改一改的话
一个自定义医院关卡其实就是"一份文本配置 + 一个地图文件"。配置里写关卡名称、开局资金、解锁的疾病和建筑,仓库自带的示例开头长这样(CorsixTH/Levels/example.level):
%Name = "Example Town" %MapFile = "Example.map" #town.StartCash.InterestRate 100000 300 #expertise[1].Known.RschReqd 1 0 GENERAL_PRACTICE技术选型很直接:
- 游戏逻辑层用Lua——改完保存即生效,不用重新编译,这也是社区鼓励新手先碰 Lua 层的原因
- 引擎层用C++ + SDL3——渲染、音频、动画回放和寻路这类吃性能的部分交给 C++,SDL3 负责跨平台窗口和输入
- 构建用CMake管理——Windows、macOS、Linux 用同一套配置出包
想定位代码的话,游戏逻辑都在 CorsixTH/Lua/(入口是app.lua,病人、员工、房间、对话框各归其子目录),C++ 引擎层在 CorsixTH/Src/。
社区与参与
- 写代码:从 Lua 层入手最容易上手,issue 列表里常年挂着适合新手的 Good First Issue
- 做翻译:CorsixTH/Lua/languages/ 下有 20 多种语言文件,部分语言需要更新
- 补文档:wiki 里还有空白处可以填
- 提反馈:帮忙测试新版本、报告问题、整理 issue 状态,同样有价值
对项目想学点东西的人,这里是现成的案例:一套完整的医院经营系统——病人生成、诊断流程、疫情爆发——全部逻辑都在 Lua 里可读可改,C++ 引擎与脚本层怎么协作也能看得一清二楚。
你的主题医院,可以现在开张
如果你是一直想在新机器上把这盘老游戏跑起来的人,或者只是想找一个逻辑完整、分层清晰的项目来读代码,CorsixTH 都值得一试。把仓库拉下来,从主菜单开始:
git clone https://gitcode.com/GitHub_Trending/co/CorsixTH【免费下载链接】CorsixTHOpen source clone of Theme Hospital项目地址: https://gitcode.com/GitHub_Trending/co/CorsixTH
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考