魔兽德拉诺之王漫谈 好了伤疤忘了疼
我们玩游戏获得的成就感,主要来源于自己游戏角色的强大甚至无所不能。而游戏角色的强弱,很大程度上取决于自身的属性,包括角色属性与装备属性。因此,属性的改动是一个牵一发而动全身的举措,尤其是在尚无前例可供借鉴,像6.0资料片大幅压缩属性无异于将玩家的属性水平从“小康”直降到“解放前”,无论是技术攻坚还是玩家心理接受,对于暴雪都是一项前所未有的挑战。那么,问题又来了:
(一)既然属性压缩左右不讨好,暴雪为啥“明知山有虎,偏向虎山行”?
(二)在属性压缩这个工程中,暴雪为玩家交上几分的答卷呢?
为啥要“属性压缩”?
一、技术层面
在属性将被压缩的消息公布之后不久,就有技术党从数据结构的层面进行了十分细致的分析:魔兽世界Boss血量已经受限于传统的数据结构,最初的32位数据结构已无法满足玩家的进化和BOSS的成长。
他认为:当初受限于科技发展,同时也为便于同类型运算,暴雪制作wow时将Boss的血量数据类型定义为32位的int。
众所周知,32位带符号整数的上限为2147483647。本来这一数据已能满足一款MMORPG游戏所有的数据处理了,然而连暴雪在内的所有人都没有料到的就是,魔兽世界居然活到了10年之久,随着游戏内容的扩展,32位数据结构渐渐开始变得力不从心了。
这个致命矛盾在WLK时代就有过一次预演:当初在冰冠堡垒Farm中,想必很多团长都有过金币超上线被系统吞掉的经历,根源就是限于32位wow.exe数据结构,可携带金币上限为214748金36银47铜=2147483647铜。为了解决这一问题,暴雪在CTM时期更新了64位wow.exe,可携带金币上限为922337203685477金 58银 07铜。
然而,这仅仅解决了金币小层面的问题,暂缓了数据结构上限对游戏本身的威胁,最终这一矛盾在MOP末期集中爆发了出来。最为明显的特征就是,SOO英雄模式几大守关BOSS索克、黑索、脑残吼等最大血量都被卡在20亿左右,只能通过频繁的回血/转阶段来替代BOSS在血量上的不可延展。
换言之,单从数据结构上看,魔兽世界在MOP末期就该寿终正寝了,但它是暴雪的摇钱树,必须撑住继续往前走。
需要指出的是,这一矛盾并非不可化解。当此之时,摆在暴雪面前的有两套解决方案:
(1)把boss血量/脚男输出治疗数据扩展到64位,但这势必要对WoW整个数据库里角色数据进行重构,带来的后果是,大量高频率数据实时运算和传输,尤其是Raid期间会给服务器和客户端本地运算造成数倍的负担——无论是服务器还是玩家,都是很难接受的。
(2)保留32位数据结果,对游戏数据尤其是属性进行全面压缩,再次延缓数据问题对游戏的威胁,但可预见的是,魔兽世界终有一天会被自己臃肿的身体活活累死,只需盯住关底BOSS血量上限即可。