让 SimCity 3000 原生跑在 4K 屏
推荐指数 41.0 NO. 017 · 2026.05.28
发布2026/05/27Score149Comments41
为什么值得看
作者逆向工程了 25 年前的 SimCity 3000,通过内存注入和 DirectDraw 钩子实现原生 4K 渲染与 UI 重绘,无需模拟器。对老游戏兼容性和图形编程有参考价值。
媒体预览
编辑判断
老游戏高清化的主流方案是 DOSBox 或 dgVoodoo2 等兼容层,但作者选择了更硬核的路径:直接注入 DLL 拦截 DirectDraw 调用,在进程内完成分辨率欺骗和 UI 重绘。这种方法比兼容层性能更好、输入延迟更低,但需要对目标游戏的二进制结构有极深理解。
关键细节是作者发现 SC3K 的 UI 元素全是硬编码的位图坐标,而非相对布局,这意味着单纯拉伸分辨率会导致按钮错位。他通过内存扫描定位了 UI 绘制表,用运行时补丁把固定坐标改为动态计算。这种"手术刀式"修复比全游戏重编译更轻量,但也意味着每个游戏都要单独分析。
如果你在做游戏模拟器、复古游戏发行或旧软件兼容层,这个案例展示了兼容层之外的另一条路:与其模拟整个图形栈,不如在应用层做最小侵入式修补。代价是维护负担极高,适合有商业利益驱动的高价值老游戏。
社区反馈
正面 42 条评论
核心争论:老游戏原生高清化 vs 模拟器/官方复刻,社区更推崇玩家逆向工程补丁
I must also admit to preferring Sim City 3000 over 4. I don't know if I can handle a 4K user interface without a magnifier, however.
Have you played SC4 with NAM?
Probably moves sc4 further away from what he would like. If you're into NAM might as well just play cities skylines with transit mods