一款老游戏能否继续玩下去,往往不只取决于有没有人怀念它。操作系统会换代,显卡驱动会变化,模组作者想做的新东西也会碰上旧引擎的限制。OpenMW 选择从引擎这一层入手,为《上古卷轴 III:晨风》提供开源的运行基础,同时附带内容编辑工具 OpenMW-CS。
11 月 1 日,项目发布了 OpenMW 0.52.0 RC1,进入面向更广泛用户的候选版测试。这一轮更新加入集群光照,继续开放 Lua 模组接口,并修复了水面渲染等问题。对于喜欢折腾老游戏和研究引擎的人,它呈现的是一种很有意思的延续方式:保留内容,让承载内容的技术继续演进。
需要先把边界说清楚:OpenMW 是引擎,不包含《晨风》本体。想用它玩原作,仍然需要拥有游戏并提供相应的数据文件。它也不等于在旧程序外面加一个兼容层,而是由自己的引擎读取内容、运行逻辑、完成渲染。因此,能兼容哪些模组、哪些原作行为需要保留,都会成为持续的工程问题。
这次最直观的变化是集群光照。发布说明指出,它允许移除通常的单个物体受光源数量限制。在火把、法术、室内灯具密集的场景里,光源限制会直接影响画面的组织方式。从渲染机制看,把空间划分成更细的区域、为区域筛选相关光源,有助于避免简单地给每个物体套一个固定上限。不过,去掉旧限制并不等于可以无成本堆叠光源,实际负载仍然取决于场景和硬件。
我更关注的是另一组不那么容易做成截图的改动:Lua 的内容扩展能力继续增加。候选版把技能、属性、职业、种族等更多记录开放给加载阶段处理,运行时也能生成某些类型的记录。模组作者能接触到的层次越深,就越有机会改变玩法,而不是只能在既定框架内调整几个数字。
界面接口也在跟着走。新增的间距、换行、鼠标滚轮事件和光标相关能力,指向的都是同一个日常难题:模组做出来之后,怎样让它拥有可用的交互界面。这些能力未必让普通玩家立刻惊讶,却会影响后来出现的工具和模组能做到什么程度。
已经安装 OpenMW 的读者,可以先用 README 列出的参数确认当前引擎版本,并查看它支持的命令行入口:
openmw --version
openmw --help
版本检查在这次尤其必要。开发分支里的版本号可以继续向前推进,但那不能当作稳定版已经发布的证据;本文讨论的是 0.52.0 的第一轮候选构建。准备体验时,应从对应发布页面选择适合系统的构建,再通过启动器配置合法取得的游戏数据。仅仅安装引擎,不能凭空得到游戏内容。
候选版还有一个必须提前考虑的取舍:存档格式发生了变化。官方说明旧存档可以由 0.52.0 读取,但在新版本里保存过的存档,不能再交给较早版本加载。这意味着测试前保留一份旧存档,比遇到问题后再找回退按钮更有用。显卡驱动相关的已知问题也仍列在发布页里,长期游玩的主环境没有必要急着切换。
对模组兼容性同样不能一概而论。项目 README 明确提醒,旧模组可能依赖原引擎的特殊行为,或者含有被更严格的脚本检查发现的问题。引擎更新得更现代,并不保证所有旧内容天然兼容。适合这轮测试的人,是愿意核对模组、保留存档,并把遇到的问题反馈给项目的人。
我喜欢 OpenMW 的地方,是它让“保存一款游戏”不只是把安装包留在硬盘里。只要运行它的基础还可以被理解、修复和改进,旧世界就仍然有继续生长的空间。
项目地址:https://github.com/OpenMW/openmw
|