处理输入以及与玩家互动的指令

处理输入以及与玩家互动的指令在将数据转换成代码方面,我们取得了长足的进展,但有些系统并没有现代的替代品。角色界面是代表性的用户界面范例。我们显然必须予以还原,并努力重现当时的感觉,甚至细微到界面特效和角色背后的光线。虽然我们不想承诺完美,但我们可以保证,我们正在并列比较,并尽力打造原汁原味的体验。

经过上述说明,我们相信你肯定想知道我们到底有没有完成,还是我们其实只需要更新标准客户端即可。经历过去一年的项目投入,以及克服各种错误和挑战的努力后,我们所拥有的和我们所想要的之间,依然存在显而易见的差距。在如今的《魔兽世界》中,我们可以清楚地看到它和经典怀旧服之间的区别。如果我们尝试更新标准客户端,就必须追踪许多无形的变化,比如可能被利用的漏洞,或者只有数百万玩家在线时才会出现的崩溃等等。所以我们选择通过一种能让我们的工作更加清晰明了,而非困难和隐晦的方式去解决问题。我们还没有完成,我们还有很多主城的功能需要处理,比如银行和拍卖行。我们需要测试地下城和副本,以确保首领们的技能正常运作,并且我们还需要核验所有的PvP系统。受其影响最大的职业可能就是猎人。宠物的快乐值和忠诚度系统,以及宠物训练、使用远程武器和近战武器的技能都被移除了。有时我们会缺少纹理,因而不得不做一些调查,以确定这些物品的正确外观,并在系统内进行修复。原版的动画也已经还原,但我们的动画系统与游戏代码关联密切。

在这种情况下,将旧数据转换为新系统并不可行,因为它们没有新的系统。此时,我们就必须沿用旧代码——我们也确实这么做了。好在还原工作很顺利,尽管购买箭矢或喂养宠物的需求令一部分人颇感意外。这个问题并不仅限于猎人。潜行者的连击点也必须修改代码,因为我们的现代资源系统知道如何获取和使用连击点,但不知道如何在变更目标时丢失点数。并且还要考虑到旧的战斗公式。在这种情况下,我们沿用了以前的战斗公式的代码,包括爆击和碾压。触发几率也依据防御者的防御值和攻击者的武器技能之间的差异进行了修正。没错,武器技能回来了。幸运的是,我们的现代编辑器能够执行其中一部分数据转换,并且对于地形数据,我们可以使用《争霸艾泽拉斯》的编辑器进行转换。现代编辑器知道如何加载旧的地形格式,以及如何将其转换为新的地形格式,并将其导出到我们的现代引擎。这就修复了营火位置和树木外观等问题。我们克服的另一个障碍,是如何存储和合并数据。

《魔兽世界》的开发过程中存在许多补丁,因为每个补丁都位于不同的开发阶段。如果我们将一件美术资源或地形文件添加到一个补丁中,那么我们希望它能自动显示在以后的补丁中。在游戏十四年的发展中,这个操作向来依照固定的线性时间表完成。如果我们只是将新的经典怀旧服补丁插入当前的开发中,那就会导致洛克莫丹目前的大坝等元素被以前的还原版所覆盖。这将给《争霸艾泽拉斯》版本带来问题。为避免这种情况,我们教会了工具一些新的技巧,从而在不影响当前版本游戏的情况下为经典怀旧服打补丁。我们将1.12版本的数据复制到一个新的项目中,并命令我们的工具将其区分开来。现在,当我们进行补丁时,所有更改都会保留在经典怀旧服的范围内,而不会与主线补丁互相影响。听起来虽然简单——就像复制通讯录一样——但最棘手的部分是如何教会我们所有的工具去理解这种操作,以便自动进行编辑。内部工具的运用助益良多,并且我们希望确保经典怀旧服可以访问我们所有的基础架构和数据。我们还花时间完全还原了模型的经典外观,但在还原的过程中,我们发现一些模型已经损坏。

我们必须同时对数据和代码进行修改,才能使动画还原为1.12版本的样子。在这个过程中,我们遇到了一些错误,比如那些应该倾斜的模型显示为垂直,反之亦然。但我们通过一些修复解决了这些错误。我们手上有数据,但必须还原代码,才能在你使用技能的时候提高数值,并使你的技能等级影响到命中或造成爆击的几率。

发表评论

电子邮件地址不会被公开。 必填项已用*标注