CorsixTH 实测:3 步跑通 1997 年经典医院模拟游戏的开源复刻引擎
CorsixTH 实测3 步跑通 1997 年经典医院模拟游戏的开源复刻引擎【免费下载链接】CorsixTHOpen source clone of Theme Hospital项目地址: https://gitcode.com/GitHub_Trending/co/CorsixTHCorsixTH 是一个开源复刻引擎用 C 与 Lua 把 1997 年 Bullfrog 的经典游戏《主题医院》(Theme Hospital) 重做了一遍。它解决的核心问题是原版依赖 DOS 时代的图形与音频接口在现代操作系统上又老又丑、无法扩展——而 CorsixTH 在忠实还原原版玩法的同时支持高分辨率、多平台运行和脚本化内容扩展。这篇文章适合想在新电脑上重温这款游戏的玩家以及想从能跑起来走到能改得动的开发者。老游戏玩不动原版《主题医院》的三个现实困境在 2026 年的机器上直接跑原版游戏你会撞上三类问题平台断层原版绑定当年的 Windows 软件渲染环境在 Win10/Win11、macOS、Linux 上基本要靠 DOSBox 模拟窗口化、鼠标手感都是妥协。分辨率锁死画面停留在 640×480 量级全屏后是放大的马赛克4K 屏上尤其刺眼。内容无法生长所有游戏逻辑写死在程序里想加一种病、改一套 UI、做一个新关卡只能反编译——对普通用户等于不可能。CorsixTH 的路线是引擎重写 数据兼容引擎完全用现代技术实现但直接读取原版游戏的 .dat 资源文件所以画面、声音、动画与原版一致同时获得现代窗口、分辨率和脚本能力。重构思路C 管引擎Lua 管玩法整个项目分成两层这也是它最值得学习的地方——重活交给 C玩法交给 Lua引擎核心在CorsixTH/Src/目录图形、音频、视频、路径搜索这些性能敏感和平台相关的部分用 C 实现基于 SDL3 做跨平台抽象并用 vcpkg 统一管理依赖。游戏逻辑在CorsixTH/Lua/目录疾病、房间、家具、实体行为、全部弹窗界面几乎都在 Lua 里Lua/diseases/、Lua/rooms/、Lua/entities/、Lua/dialogs/各管一摊。新旧方案对比一眼可见维度原版1997CorsixTH现代引擎你得到的收益图形DirectDraw 软件渲染SDL3 硬件加速4K、窗口化、缩放与 UI 自适应音频DirectSoundSDL 音频 MIDI/视频FFmpeg全平台发声还能放自己的音乐游戏逻辑硬编码Lua 脚本自定义疾病、关卡、Mod 无需碰 C运行平台Windows 95/98Windows / macOS / Linux / BSD任何现代系统都能跑从克隆到构建完整编译命令3 步先说一个前提CorsixTH 使用原版的图形、声音和动画数据所以你需要有一份正版《主题医院》数据——实体光盘或从 GOG / EA 商店购买的版本构建时并不校验这一点运行阶段才会用到。下面这组命令覆盖拿到源码 → 配置 → 编译依赖SDL3、FFmpeg、Lua 等由 vcpkg 在配置阶段自动解析# 1. 克隆仓库 git clone https://gitcode.com/GitHub_Trending/co/CorsixTH cd CorsixTH # 2. 配置USE_SOURCE_DATADIRSON 表示直接读源码里的 Lua/资源方便开发 cmake -B build -G Ninja -DCMAKE_BUILD_TYPERelease -DUSE_SOURCE_DATADIRSON # 3. 编译 cmake --build build --config Release两个小贴士仓库自带CMakePresets.jsoncmake --preset linux-dev可以一键套用社区常用的开发配置含单元测试和动画查看器C 部分遵循项目约定的.clang-format规则Lua 部分有.luacheckrc约束改动前看一眼 CONTRIBUTING.md 的编码规范不会踩坑。首次运行配置向导与分辨率自适应第一次启动可执行文件会进入交互式配置先让你指出原版游戏数据目录data.dat所在处再设置显示分辨率与音频选项保存后即可进入主菜单。之后再次启动直接加载配置无需重复设置。高分辨率的支持不只是简单拉伸主菜单背景准备了三档位图运行时按窗口高度自动选取最接近但不超出的那一张——640×480、1280×720、1920×1080 各一套。这是 1080p 下的效果720p 下加载 1280×720 背景是性能与清晰度的折中进入游戏后还可用缩放zoom和 UI 自适应进一步放大配合全屏边框位图保证任意分辨率下界面不变形。如何添加自定义内容以一个新疾病为例CorsixTH 的扩展入口就是 Lua。游戏里每种疾病都是Lua/diseases/下的一段数据真实文件长这样取自baldness.lua仅节选关键字段local disease {} disease.id baldness -- 疾病唯一标识 disease.name _S.diseases.baldness.name -- 名称走多语言表 disease.cure_price 950 -- 治愈费用 disease.contagious false -- 是否传染 disease.initPatient function(patient) patient:setType(Slack Male Patient) -- 患者外观设定 end看懂这一段你就掌握了自定义内容的全部套路新增疾病只需描述标识、症状、治愈方式、费用、患者外观这几类字段新房间、新物体同理分别对应rooms/和objects/目录的结构。此外它带来的原版没有的功能也都能利用内置地图编辑器可以画自己的关卡战役campaign可以自定义剧情关卡序列存档数量不再受原版限制所有热键可重新绑定。社区生态与本地化不写 C 也能参与语言支持 20 多种语言翻译文件都在Lua/languages/目录中文有简体与繁体两套补翻译、修措辞是门槛最低的贡献方式。贡献流程社区要求先开 issue 讨论新功能走 Feature Request认领时在 issue 下留言避免撞车PR 标题可用[WIP]/[RFC]标记进度合并前由 CI 在多个平台跑构建与单元测试验证。贡献方向游戏逻辑是 Lua 写的官方明确欢迎只写 Lua的贡献者——修行为、补测试CorsixTH/Luatest/、完善文档、更新语言文件都可以不要求你碰 C。适用人群与改进方向适合你如果你想在现代系统上无模拟地玩到完整战役且屏幕超过 1080p喜欢改游戏加疾病、画关卡、做战役且希望改动不污染原版文件想找一个Lua C 双层架构 跨平台图形引擎的完整参考实现来学习现状与改进方向官方已知的缺口多人/LAN 模式尚未实现AI 医院电脑对手还在完善中老鼠、呕吐浪潮等个别原版事件缺位原版素材对部分特殊患者如 Alien DNA贴图不完整极端设定下可能出现异常对老游戏爱好者它是能玩 能改的完整答案对开发者它证明了用开放架构复刻专有游戏是可持续的——数据兼容层保住了怀旧感脚本层保住了生命力。【免费下载链接】CorsixTHOpen source clone of Theme Hospital项目地址: https://gitcode.com/GitHub_Trending/co/CorsixTH创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

基于逆向工程的Java注解自动化生成器设计与实践

基于逆向工程的Java注解自动化生成器设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 6:00:33 阅读更多 →
开博送货开单v5.63:部署配置、打印调试与月结对账指南

开博送货开单v5.63:部署配置、打印调试与月结对账指南

简介:开博送货开单管理软件专业版是一款面向小型企业、个体户及个人用户的送货单管理工具,解决手工开单、月底对账及送货单打印不规范等问题。软件集成送货单管理、产品资料、客户信息、数据与图表分析,同时附带仓存进销存、应收账款、银行收…

2026/10/17 6:00:33 阅读更多 →
RenoDX 安装教程:三步把 DirectX 游戏修改工具跑起来

RenoDX 安装教程:三步把 DirectX 游戏修改工具跑起来

RenoDX 安装教程:三步把 DirectX 游戏修改工具跑起来 【免费下载链接】renodx Renovation Engine for DirectX Games 项目地址: https://gitcode.com/GitHub_Trending/re/renodx RenoDX(Renovation Engine for DirectX Games)是一套用…

2026/10/17 6:00:33 阅读更多 →

最新新闻

Windows虚拟化排查指南:从BIOS到Hyper-V的彻底解决

Windows虚拟化排查指南:从BIOS到Hyper-V的彻底解决

这个标题一看就是被模拟器、虚拟机折腾过的人写出来的。说实话,Windows上这颗“虚拟化”的雷,我踩过不下几十次,帮身边朋友排查也排了无数轮。明明主板的开关开了,BIOS里也看到了,系统里却还是提示“CPU 虚拟化已禁用”…

2026/10/17 7:08:04 阅读更多 →
智能体互联协议选型指南:MCP、A2A、ANP对比与避坑实践

智能体互联协议选型指南:MCP、A2A、ANP对比与避坑实践

简介:围绕智能体通信协议MCP、A2A、ANP的演进背景与设计差异,这份PDF面向AI研究者、智能体开发者及关注智能体互联网趋势的企业管理者,系统梳理三类协议的定位、适用场景与选型思路。内容以ANP为主线展开,说明其作为面向智能体设计…

2026/10/17 7:08:04 阅读更多 →
174、让Agent看懂图表:视觉推理

174、让Agent看懂图表:视觉推理

这一篇笔记,得从上周调的一个生产问题说起。客户那边有个Agent,任务是盯着一堆行业报告里的柱状图,自动提取某个季度的营收数据。日志里看,模型明明把图“看”了,也输出了数字,可跟真实报表一对,差了整整一个数量级。最诡异的是,它给的结论跟图例里的单位完全对不上——…

2026/10/17 7:08:04 阅读更多 →
无人驾驶轨迹跟踪与模型预测控制:配套程序整理及调参经验

无人驾驶轨迹跟踪与模型预测控制:配套程序整理及调参经验

前几天我把手头这套无人驾驶车辆轨迹跟踪与模型预测控制第二版配套程序完整整理了一遍。整理之前我以为只是把文件分类,真正动手才发现,这个“配套程序”牵扯的东西远比想象中多:车辆模型用运动学还是动力学、预测时域取多少步、约束怎么设、…

2026/10/17 7:08:04 阅读更多 →
175、语音Agent:STTTTS与对话

175、语音Agent:STTTTS与对话

昨晚线上一个语音Agent在嘈杂环境下把“播放周杰伦的晴天”识别成了“播放周杰伦的情天”,用户重复了三遍,最后气的直接关了。我盯着日志里那句带“情天”的VAD切片,愣了半天。语音Agent这个东西,文档里写的都是“ASR识别-语义理解-TTS合成”的大闭环,但真正上线你会发现,…

2026/10/17 7:08:04 阅读更多 →
零基础网络安全攻防入门:从攻击者视角构建防御体系

零基础网络安全攻防入门:从攻击者视角构建防御体系

朋友,先问你三个场景,你大概率至少中过其中一个:收到一封“你的账户异常,请点击链接验证”的邮件,顺手就点了;某个平台账号密码被撞库,结果同密码的其他平台也一起失守;一台开了远程…

2026/10/17 7:07:04 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →