为 Stars! 打造专属虚拟机
A custom virtual machine for the Stars 4X game

我开发了一款名为 Stars!VM 的自定义虚拟机,让这款 1995 年的经典 4X 游戏 Stars! 在现代 Windows 系统上也能完美运行。通过嵌入 80286 模拟器并构建 Win16 到 Win32 的桥梁,游戏不仅保留了原汁原味的体验,还获得了 4K 缩放和现代文件选择器。该方案无需复杂的 DOSBox 或 Wine 配置,单个 EXE 文件即可开箱即用,甚至内置了游戏本体。更有趣的是,我利用 Fable 5.1 对游戏的热路径进行了逆向优化,将回合生成速度提升了近两倍,同时通过 Model Context Protocol (MCP) 实现了 AI 代理对游戏 UI 的完全操控。
通过利用本地条件来模拟特定的已知程序,我获得了 JIT 的性能,却无需承担 JIT 的复杂性。
HN 评论区
36- breakingcups
我分发的是 32 位构建版本(但需要 SSE2),因为在这里 64 位没有任何优势,而且这些构建版本几乎能在任何地方运行。
考虑到文章的主题是 16 位模式已不再可用,这有点讽刺。
- em3rgent0rdr
作者们负担不起制作一个粗糙、浪费的 UI,所以按照现代标准,这款游戏的 UI 速度极快且响应灵敏。现在的游戏可不像以前那样了。
我也怀念老式 Windows 游戏的这一特点。《风之城堡》(Castle of the Wind)这款 RPG 就是另一个例子,它毫不避讳地直接使用 Windows 内置的 UI 元素,效果很好。我希望更多游戏能坚持这样做。这样一来,按 Tab 键切换不同 UI 元素焦点的功能就能继续正常工作,开发者也不必担心在自定义 UI 中引入 bug 了。
- programd
星图截图看起来与《先驱者遗迹》(Remnants of the Precursors)[1] 中的星图非常相似,而后者是 1993 年《星际迷航:奥里昂》(Master of Orion)[2] 的现代化版本。这是趋同进化,还是 1995 年的《Stars!》是在向《奥里昂》致敬或克隆?
1. https://rayfowler.itch.io/remnants-of-the-precursors
2. https://store.steampowered.com/app/410970/Master_of_Orion_1/