魔兽世界7.0_军团再临 > 魔兽世界资讯 > 暴雪工程师嘉年华访谈趣闻:隐形兔子戏法屡试不爽

    暴雪工程师嘉年华访谈趣闻:隐形兔子戏法屡试不爽

    来源:NGA 作者:墮落的猴子 时间:2016-11-06 12:00:37
    暴雪工程师嘉年华访谈趣闻:隐形兔子戏法屡试不爽,今年我有幸在现场经历了两场工程师访谈,一场综合性质,一场魔兽世界,都是QA性质。明天下午还有一场综合性质的。我先把个人觉得很有趣的内容写在下面,等mmo出了完整的文字之后会视情况添加完整版,若有出入还请谅解。

      本文来源于NGACN,作者:墮落的猴子;原文地址:【点我查看】转载请注明出处!

      今年我有幸在现场经历了两场工程师访谈,一场综合性质,一场魔兽世界,都是QA性质。明天下午还有一场综合性质的。

      我先把个人觉得很有趣的内容写在下面,等mmo出了完整的文字之后会视情况添加完整版,若有出入还请谅解。

      魔兽世界从一开始就有使用大量的隐形追踪目标来辅助触发各种事件。[隐形小兔子]就是一个著名的例子。比如在早期的远古海滩,战场的开始并不是你看到的倒计时。而是船上以及码头各自放置了一个隐形的对立npc,他们接近彼此后会开始读条攻击对方,以此来开始战场。类似的还有奥拉基尔的身边有几百个隐形漩涡,一旦玩家撞进其中一个,就会触发一些相关事件。随着代码的改进,工程师们会尽可能不去使用这些有风险的手段,但是时至今日也依然有很多机制是依靠隐形追踪目标来触发的。

      军团再临开服之前,设计师说为什么不通过一个酷炫的任务然后啪地一下把玩家传送到破碎群岛呢。结果工程师在各种实验之后发现现有的服务器模型无法承担,进而开发了新的动态切片技术来实时调整各个服务器的均衡能力。结果便是史上最顺滑的开服体验。

      背包的问题在去年已经有过类似回答,[/read.php?tid=8700591]。2016年的今天,默认背包系统最大的问题依然是如何保证各种写死的逻辑能够适应到新版本的代码,然后有这些时间一整个新补丁都做好了,想想还是算了吧。

      在你的人物被跨服时,客户端会访问服务器重新请求一批应该显示在你视野里的目标,并且取消之前的显示目标。但是在最新地图上使用这种技术依然出现了很多不同步的状况,导致你的跨服体验不是很好,这一部分依然在优化。

      同样的,在德拉诺开服时,出现了很多副本未找到的问题。这是因为负载均衡逻辑没有分配足够的服务器给你所属的副本群,而且你所在的副本群恰好最近不是负载很高的类型。他们在优化了负载均衡逻辑之后问题就少很多了。

      Hotfix能做到的事情与日俱增是他们的目标之一。即使现在已经可以用hotfix来增加新天赋也没有到他们满意的程度。最终的目标是让所有的非静态资源都能通过hotfix来进行修改。

      水上坐骑有时无法工作是和碰撞模型有关的,尤其是玩家从水下移动到水面的过程。本来的碰撞模型非常粗糙,所以会出现侏儒明明在浮着却消耗氧气条,或者是人在猛犸坐骑上被认定是浮空这样的问题。为了应对这些,玩家在坐骑上的碰撞模型并不是简单的玩家模型+坐骑模型+一定位移,而是有一套算法在计算最终的碰撞模型来触发环境效果。这个目前依然不够完善。

      早期的反外挂系统之一是不断检测客户端告诉服务器的玩家移动速度,以及玩家实际的坐标变动。如果两者差距过大,服务器就会认为这个玩家在非法状态,并且尝试把他重新定位到合理的位置。然而这个系统却经常把合法的玩家重置到奇怪的地方,更麻烦的是要debug这个非常麻烦因为难以知道玩家在什么状态下触发了这个bug。

      之前有玩家问为什么不用神器能量或者其他奖励代替目前的安慰奖金币,[蓝贴回复]说是因为目前的roll系统是mop时代做的,只能从boss的掉落表或者金币里选择一个。然而工程师表示这个并没有技术门槛,而是设计师觉得”不可行“。类似的”不可行“的事还有不少,但是往往群众会先怀疑程序员,而不是设计师。注:设计师在[最近的访谈]里已经表示这种安慰奖只是侮辱人,会进行修改。

      炉石的卡牌逻辑都是在服务器端,客户端做的只是请求服务器下一步应该显示什么样的结果。因此对于卡牌的修改是非常方便的,比如产生随机法术这种逻辑,在服务器那边也不会需要用很复杂的脚本就能写出来。

      炉石服务器端的脚本语言最近被用C艹重构过一次,并不是为了运行效率,而是为了降低使用的复杂度。

      炉石早期的移动开发人员本来都不是游戏开发,而是其他组的各种移动应用和服务开发人员组成的。

      守望先锋里判断玩家的战斗力并且寻找队友的逻辑,一开始只是很简单看你的击杀,然后为了照顾其他类型的英雄增加了越来越多的逻辑。一开始也只是很简单的快照值,并不是总看你的动态表现,但是慢慢也在改善。

      blizzcon的售票系统牵扯到了很多分布式系统设计的挑战(分布式消息队列,公平性,负载均衡等),最后的解决方案反而非常简单粗暴。服务器只维护当前剩余票数和当前在购买页面的人数这两个值的一致性,同一时间里只有一小部分用户可以真的访问购买页面,其他人都只能转圈。(然而如何公平地选择这一批用户,似乎他们并没有很好地解决)

      暴雪的程序员对于一些细微内容的添加与否有很大的影响力。比如他们可以觉得某个角色很coooool,反馈给设计师,然后设计师很可能就会说”为什么不加进去试试呢?”。当然不太合理的请求还是会被设计师拒绝的。

    魔兽7.1.5 新团队副本 魔兽7.1 常用工具 魔兽电影 职业套装 职业变化 恶魔猎手 神器系统 新5人副本 PVP系统