魔兽世界:工程师车间 浅谈魔兽世界助手的设计

内容速读:

一些历史魔兽世界助手最初的设计源于对LEG版本的补充支持。魔兽世界助手将允许玩家切换LEG和BFA的内容,等暗影之地上线后相关的内容也将开放。

作者:NGA-lbmgiii

魔兽世界助手的所有技术升级内容之中,最庞大的一项就是如何支持多个资料片。我们知道长久以来许多玩家都在呼吁开发这一功能,今天我们想要分享一下在进行这种大规模技术升级时面临的挑战和做出的决策。


一些历史

魔兽世界助手最初的设计源于对LEG版本的补充支持。在BFA中,我们则优先考虑的是几项主要的后端提升,包括与游戏客户端部分代码的共享,它允许我们利用许多游戏界面现成的特性与工具,在这之前app是无权使用这些内容的。但这样做的代价就是,我们无法构筑出能同时支持多个资料片的架构,因此我们只能将app支持的资料片从LEG切换为BFA。

魔兽世界:德鲁伊改动

魔兽世界:德鲁伊改动

我们很清楚玩家对于无法使用app访问LEG的内容而感到失望,所以我们承诺在暗影之地中将会支持多个资料片。移动终端设计团队也非常希望能为社区提供他们想要的东西,让LEG的内容回归。

一开始我们简单地讨论了一下是否只支持过往资料片的部分功能,这样是为了最大化我们在暗影之地内容上的工作内容。不过我们很快决定还是要尽可能多的恢复以前的功能。我们知道随着暗影之地的到来,玩家可以使用时空漫游战役在LEG版本升级小号,我们希望能够确保这些玩家在升级过程中也可以拥有完美的移动端体验。

魔兽世界:工程师车间 浅谈魔兽世界助手的设计

魔兽世界助手将允许玩家切换LEG和BFA的内容,等暗影之地上线后相关的内容也将开放。


不过在现有程序中,仍有一些LEG专属的代码,我们的源码管理中依然存在着LEG相关的资源。这意味着我们在新的多资料片架构的完善测试中必须重复添加LEG内容。虽然需要优化的部分不多,不过这确实意味着我们需要对两个资料片的内容做一些彻底的分割。

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴

创建多资料片架构需要完成以下三个主要内容:

1.app必须清除当前资料片的数据,并向服务器请求新的资料篇内容。

2.我们必须切割各资料片专属的UI代码,以保持功能的独立性。

3.我们必须细分各资料片专属的资源,以优化app的效率。


资料片数据

在最初开发军团助手app时,大多数用于处理app请求的服务器代码是设计来专门返回LEG数据的。当BFA到来时,我们改变了那些代码的功能以返回BFA的数据。然而这一次我们必须为玩家所选的资料片来获取数据,这意味着要遍历所有用于响应移动端请求的服务器功能,并将其改为为接受对应资料片的参数来获取数据。例如,请求随从的数据需要指定随从的类别(是属于LEG版本的随从还是BFA版本的随从),而世界任务数据的请求则要声明包含的地区。

app本身也有很多地方时专门用于支持BFA的功能的。在LEG版本中,app会提示你获取大厅资源。而BFA版本中我们只是在信息提示里面显示了战争资源数量。我们选择在PC客户端中将整个货币系统移植到BFA时设计的新的共享代码架构中,而不再为暗影之地在信息提示里增加更多的货币显示。这意味着每个资料片都可以请求其对应的货币类型,而不必手动指定我们想要显示的货币。

魔兽世界:工程师车间 浅谈魔兽世界助手的设计

之前版本:app向服务器请求所有货币数目。

魔兽世界:工程师车间 浅谈魔兽世界助手的设计

新版本:每个资料片请求专属的货币数目,如果你看过任何在暗影之地中涉及货币系统的插件的代码,你会觉得这一段很熟悉。这是因为共享代码的架构使得魔兽世界助手与游戏本体共享了这一部分功能。

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴


用户界面代码

大部分为BFA编写的代码都是在原有的LEG代码之上编写的,这使得辨认哪些代码是真正有用的变得很有挑战性。例如,BFA的追随者列表仍然可以显示装备,只是这个功能被隐藏了。LEG和BFA这两个资料片的相关功能十分相似,所以这不是一个太大的问题。但是随着我们为暗影之地增加新的功能,维持原有的架构是行不通的。如果那些与LEG和BFA共享的代码部分突然需要支持像灵魂羁绊或者盟约这样的内容,这会使得它们变得更加臃肿。

因此,我们仔细地检查了每一处脚本,分辨出哪些功能是共享的,而哪些功能是专属于某个资料片的。我们将资料片专属的代码分割成子类或新的组件。只在父类中保留基本的共享性的功能,然后使用这些子类为每个资料片创建新的游戏对象。尽管它们基于相同的系统,并且共享大部分的功能,但是现在只有在军团任务列表中才存在战友按钮,而暗影之地的冒险列表则可以去掉LEG和BFA的双标签页设计并显示敌人的头像而非任务类型。

魔兽世界:工程师车间 浅谈魔兽世界助手的设计

魔兽世界:工程师车间 浅谈魔兽世界助手的设计

你可以比较一下军团任务列表和暗影之地冒险列表的异同。

我们对于暗影之地版app的另一个重要的后台调整是如何生成数据库文件。目前app是适用于PC端相同的管道来构建数据库代码及文件。在判断世界任务归属于哪个地图上,这个设计派上了用场。在最初,app是为每个地图ID使用手动逻辑,当它只需要支持阿古斯和破碎群岛时,这不是太大的问题。然而当我们为BFA增加更多战斗区域时,它立刻就变得有些麻烦了。不再使用这套逻辑后,我们轻松地从UI地图库中读取我们想要的内容,这使得系统完全动态地运作。一大段用于处理三个资料片区域的代码被缩减为一个优美简约的功能,它能自动处理所有世界任务而不需要任何资料片独有的逻辑。


资源文件

我们必须记住,移动端开发和PC端开发最大的区别在于,玩家可能会在蜂窝信号较差的环境下使用app。因此必须确保玩家在各种网络环境下使用时都能够获得良好的体验而非烦躁感。而我们确保这一点的方法是减少玩家使用APP时的必须下载的数据量。

每个资料片都有很多资源文件,它们会迅速累积。从仅支持单一资料片的app摇身变为要支持三个资料片,这意味着app所包含的数据变为原来的三倍。然而许多资源内容都是独属于某一个资料片的,比如高分辨率的世界地图纹理、任务位置背景、随从和敌人的头像等。所以我们决定将每个资料片对应的资源分别打包。这样一来,app只需要将当前资料片的资源加载到内存中,这节约了内存的占用。

我们也很早就决定为每个资料片分割单独的游戏场景,这样就能确保功能的分离。LEG的游戏场景不需要盟约召唤界面,而暗影之地的游戏场景也不需要船队的窗口。和我们对代码所做的改动类似,这将使得我们更容易确定app在给定时间内的运作情况。这种对资源和场景的分割使得每个资料片都是独立的,这也为一些更友好的内容下载选项奠定了基础。

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴

我们希望在玩家需要下载资源文件时有更多的自主性。当你的网络环境稳定时,你可以选择一次性下载所有的数据。或者你也可以推迟下载其他资料片数据的时间以更快地进入app。如果你决定不游玩某一资料片内容,那么你可以选择不下载相关的资源文件。每个资料片包含约30-40M的资源文件,可以跳过的下载量是相当可观的!

魔兽世界:工程师车间 浅谈魔兽世界助手的设计

分开下载每个资料片意味着更短的下载时间,更快开始使用app!


管道调整

为每个资料片分割资源文件意味着需要更改管道的两个部分:我们的资源管理工具必须知道哪些资源属于哪些资料片,而我们的资源包创建工具需要在最终打包时将这些资源组合在一起。资源管理工具是另一个原本专门用于支持LEG和BFA版本内容的工具,因此我们不得不重写程序,使其不依附于任何资料片。新版本的软件会遍历资料片列表来获取app需要的内容(通过遍历枚举GarrisonType),将每个资料片的资源解压到单独的文件夹中。对于管理工具的修改使得其可以应用于完整的资料片列表,这意味着他可以在未来自动获取任何新加入列表的值。这也使得我们可以更容易地为app增加新的内容而不必更新管理工具。

我们的资源文件在创建和运行时大量运用了Unity的资源包变体功能。这使得app可以自如地处理某个文件包的不同版本,就如同它们是同一个文件包一样。基于管理工具所解压的不同资料片文件夹,文件包生成管道可以为各个资料片创造不同的文件包变体。当你切换资料片时,这些资源包就被交换到运行环境中。因为所有的变体都被视为同一个文件包。举例来说,代码在获取随从头像时,完全不需要关心目前正在加载的是哪一个资料片的随从头像。这使得我们的特性代码不需要关注资源加载和卸载时的具体细节,每一个资料片都可以假装自己是app中唯一存在的资料片。


在暗影之地

无论你是在游玩暗影之地的全新冒险内容,还是在军团版本中升级自己的小号,我们都非常高兴能够让您体验更多的魔兽世界内容。我们希望本文能够为大家对我们所做的工作,以及在设计架构时的一些决策提供一个趣味性的了解。这些架构不仅能支持目前的游戏内容,还将支持魔兽世界未来可能的设计。

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴

魔兽世界:设计师不当人!解谜内容确定未实装,玩家怒喷耍猴

相关推荐

魔兽世界怀旧服攻略:首领与掉落 怒焰峡谷

作者:NGA-liyuanhui90 怒焰裂谷副本背景怒焰裂谷是奥格瑞玛创建初期由首席精工程师加兹鲁维发现,在萨尔在位期间,酋长对这批地下势力采取秘密监视的态度。最近,被称为怒焰穴居人部落逐渐形成规模,同时有传言说深处有传言说一批崇拜恶魔暗影议会的信徒已经占据了怒焰裂谷深处。目前各种线索均指向该组织...

魔兽世界怀旧服:匕首贼装备打分推荐,有理有据一目了然!

上周小探完成了《狂暴战完全攻略》,得到不少玩家的好评,同时很多玩家留言希望小探能做一下潜行者职业的装备打分推荐。因此小探不得不拿出工程师的严谨态度,核算潜行者的装备属性价值,经过两天的反复计算,终于完成了潜行者装备打分推荐,希望大家能够喜欢。

魔兽世界:战斗宠物新增早知道

值得注意的是它拥有和崔西一样的技能垃圾倾倒(这个技能曾经是崔西独一无二的!) 崔西和垃圾倾倒。目前只有意志之子和塞泰之子拥有“意志之触”;而“锤子”则是宠物训练师工程师伯特使用的战斗宠物“哈默下士”的技能,现在它可以被玩家使用了。

工程师座谈:重现安其拉战争捐献

在这个月的早些时候,《魔兽世界》经典怀旧服迎来了万众瞩目的重大事件——安其拉战争捐献。这一切都是在为《魔兽世界》经典怀旧服的游戏体验保驾护航。重现第二次流沙战争在考虑如何设计这个事件时,我们确立了三个明确的目标:避免连锁奔溃,提高区域中的预期玩家限额,以及确定可以接受的最大延迟时间,并在超出延迟限制...

#魔兽世界#

#魔兽世界#

魔兽世界:它们,我表示一个都打不过

嗯,这个陆行鸟任务也不错!说着我坐了下来,双手捧着我的牛腮帮子思考起来。得,那就去杀陆行鸟吧,顺便可以掏几个鸟蛋烤着吃。这样想着,口水都顺着我的牛嘴直流而下。“卒”再次偶遇天使姐姐Hi天使姐姐,又是美好的一天。(快滚)盘点《我的世界》中生物们的弱点 搞清以后击杀它们如探囊取物盘点《我的世界》中生物们...

《魔兽世界》里的这些坐骑,若放在氪金网游里,至少能卖上万块?

《魔兽世界》里的这些坐骑,若放在氪金网游里,至少能卖上万块?

魔兽世界17周年庆将开,奖励却被玩家吐槽,一点诚意都没有

说起MMORPG网游,相信不少人第一印象就是魔兽世界,不可否认,在整个MMORPG网络游戏发展历史中,魔兽世界绝对占据一个不可忽视的地位。不过随着时间流逝,曾经辉煌无比的魔兽世界,如今也正面临一些难题,这其中也包括一些口碑上面的变化。最近,魔兽世界游戏之中的确上线了17周年庆典活动,而且奖励从表面上...

魔兽世界9.2版本前瞻,新副本新声望都有,希尔瓦娜斯洗白了?

近日,魔兽世界发布暗影国度9.2版本前瞻视频,在视频中暴雪也将魔兽世界接下来的一些变动进行了简单介绍,一些通宵熬夜等视频的wower也从中提炼出不少有趣的东西,下面就一起来看看吧。除了副本剧情演示之外,在魔兽世界9.2前瞻视频中还有一些亮点值得一提。仔细想想,魔兽世界大版本更新爆料,为何不能让......

魔兽世界9.2版本前瞻,新副本新声望都有,希尔瓦娜斯洗白了?

近日,魔兽世界发布暗影国度9.2版本前瞻视频,在视频中暴雪也将魔兽世界接下来的一些变动进行了简单介绍,一些通宵熬夜等视频的wower也从中提炼出不少有趣的东西,下面就一起来看看吧。除了副本剧情演示之外,在魔兽世界9.2前瞻视频中还有一些亮点值得一提。仔细想想,魔兽世界大版本更新爆料,为何不能让......

魔兽世界玩家未解之谜,王者荣耀中的死亡骑士,得到授权了吗?

了解魔兽世界这款网游的玩家应该知道,作为整个游戏圈最为经典的一款MMO网游,魔兽世界的不少设定,一直延续到了各类游戏之中,甚至连一些人物形象都被其他游戏借鉴。不过也正是因为这个原因,导致不少魔兽世界玩家生出了一些疑惑,那就是这种行为不侵权吗?

魔兽世界幻化太丑被踢出队伍?看到成品后,路人表示理解了

看到成品后,路人表示理解了。喜欢玩魔兽世界的玩家一定了解,在这款网游中,不少人都喜欢追求一些稀奇古怪的幻化,尤其是一些老玩家,玩得时间越久其追求就越奇葩。比如最近,有一位魔兽世界老玩家就在NGA上面吐槽,称自己因为幻化太丑,直接被踢出队伍,如此遭遇也是让不少围观群众忍俊不禁。当然,这也只是魔兽世界中...

魔兽世界:为何说“德拉诺之王”是魔兽崩坏的开始?

魔兽世界:为何说“德拉诺之王”是魔兽崩坏的开始?

魔兽世界最新改动,部分表情无法对玩家使用,笑话音频被删除

近段时间以来,魔兽世界这款游戏变动极其频繁,或许是因为与此前暴雪内部的大罢工有一定关系,更换了掌舵人之后,魔兽世界的整体风格突变。譬如在前不久,有不少老玩家发现,魔兽世界中的一些NPC名字被改变,甚至卡拉赞的部分NPC连性别都改变了,这一波,也是让不少玩家感叹暴雪的求生欲有多强。此次改动的主要范围,...

魔兽世界“轮回服”公测,等级上限30级,主要为打击工作室?

前不久,魔兽世界将开启一个每12个月重置一次的赛季服的消息,在整个圈子内引起了不少玩家的热议,很多人都觉得暴雪这是在“无限套娃”,或许等几年之后,这个赛季服都可以称之为“怀旧服之怀旧服”。而近日,备受争议的“轮回服”在美服正式公测。根据暴雪发布的公告可以看出,这次魔兽世界“轮回服”美服公测的等级上限...

盒子游戏,游戏玩家专属个性阅读社区


©CopyRight 2010- 2020 BOXUU.COM Inc All Rights Reserved

鄂公网安备 35020302000061号- 鄂ICP备2020015574号-1