魔兽争霸手机助手 U9魔兽超级助手


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


一些历史
魔兽世界助手最初的设计源于对LEG版本的补充支持 。在BFA中,我们则优先考虑的是几项主要的后端提升,包括与游戏客户端部分代码的共享,它允许我们利用许多游戏界面现成的特性与工具,在这之前app是无权使用这些内容的 。但这样做的代价就是,我们无法构筑出能同时支持多个资料片的架构,因此我们只能将app支持的资料片从LEG切换为BFA 。
我们很清楚玩家对于无法使用app访问LEG的内容而感到失望,所以我们承诺在暗影之地中将会支持多个资料片 。移动终端设计团队也非常希望能为社区提供他们想要的东西,让LEG的内容回归 。
一开始我们简单地讨论了一下是否只支持过往资料片的部分功能,这样是为了最大化我们在暗影之地内容上的工作内容 。不过我们很快决定还是要尽可能多的恢复以前的功能 。我们知道随着暗影之地的到来,玩家可以使用时空漫游战役在LEG版本升级小号,我们希望能够确保这些玩家在升级过程中也可以拥有完美的移动端体验 。

魔兽争霸手机助手 U9魔兽超级助手

文章插图

魔兽世界助手将允许玩家切换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时设计的新的共享代码架构中,而不再为暗影之地在信息提示里增加更多的货币显示 。这意味着每个资料片都可以请求其对应的货币类型,而不必手动指定我们想要显示的货币 。
魔兽争霸手机助手 U9魔兽超级助手

文章插图

之前版本:app向服务器请求所有货币数目 。
魔兽争霸手机助手 U9魔兽超级助手

文章插图

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


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。