全球首款FPS+MOBA手游《王者军团》与玩家见面已有近半年之久,天之游《王者军团》精致的人物设计、次世代的游戏画面、宏大的故事背景给所有关注前期测试的玩家们留下了深刻的印象。数十万玩家的下载和关注预示着FPS+MOBA电竞游戏将在手机平台上掀起巨浪。天之游作为首支进军该领域的游戏制作团队,肩负着无数玩家的厚望。这种压力更是一种责任,一种动力,支持着团队与时间赛跑,攻破每一个技术难关。
上期“扒一扒天之游《王者军团》你不知道的黑科技”发表以来,我们收到众多小伙伴们的点赞和鼓励,读者对超大规模用户的“百万级Server+服务端”以及提升游戏性能与安全的“体素化服务器”两项“黑科技”印象尤深,期待着我们的后续爆料。小编即刻兑现承诺,开启第二期《王者军团》“黑科技”专题,揭晓游戏幕后更多的技术。
本期我们重点来说一说天之游自主研发的可控UDT+通讯技术。作为移动网络游戏,《王者军团》玩家间紧张激烈的PVP对抗,离不开客户端与服务器、服务器与服务器之间大量的通讯与数据同步,所以底层通讯机制的设计对游戏体验影响至关重要。
众所周知,常见的底层通讯协议是TCP/IP和UDP,其特性如下表所示:
简单来说,TCP协议更侧重数据传输的可靠性,一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等;而UDP协议更倾向于数据传输速度,常见的语音与视频聊天基本上都是UDP协议。
可是,如果简单使用TCP或UDP协议,往往适应不了游戏实际需求。比如,TCP协议有严格的丢包重发、阻塞控制策略,对于理想的网络来说似乎一切都十分完美;而在真实wifi或3G/4G链接下,一旦信号不稳定或链接短暂中断,TCP协议相应进行重发包、降低通信速率等一系列动作。其结果便是包拥堵,拖慢后续包到达,直至带宽耗尽,整体延时动辄数千毫秒,玩家的体验就是画面卡顿、回馈延时、操作不响应等。在高峰时段当用户数超过5000后,丢包和拥堵的情况愈加严重,各种卡顿、掉线症状尤为明显。对于动作、MOBA、FPS等类型游戏来说,上述任何一种情况都是玩家所不可忍受的。
那如果使用UDP是否可行呢?UDP不考虑通讯两端链接的稳定性,是面向无连接的,虽然对系统资源占用低,但当数据包丢失或出错、接收端延时过长或掉线、包序出错等情况时,没有相应解决机制。带来的后果便是大量传输数据错误、丢失,服务器很可能丢失或错误记录玩家的位置、操作、得分、状态、充值等信息,这也是无法容忍的。
天之游项目团队在《王者军团》项目中,为兼顾优秀的操控感与竞技的精准性,必须找到一种延时低、带宽需求少、有效避免卡顿、保证关键数据可靠且安全性高的通讯机制,这就需要从底层对协议进行开发与改造,定制自己的通讯协议。经过多年的探索与积累,可控UDT+数据同步技术问世。该技术为网络游戏应用深度定制开发,可以说具备TCP与UDP协议各方的优点,取长补短,又同时解决了延迟、同步、纠错、安全、可控、可扩展等一系列问题,适用于多种类型网络游戏。
天之游可控UDT+数据同步技术根据游戏数据类型分组并判断处理优先级区别处理。对游戏中关键数据的可靠性进行了优化,实现了TCP般的传输完整性;同时将低优先级数据压缩、排队,实现了类UDP的大数据高吞吐传输,降低了对带宽和资源的占用。另一方面,为保证游戏客户端与服务器数据同步,引入时间戳手段,结合域同步技术,完美解决了主控者卡顿问题。这套技术还包括包长控制、包校验级别的加密与纠错机制,自研客户端、服务器端双端通讯协议也为可能的黑客抓包、破译、改包等非法外挂开发增加了不少难度。
可控UDT+数据通讯技术在天之游旗下的游戏得到广泛应用,《刀塔西游》便是成功代表之一。天之游开发《刀塔西游》伊始,受限于当时客户端市场情况(大量网络使用2G/3G接入,54M以上WIFI也并不普及),加之业内没有成功案例,游戏界普遍认为对手感、操控性、流畅度要求高的MOBA推塔游戏是不可能出现在手机平台上。天之游团队顶住压力,凭借自研的可控UDT+通讯技术,用全球首款纯MOBA手游《刀塔西游》打破了这个观念。即使在《刀塔西游》初期推介会与技术交流会上,依然会遇到各种怀疑的声音,不少专家经过现场试玩过后都对天之游伸出大拇指赞赏。《刀塔西游》上市半年以后《王者荣耀》等同类型作品上市,大家才普遍发现移动平台MOBA的潜能。
天之游新项目FPS+MOBA手游《王者军团》对通信有着更严格的要求:FPS游戏角色视角更灵敏、人物移动速度更快、玩家对延时感知度更高,且少许卡顿或延时就会影响服务器弹道判断,甚至会改变竞技结果。此外,新服务器构架启用,意味着更大规模的用户接入量(参看上一篇“扒一扒天之游《王者军团》中你不知道的黑科技”中天之游百万级服务器Server+),客户端与服务器、服务器间通讯量成几何级数增加。
面对上述挑战,在第一代技术积淀下,服务器组经过近半年的技术攻关,为《王者军团》定制的新版本的可控UDT+诞生了。在此基础上,天之游《王者军团》典型延时为30-90ms,并适应wifi、3G、4G等非稳定网络链接,通讯性能超过业界其他手游平均水平一倍之多,智能的掉线重连策略也在加紧调试中。
不得不提开发UDT+中的一个小故事,天之游《王者军团》服务器开发组长是一位业内德高望重、有着多年开发及培训经验的程序专家,在服务器通讯模块升级调试时,新一版本中某组件延时从原版本的18ms延长到三十多毫秒。同事们不以为然,“多个二十几毫秒在服务器中算不了什么!”“功能正常就行,先抓紧处理开发任务!”而这位服务器组长却不依不挠,三天三夜在空余时间都埋头于一行行代码和参考文献中,硬是挖出了根源,修正了BUG,把延时降回至18ms。同事们纷纷投来敬佩的目光。“虽然只是一个组件,如果不及时修正,系统延时不断累加,对服务器其他模块的压力就会增大,且这个BUG后续寻找难度会更大!现在对服务器通讯性能提升一点点,游戏就能更稳定、更流畅,每一处影响性能的修正都是必要的!”
《王者军团》融入了天之游研发团队十几年来技术的精华,采访中团队细数每个“黑科技”,小编都听得入迷了。受限于字数,本期的《王者军团》黑科技就先抖到这里。下期内容小编也卖个关,欲知《王者军团》更多黑科技,请听下回分解!只有亲手玩过《王者军团》的小伙伴,才能体会到技术的精妙,赶快关注“王者军团官微”,可不要错过下次封测机会了!
关于《王者军团》
《王者军团》是一款云南天之游科技股份有限公司历时一年多研发打造的FPS+MOBA手游巨作,玩家在游戏中以第一视角化身为王者军团的英雄们和其他玩家同屏竞技,一起维护世界的和平!游戏基于先锋、辅助、堡垒、哨兵四类角色各异化的英雄技能设定,将个人英雄特色与团队配合的作用充分融合,并基于手机平台操作特点优化英雄射击与技能操控,为玩家带来不同的MOBA类射击手游体验。