我遇到一群腾讯游戏的“老司机”
浅友们大家好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你特别想听到谁的故事,不妨加微信(微信号:shizhongmini)告诉我。
我遇到一群腾讯游戏的“老司机”
文 | 史中
1971年3月,日本名古屋世乒赛。
一位奔放的美国乒乓球手对暌违十多年的中国队员说:“嘿,中国人,好久不见。你们的球打得真好!”
这句温暖的问候,像蝴蝶的翅膀,最终撬动中国乒乓球队一封“拟邀请美国乒乓球队访华”的请示通过国家体委,通过外交部,传递到最高领导的案上。
领导看到两部委给出的磋商意见是“不邀请”,于是也同意“不邀请”。然而,就在当天深夜,他突然让工作人员致电外交部,传达修改指示:“邀请美国队访华!”
1971年4月11日,美国队经由香港,进入深圳罗湖口岸辗转北上,他们成了1949年以后,第一批合法入境的美国人。
“乒乓外交”以降,有了尼克松访华和中美建交,有了1984年洛杉矶奥运会许海峰的零的突破,有了李宁李小鹏,有了《北京欢迎你》。
电影《阿甘正传》里,阿甘就是美国乒乓球队的。。。
运动是全人类的语言,它像一团火,明亮耀眼。在它面前,任何翻译都显得苍白。
你在学英语时,有没有注意到一个有趣的事情:乒乓球比赛被称为 Pingpong Game,奥运会被称为 Olympic Games。
没错,盲生你发现了华点。在英语中“比赛”和“游戏”都是 Game。这很讲道理,因为游戏和比赛一样,参赛者也不需要任何翻译就能相互理解,也可以通过竞技传达平等和热爱。
2018年,亚奥理事会宣布《英雄联盟》、《王者荣耀国际版(AoV)》、《皇室战争》、《炉石传说》、《实况足球》、《星际争霸2》入选亚运会比赛项目。几十载时光奔流,游戏从“玩物”变成了“项目”,像一颗野草,终于成了树。
中国队在亚运会电竞比赛中夺冠
如果仔细查看这六款“亚运游戏”,你会发现其中半壁江山都和腾讯有关。可见在游戏的世界里,腾讯是一个多么无法绕过的存在。
讲真,从小我就对这些游戏的创作者满心仰慕,他们好像巨轮的船长,带领一群爱幻想的人找到他们的应许之地。
然而长大后我才知道,荣光不只属于海面之上。
有一群“老司机”,低调地隐藏在一艘艘巨轮的甲板之下。正是他们,用深厚的内力维持着发动机的丝滑运转,为我们这些玩家的大冒险保驾护航。翻开腾讯游戏的历史,他们的身影也在字里行间。
有诗赞曰:
儿时耻于玩游戏,
如今奥运较高低。
天朝游戏红满地,
报站还靠老司机。
(一)“铁面私教”
2001年冬天,我从吸着鼻涕的同学嘴里听说了一个叫“网游”的玩意儿。看他的眼神,这似乎是一种比女朋友美好十倍的东西。
在那个华灯初上的年代,全国人民的心头好还不是腾讯,而是盛大的《传奇》。
你问腾讯那个时候为啥不做游戏?对不起,那时候腾讯还在发愁怎么让QQ活到下个月。。。
2002年,刚刚把QQ从悬崖边上拉回来的马化腾拍拍身上的土,一刻不停就准备“干票大的”——进军游戏。事实上,要不要做游戏,是腾讯历史上第一次发生创始人之间的分歧。
为了说服合伙人,马化腾把腾讯联合创始人曾李青强行拉到美国E3电玩展。不知道在美国玩了什么游戏,回来后曾李青态度大变,从“反游派”变成了“挺游派”,游说了同样反对做游戏的CTO张志东。直到这一刻,腾讯未来十几年奔腾展开的游戏图卷才画下了第一笔。
有道是,踩坑要趁早,吃亏当少年。
腾讯游戏的亏就吃得特别早。
2003年,当红的《传奇》和《梦幻西游 Online》还是2D时,腾讯就破天荒代理了一款韩国华丽3D动作史诗游戏巨作——《凯旋》。
事实证明,《凯旋》一点都不凯旋。
《凯旋》游戏画面
2003年8月1日上线仅仅半天,《凯旋》的服务器就被玩家挤垮;而且,从历史上看,当时中国的宽带网基础设施还在完善中,《凯旋》就算吃掉机器的全部带宽,游戏人物还是像皮影戏一样会卡顿;另外,对于当时普遍的电脑配置,运行《凯旋》就像是马拉火车,渲染出来的锯齿和马赛克有时堪比AV。
这再一次印证了十年前中国大地上正流行的“黑网吧定律”:凡是在网吧里跑不起来的游戏,是万万不可能成功的。
这次“沉船”,让少年腾讯深刻理解到一个问题:一个游戏要想火,好玩只是因素之一,同样重要的还有它的底层技术优化。从此之后几年,腾讯在引进游戏上变得非常小心,就像拿长筷子从火锅里夹撒尿牛丸那么谨慎。
他们改弦更张,选择了从小游戏入手,《QQ堂》《QQ宠物》《QQ幻想》小火慢炖,口碑逐渐积累。直到2008年,腾讯游戏才鼓起勇气公测了两款大型游戏,那就是《穿越火线》(CF)和《地下城与勇士》(DNF)。
网吧里人们围观《穿越火线》
2008年是腾讯童鞋心中的“游戏元年”,不仅仅是因为 CF 和 DNF 迷倒了众人,还因为腾讯在和一家自己投资的美国游戏公司 Riot Games(拳头游戏)进行了深度合作。恐怕 Riot 自己也没想到,当时他们开发的一款游戏,后来会以燎原之势进入人类游戏史,这就是《英雄联盟》(LOL)。
总之,当时 CF、DNF、LOL 承载了腾讯扑街之后第二次冲锋的野心。
说到这里,就得请上今天故事的第一位讲述人:方亮。他就是在那时加入腾讯的。说来,他的职责很有趣,就是“保证游戏顺利出街,不被玩家吐槽”。。。后来它有了个高大上的名字:“品质管理”。
方亮
《英雄联盟》公测之后,火爆程度持续攀升,上千万玩家涌上平台,服务器有点像举着杠铃的运动员,瑟瑟发抖,时不时就要跪一下。在网上,开始有帖子揶揄腾讯在用“小霸王”当服务器。。。
鹅厂同学又想起了被《凯旋》支配的恐惧,赶紧找到游戏的作者 Riot 问情况,Riot 也挠头,说在我们美国游戏跑得好着呢,你们和我们用一样配置的服务器,是不是没拜杨超越。。。
方亮只好和同事们没日没夜地排查,终于发现了问题所在:中国的网络质量和美国相比差距很大,经常会因为网络抖动、丢包引起登陆系统故障。另外中国玩家太热情了,比美国玩家基数更大。他们同时涌入的时候,就会触发某个服务的上线,造成拥堵。
老湿傅们赶紧和 Riot 的伙伴们一起在这个节点上做了改进,结果药到病除,《英雄联盟》的情况立刻单车变摩托。
从那时开始,方亮所在的“品质管理”部门就成为了腾讯各个游戏的“铁面私教”,每每有新游戏上线,品质管理的同学都要从架构设计到游戏逻辑,贴身全面检查,毫不留情地指出问题,练好肌肉才允许出街。不仅是新游戏,老游戏的每一次升级,都要有相应的“私教”过一遍才能放行。
2010年,腾讯准备代理一款韩国游戏。韩国人拍着胸脯:“我们的游戏架构棒棒哒,100w人同时在线毫无鸭力!”品质管理部的同事语重心长地说:“对不起,在我们这最少要求能撑得住1000w人同时在线。。。架构还是改改吧。”
方亮告诉我,腾讯互娱的掌舵人任宇昕专门发了一个“尚方宝剑”,某款游戏,只要品质管理部项目经理说“不”,这款游戏就不能发布。一票否决,跪谁都没用。
有人说腾讯游戏做得这么好,是凭运气代理了几个爆款。但作为亲历者我知道,爆款是同事们一点点抠细节认真做出来的。
方亮说。
《英雄联盟》成为了历史上最负盛名的电竞游戏之一。
随着《英雄联盟》的大火,作为“私教”的方亮也跟着这款游戏的运营团队拿了无数大奖,躺在荣誉上幸福得晕头转向。不过,2013年的一天,领导突然找到他,说时代召唤他去完成一个新的任务。。。
(二)满墙手机的骚操作
2013年,iPhone5S 刚刚发布,一众安卓机群雄斗艳。
手机的脸变长了,运算能力变强了,游戏开发者开始摩拳擦掌了。
当时 BAT 格局已经稳固,巨头腾讯悄悄投资了韩国聊天工具 KakaoTalk,从而能够第一时间获知在韩国社交圈什么东西比较流行。
2013年,大数据显示,通过 KakaoTalk 分发的手机游戏突然暴增,腾讯嗅到了味道,调集最强的力量组成了一个移动游戏工作室——天美艺游。不久后,《天天酷跑》《天天爱消除》开始像神曲一样进驻很多人的手机。
天美艺游,后来重组为大名鼎鼎的天美工作室群。一般来说,玩游戏的童鞋,看到这个画面就不困了。
方亮被“时代召唤”的任务也揭晓了,那就是拉起一支队伍,为腾讯的新一代游戏——手游——进行“品质管理”。
本来团队想得很简单,手游和端游(PC游戏)不一样么,就是要关注服务器能不能撑得住,玩家满不满意,游戏角色和难度设计是不是平衡,有没有槽点之类。
但是方亮很快就发现,老干部遇到了新问题:市面上辣么多款手机,品牌、芯片、系统配置都不相同,同样一个游戏,没准在哪款手机上就会出现闪退、卡Bug 的问题。。。
问:怎么测试一个游戏在100款手机上分别卡不卡Bug呢?
答:把100款手机拿来,在每个手机上都把游戏玩一遍。。。
于是,团队照着后台数据,把玩家使用最多的手机排序,然后把Top100的手机一个不落地买回来,有的手机很老,厂商已经不卖了,他们就去二手平台淘。实在不行,看团队同学谁家有这个“古董”,按照市价收购!
那时候,团队的十来个同学,每天上班的任务就是——联机打游戏。用各种手机打游戏,没白没黑地打游戏,废寝忘食地打游戏,目的就是找出不同手机上的适配 Bug。
一位团队同学回忆:
你能体会打游戏打到想吐的感觉么?不到晚上11点都打不完一天的任务量,每天早晨想到自己要打一天的游戏,吓得不想起床。。。
这就是人肉测试游戏的“魔幻场面”
一开始,靠人力还能测试得过来,到后来移动游戏越来越火。每天连发布带升级恨不得有十款游戏等着测试团队“试玩”,一个人最多的时候面前五个手机同时玩,画面太美。。。团队眼看就要玩到吐血。方亮觉得事情不能再这样下去了,我们好像是一家科技公司,不能干成手工作坊。。。
于是,两个星期后,在测试机房出现了一个奇异的大架子。仔细一看,上面密密麻麻地挂了一墙手机,各种型号。这就是他们设计的“秘密武器”——自动测试系统。
满墙的测试手机,组成自动测试系统
它的工作原理是酱的:
每个游戏都有主线任务。测试团队根据这个主线任务设计出一套“剧本”:登录、对局、分享、拉排名等等。把这套剧本输入测试系统,测试系统就用电脑模拟人的操作,开始了不知疲倦的对战。(对,有点像开挂)
有了这套测试系统,团队终于可以松口气,干点人类应该干的事情了。
他们把测试用的手机加到了 Top300 款,后来又加到了 Top1000款,测试脚本也越来越智能,可以找出来的问题越来越多。他们给这套测试系统起名叫做:WeTest 云测平台。
WeTest 云测平台
2015年,WeTest 接了一个大活儿——测试一个“5V5”的多人对战类游戏。和以前一个玩家扛枪就上的游戏不同,这个货需要10个人才能开局,对网络和帧同步技术都是巨大挑战。方亮和同学们不得不连夜修改代码,大幅升级 WeTest 才撑起测试任务。
就这样,果然在发布之前找到了很多虽然偶发但却影响体验的 Bug,解决之后这款游戏变得丝般顺滑,游戏本身的光泽质感不可遏制地浮现出来,方亮突然有种“这个游戏要火”的预感。
他的预感没错,这个游戏就是《王者荣耀》。
(三)“圣手药神”
《王者荣耀》大火,腾讯有惊无险地坐稳了移动游戏的第一把交椅。
这时,我们得暂时告别一下“铁面私教”方亮和他的 WeTest,来认识一下第二位故事讲述者,“圣手药神”洪楷。
为啥叫“药神”呢?因为洪楷团队的职责就是一句话:开出各种药方,让游戏在手机上跑得更顺畅。用专业术语来讲,这个职责叫:体验优化。
本来洪楷也是在PC游戏上搞事情,但是随着移动游戏时代的到来,他也被时代“召唤”了。
洪楷和同事们本来还是沿着过去的思路,在手游的后台搞优化。不过,就在日常查看游戏数据时,他们发现一个特别有趣的事实:《QQ飞车》所有赛道上的最好成绩全部是在苹果手机上创造的。。。
这不科学。同样连接腾讯的后台,却表现差异这么大。只有一种解释:安卓手机本身的优化做得不够。
洪楷说。
这里中哥强势插入一下,科普两句。
如果你能钻进手机里,你会发现很多芯片都采用了一个非常有趣的设计:大小核。
假设一个 CPU 有两个大核和两个小核,就像工程队有两个大个子和两个小个子。大个子有力气,可以手提肩扛重活累活,但缺点是特别能吃;小个子灵活,爬低上高吃的还少,但缺点是不能委以“重”任。
在手机里,操作系统就是工程队的“工头”,它会有一整套的调度方案,什么任务来了给大核,什么任务来了给小核。
但是,这种方案比较笼统,针对的是所有工作。那时候还没有手机厂商专门为游戏场景开辟特殊的调度方案。
科普完毕。
洪楷
“这不行啊,我们得对游戏玩家负责,要让不同类型手机玩游戏的体验尽可能一致。”洪楷这么想着,冲进了各大手机厂商的大门。OPPO、vivo、华为、小米、三星,你能想到的安卓大厂,都被他跑了个遍。
洪楷最先找到的手机厂商,对于他提出的“游戏体验不够好”的问题并不很在意,说:“游戏嘛,本来就是图个乐,《QQ飞车》跑一圈差个0.3秒,《王者荣耀》放大招卡一帧,无所谓吧。干嘛这么较真。”
洪楷见状,只能使出杀手锏,从兜里掏出 iPhone,两部手机摆在一起,把完整的帧率、渲染效果的测试数据展示给他们看:“你们的目标不是要超越苹果吗?现在苹果就在这!你们怎么不超越了呢?”
对方一愣,表示洪楷说得在理。
那段时间,洪楷就像春秋时期的纵横家,佩六国相印,在各个大厂之间游说——对A厂说,你要不做优化,B厂可准备做了哦;对B厂说,你们要是不做优化,C厂可要做了哦。
就这样,各大手机厂商纷纷行动起来。他们的做法是:在系统里为腾讯的游戏专门打了一条“通道”,让游戏可以直接和 CPU 沟通,遇到“开倍镜”、“连续开枪”“放大招”之类需要大量耗费 CPU 的时候,游戏就大喊一声:“走你!”,这时 CPU 就马上挂高档,保证游戏顺畅。
简单理解,这有点像开手动挡的汽车。在需要高速的时候,就挂五档,在需要高马力的时候,就挂一档。这个技术,后来慢慢变成腾讯引以为傲的“软硬件协同游戏优化技术”。
经此一役,安卓阵营的旗舰机的游戏体验迅速逼近苹果手机。
但是,问题并没完全解决。中低端安卓机上没办法实现“性能模式”,因为这些手机的处理器往往不那么强劲,需要打兴奋剂——“超频”——才能满足腾讯游戏某一时刻所需的尖峰性能。而这个动作会让手机掉电非常快,手机厂商从用户利益考虑,不敢这么操作。
然而,就在那年洪楷春节回老家的时候,发现 Ladys and 乡亲们大多在使用“千元机”。他注意到,亲戚朋友们用千元机玩游戏的时候,都会先把电源插在屁股上。这让洪楷恍然大悟:“广袤的中国大地上,人们为了千元机的游戏性能,是能接受续航缩短的!只要插上电源,不就解决问题了么。”
原图找不到了,中哥从网上找了一张意思一下。
于是洪楷拍了好多人们带着电源玩游戏的照片,放假回来马上又去找手机厂商:“你们看,应该为千元机也开发软硬件协同的优化模式!”
最终,各大厂商被说动了,用牺牲一定续航作为代价,对千元机上的游戏体验进行了大幅提升。
2018年,在腾讯移动游戏五周年庆典的大会上,腾讯破天荒地请到了五家手机大厂。这些平日里相互不服,死磕的竞争对手,在这一刻给足了腾讯面子,站在一个舞台上共同发布了《手游优化白皮书》。腾讯苦苦推行多年的优化方案,终于成了行业标准。
五大厂 LOGO 同时出现,蔚为壮观。
每每回忆起这一刻,洪楷都为这个“壮举”感到不可思议。
就在《白皮书》发布几个月后,看到安卓阵营游戏体验奋起直追,苹果终于坐不住了。他们主动找到腾讯的体验优化团队:“我们也给你开放一些接口,我们来合作搞搞游戏方面的优化呗~”
苹果这位女神,从爱答不理,终于成为红颜知己。
搞定“软硬件协同优化”,体验优化团队又一刻不停地把目光放在了新目标上。不过这里我们先卖个关子,来看看第三位故事的讲述人。
(四)“神行太保”
2017年,《绝地求生》(PUBG)突然大火。
腾讯以迅雷不及掩耳盗铃之势拿下了中国独家代理,随即开始了战术竞技类游戏的研发。
这类游戏的火爆自然不用多提,就连不玩游戏的人也能念叨两句“落地成盒”。中哥想说说,它对游戏技术其实有一个隐秘的大挑战。
这是个话痨游戏。
曹木勇笑着说。
曹木勇
没错,他就是故事的第三位讲述者,腾讯游戏语音对讲技术 GVoice 的负责人。我把他的团队称为腾讯游戏的“神行太保”。
战术竞技类游戏,比以往任何游戏的对抗都激烈,以至于玩家之间打配合,必须用语音这种人类最快捷的沟通方式——慢哪怕0.1秒,队友和你就都在盒里了。
腾讯实时语音的故事,可以追溯到2011年。那时候,人们玩游戏前都有个必备的动作——打开 YY。当时曹木勇加入腾讯,做的就是腾讯版的实时语音系统:QT。
有同学可能会问,不就是个语音传输功能么,听上去很简单啊。
但事实可能并不如此。2012年,曹木勇曾经组织过几次“盲测”实验——召集30位玩家到腾讯办公室,一组给他们使用 YY,另一组给他们使用 QT,结果,只有20%的玩家认为 QT 体验更好。
问题出在细节上。
游戏和语音都要占用 CPU 的计算力和网络的带宽,而语音一旦稍微抢占了游戏的资源,游戏就可能发生卡顿,这就像两部高速行进的赛车,稍不留神就撞一脸。。。
于是,曹木勇就和同学们一点点扣技术细节——搞出一整套最轻量级的语音编码,就像把电脑的资源分出了快车道和慢车道。游戏想超车,语音瞬间让路;他们还精心挑选了新的语音压缩技术,就像把语音这辆车做得又瘦又小,超车很方便,妈妈再也不用担心我撞车了。
半年后,他们又找了30个游戏玩家做盲测,这回有50%的玩家认为 QT 体验更好。说明 QT 已经和对手不分伯仲了。
2015年,《王者荣耀》发布。
一开始游戏设计团队觉得,语音交互这个功能需要,但并不是太重要。于是曹木勇作为辅助团队,为游戏开发“可有可无”的对话功能 GVoice。
《王者荣耀》上线,曹木勇预计会有50w人使用语音功能,为此申请了30台服务器。然而,仅仅两个礼拜过去,语音功能使用者已经到了400w。。。
眼看语音服务要跪,曹木勇现场申请服务器已经来不及了,于是他急中生智,到其它业务线的老大那里挨个敲门,进门就跪,借服务器。你可以参考杨白劳向黄世仁借米下锅时候的情景,恨不得拿喜儿抵债。好不容易在两个礼拜内凑出来200台服务器。
左上角这个图标就是语音的功能。
《王者荣耀》一火,腾讯接下来推出的几乎所有游戏都找到曹木勇,要求加入语音功能。到了年底 GVoice 已经支持了腾讯几十款游戏。相比之下,整个 GVoice 团队才有不到十个人。
而在2017年,战术竞技类游戏火爆发布以后,语音已经成为了很多游戏的核心功能。不仅是腾讯内部,连其他游戏公司也辗转找到腾讯买 GVoice。腾讯决定,把 GVoice 放在腾讯云的货架上,就像“超市”里的标准商品,谁想来买都可以。于是,GVoice 迅速进入了1000多款游戏。
曹木勇告诉我一个惊人的事实:
现在每天通过 GVoice 传送的语音是20亿分钟。这个数字超过中国联通,仅次于中国移动。
听到这我直接滑落成跪姿,游戏世界不愧是平行于现实的另一个宇宙啊。。。
这里中哥科普一个技术点:把实时语音技术从PC端挪到手机端,不仅仅是搬个家那么简单,而是要进行翻天覆地的重构。
曹木勇举了两个栗子:
1、这像一个“华容道”
告诉浅友们一个秘密,苹果对一个 App 里面核心代码段的要求是:不能超过40M。就像一辆长途车,只能坐40个人,再多半个人都上不了车。
现在问题来了,游戏里常用的引擎 Unity3D 加上基础技术逻辑就占用了 30M 的空间,再加上游戏核心玩法的代码段,一般都会到37M以上,留给中国队的空间不多了。。。。
当时为了给《王者荣耀》做语音模块,曹木勇带着一位毕业生同学一行代码一行代码地抠,非核心算法极力简化,只留下了代码中的战斗码。就像在华容道里为曹操辗转腾挪那一点点空间。
其实,当时有几个团队都在为手游做实时语音模块,结果,别的团队拿出来的模块是 10M,曹木勇拿出来的 GVoice 只有 700K,确保语音功能不影响游戏代码的红线。
2、这像一个“绑腿跑”
浅友们都玩过那种绑腿跑的游戏吧。你的左脚和朋友的右脚绑在一起,向前走。语音模块(GVoice)和游戏引擎(Unity3D)也是这个关系。如果二者同时调用手机上的某个资源,就有可能 Crash(崩溃),就像绑腿跑没有配合好,就会劈叉。
但 Unity3D 本身也并不完美,它的设计有一些小缺陷,如果 GVoice 不小心触发了这些小缺陷,还是会造成游戏崩溃。
凭着对 Unitty3D 多年的了解,曹木勇带着同学们设计了“异步交互”的功能——Unity3D 需要什么数据,就来 GVoice 拿,不问,GVoice 绝不主动说。就像老夫老妻一样,你说话我就听着,绝不当时还嘴。完美避免冲突。。。。
Unity3D引擎
栗子还有挺多,不一一列举了。
凡此种种技术细节,像极了老人的生活经验,也说不出什么道理,但就是管用。它们是漫长生活酿出的醇厚美酒,毛手毛脚的年轻人就是学不会。。这恐怕才是腾讯游戏十几年底层技术的魅力所在。
2016年,曹木勇受邀去韩国游戏公司演讲 GVoice 的技术细节。几百人在台下记笔记。晚上,公司领导和他喝酒时感慨:“这么多年了,都是韩国公司往中国卖技术,这是第一次中国公司往韩国卖技术,我敬佩腾讯。干杯!”
(五)机器人时代
2016年,阿法狗轮虐李世石和柯洁。
小小的棋盘,361个点位,却宣告了人工智能时代如钢铁洪流一般到来。
我们的三位故事讲述人:“私教”方亮、“药神”洪楷、“信使”曹木勇,他们原本就在时代的风口浪尖研究各种骚操作,人工智能这种技术迅速成熟,让他们手里突然又多了一种开挂一般的武器。
先说“私教”方亮吧。
当年,《和平精英》研发完毕,进入测试阶段。这个任务自然交给品质管理团队的 Wetest。
时间要求很紧,领导的眼睛像探照灯一样望着方亮:“多久能测完?”
方亮拍拍胸脯:“12个小时给你结果!”
然而,游戏一上测试线,团队立刻发现,WeTest 有点腰膝酸软,力不从心。。。。
过去的游戏测试,都是人类把自己的操作总结成一套“逻辑脚本”,然后交给机器去跑。但是《和平精英》是一个开放世界,里面人物可以打配合,可以“伏地魔”,可以看风景神马也不做,可能性太多太多,根本没有一种“脚本”可以模拟游戏主线,这就意味着很多游戏 Bug 就测不出来。。。
方亮回忆。
然而,自己约的测试任务,跪着也要测完。方亮一拍桌子:“咱们人肉测!”
如果人肉测个《王者荣耀》,需要5V5,十个人。但是,人肉测个《和平精英》可要了亲命,得找100个人才能开局,还得在500款手机上都跑遍全程。。。大家都很忙,从哪拉来100号人陪你拿着500个手机玩游戏呀。。。
不管了,方亮凭着自己这张脸,从各个团队紧急借人,看到人就拉进去大会议室里玩游戏。总算凑够了100个人。分了好几轮,好不容易把500台手机的兼容适配跑完了,抬头一看,时间已经过去了一天半,整整36个小时。
痛定思痛,方亮知道 WeTest 要面临巨大的升级,而解药只有一个:人工智能。
科普一下,人工智能测试的方法大概是酱:让人工智能搬个板凳坐在旁边观看大量人类玩游戏的过程,然后让它根据自己的理解,总结出在游戏里的一般行为,变成一个会打游戏的机器人,然后就把它放进战场,死生有命富贵在天。
这样一来,就可以复制成千上万个机器人,在游戏里放飞自我,从而不用麻烦人类,就能测试出游戏的 Bug。
这里还有一个小细节。因为战术竞技类游戏有一个设定,那就是“缩圈”——大家打着打着就会被集中到一片小区域。这么多人在这片小区域里来回跑,触发地图 Bug 的概率就会高很多。
但在哪里缩圈,是游戏自动生成的,很可能这个圈里的花花草草,WeTest 没有精准地测过。于是,WeTest 团队就让人工智能来自动学习:在游戏中,哪棵树下容易藏人,那个山坡利于伏击。然后派出机器人,专门在那些位置转悠,把最可能出问题的地方先踩一遍。这样绝大多数玩家在游戏时就不会遇到问题了。
对于“药神”洪楷来说,人工智能同样可堪大用。
你还记得不,前面我说过,腾讯游戏会和芯片进行沟通,遇到紧张的“战斗场景”就让负责帧率的CPU挂五档,让负责每一帧画质渲染的GPU挂一档;遇到缓慢的“行走场景”就让负责帧率的CPU降为一档,把GPU的画质渲染提升为五档。
但是,这毕竟只有几个档位可选,不够极致。
2017年以后,各大手机厂商纷纷推出带“AI 芯片”的手机,这下洪楷高兴坏了,AI芯片可以自动学习游戏和芯片的最佳配合情况,然后根据情况,实时智能地调节芯片的频率,把“五档变速”进化成“无级变速”。
举个例子,如果某个游戏场景需要 CPU 用1500Hz 的频率去跑,但是现在手机电量不够,整体温度又有偏高的趋势,那么人工智能思考一下,可能就会决定用1450Hz 去跑。
这个功能,在很多游戏里已经有了。每当你玩游戏的时候,在手机里其实有个人工智能助手在为你精细地调控游戏表现、手机耗电和CPU、GPU功率。你感受不到 ta 的存在,但 ta 就在那里。这就是游戏的性感之处。
对于“信使”曹木勇来说,人工智能也是得力助手。
2018年以来,实时语音系统 Gvoice 上线了好多有趣的功能,例如“语音转文字功能”(你说的话,队友可以转换成文字形式查看)、“文明语音功能”(聊天语音会被“脏词检测”)。
这两个功能背后,其实就是经典的“语音识别”技术。“语音识别哪家硬?出门左拐找微信。”这个技术就是 GVoice 和微信团队合作的。
一开始,曹木勇想得简单,把微信的语音转文字技术移植过来不就好了么?后来发现,不行。因为在游戏世界,大家说着另一套语言。。。
“猥琐发育,别浪!”、“打龙”、“打团”,这类说法在游戏里是经典句式,但是在日常生活里,大多数人不这样说话。所以遇到这种话,微信引擎的识别率就会降低,后来我们两个团队一起给人工智能“补课”,把游戏世界的常用语专门学个遍,识别率就大幅上升了。
曹木勇笑。
就在这些技术大牛为底层技术不断打怪升级的时候,腾讯游戏的一艘艘大船已经各就各位,准备远航,这就是:游戏出海。
(六)大航海时代
文化像是一坛美酒,如果它足够醇厚,香气一定会向四周飘逸。但酒再香,也不能掐着脖子给别人灌,要让别人自己被吸引过来。
中国游戏的出海,看起来就是这样一个“吸引”的过程。
经过20年的磨练,现在中国的游戏不仅精品很多,而且底层技术特别扎实,深得全球玩家喜爱。如果你能站在月亮上遥望,中国游戏正在进入东南亚、印度、中东、日韩、欧美,这条路线和“一带一路”完美重合。
中国游戏每进入一个国家,都要在当地或者临近区域布置相应的服务器和网络资源。所谓“兵马未动粮草先行”,这个负责粮草的大佬,就是我们今天故事的最后一位讲述人,“大司马”涂彦。
涂彦
涂彦和团队都不是一般的狠人。
遥想2012年《英雄联盟》爆发的时候,为了这一个游戏,腾讯准备了几万台服务器,这几万台服务器的统一升级和维护,都在涂彦的游戏运维团队手中。
管理几万台服务器,就像管理几万个熊孩子的幼儿园那么艰难。不用点儿骚操作是万万不行的。
当时,涂彦带着运维团队的兄弟们开发了一整套名为“蓝鲸”的自动化运维系统,像孙悟空吹汗毛一样,变出几万个小猴子,自动照料每个服务器的“生活起居”。
2013年,腾讯引进韩国RPG游戏《剑灵》的时候,对方的运维工程师就和涂彦讲:“我们韩国一个大区,用了5个运维工程师。你们中国分为五个大区,就需要25个运维工程师。”涂彦呵呵一笑:“不慌,我们有蓝鲸。”
最终,腾讯运营整个《剑灵》中国区,用到的工程师是:1个人。
即使是这么牛的技术,在游戏出海的最初阶段,还是被现实怼得满脸淤青。。。
涂彦要解决的首要问题就是:“为某个游戏准备多少服务器和网络资源才能获得最好的游戏体验。”但要把这件看似简单的事情做好,其实极其极其困难。
咱们中国有三大运营商,而且它们的发挥很稳定;但是东南亚一些国家,动不动就十多个运营商,它们提供的网络质量也参差不齐,一开始着实摸不着头脑。
涂彦吐槽。
资源准备多了就会浪费巨额成本;准备少了游戏就会被挤垮;万一玩家突然大爆发,所有资源还得瞬间跟上,这三样都是能直接导致游戏死亡的大事儿。
这就像结婚车队的司机一样,离前面车太远你,就跟丢了;离前面车太近,又会撞上。非常考验老司机的技巧。。。
你以为服务印度玩家,一定用印度本地的网络资源就会达到最好的效果吗?事实证明不是。。。有可能用新加坡甚至韩国的网络效果会更好。这种情况下,我们就需要一个“全球资源自动调度系统”。
涂彦说。
在2018年,基本实现了全球资源灵活调度,腾讯游戏的运维压力稍稍减轻,涂彦却发现了一些“怪事”。
那天,团队同学找到涂彦,指着屏幕上的数据图:“你看,中东这个国家,中午玩游戏的人数突然断崖式地下跌,等一会儿又恢复了,曲线形状像个火山口,这种形状在中国从来没出现过。我们的服务器是不是有故障啊?”
大概就是这样子,中哥画了个示意图。
团队研究了半天,愣是找不出问题所在。
结果,拉着游戏运营的同学开了半天会,才发现中午这个时间段,是那个国家做礼拜的时间。大家都去做礼拜了,就腾不出手玩游戏了。。。
还有一次,大半夜运维系统报错:数据显示,巴西的游戏在线用户突然断崖式下跌!
好多团队都被从警报从床上薅起来,一起解决问题。“这也不是过年过节,巴西人也不集中做礼拜,那只有一种解释,底层服务出了故障。”涂彦回忆。
同学们把各个环节的数据全都调出来,一切正常。
就在大伙儿绝望的时候,巴西在线用户又奇迹般地恢复了。一看时间,正好两个小时,这期间,有一场重要的欧洲杯足球赛。巴西人有多爱足球,腾讯这帮技术宅算是见识了。。。
经历了无数“虚惊一场”,团队对各国的文化了如指掌,甚至一些重点国家的节日、习俗都倒背如流。
印度人民大多是安卓手机;澳洲虽然人不多,但得伺候好他们,因为他们的口碑能影响整个西方世界。
如今说起来,涂彦都是一套一套的。
当然,伴随着游戏出海,其他大牛也没闲着:
为了支持海外多个国家的手机,方亮的 WeTest 团队又专门采购了在各个国家流行的手机,每进入一个国家前,都进行针对性地测试;
曹木勇的 GVoice 团队也把语音服务部署到了全球各地,经过死去活来地调优,如今全球连麦都不卡顿。
洪楷的性能优化团队更是逆天,最近在和非洲手机之王“传音手机”合作,让非洲兄弟们玩腾讯游戏也能丝般顺滑。
今天我为你介绍的只是腾讯游戏底层技术的几位大牛代表,还有更多的老湿傅在为日常抗击DDoS攻击、反游戏作弊、控制青少年的游戏时长等等工作而努力。
截止2019年11月,腾讯旗下的游戏进入了200多个国家和地区,拥有多个种族、肤色、语言和文化的玩家8亿人;《英雄联盟》成为了月活账户数最高的 PC 游戏,《PUBG Mobile》成为了月活最高的智能手机游戏;《使命召唤手游》在推出一个月的时间里,就被世界玩家疯狂下载了超过1亿次。
《使命召唤手游版》(CODM)
无论你是不是游戏玩家,都无法否认一个事实:游戏已经成为中国制造和中国文化冲向世界的一张新名片,我们不得不珍惜它,呵护它。
老玩家都知道,腾讯游戏的 Slogan 是“用心创造快乐”。就在最近,腾讯互娱掌门人任宇昕突然发表内部信,修改了这个祖传 Slogan,改成了:“Spark More 去发现,无限可能”。
兜兜转转十几年,腾讯互娱已经有一万多名同学,他们不能再是那个关起门来过“用心创造快乐”的孩子,而是要成为走出小屋,走出大楼,走出国境线,去“发现无限可能”的大人了。
临别时,方亮对我说,他早期是国产办公软件 WPS 的核心开发者,他当初怀揣“民族软件”的热血梦想,对“做游戏”是心怀忐忑的。
如今,他却成为了世界上规模最大的游戏平台的核心成员,他的想法发生了巨大的转变:
我少年时代最喜欢的游戏是《文明》。我能理解打打杀杀征服世界,但当时却怎么都想不通,为什么游戏里却设定宗教和文化可以征服世界。这些年亲历腾讯游戏的出海,我明白:武力的征服是最差的结局,文化的影响才是强者的选择。我们所做的事情,意义非凡。
有时下班累了,方亮也会和当年的高中同学组队打打游戏,这些不再年轻的老男孩散落在天南地北,就那么开着麦,有一搭无一搭地聊聊工作,聊聊孩子,聊聊不再回头的过往。一如当年,恍若往昔。
都说游戏世界像虚幻泡影,为何我却看到,人们在其中倾注了那么纯粹的感情。
再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜索微信:shizhongmini
天朝游戏红满地