全球首款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后续寻找难度会更大!现在对服务器通讯性能提升一点点,游戏就能更稳定、更流畅,每一处影响性能的修正都是必要的!”
《王者军团》融入了天之游研发团队十几年来技术的精华,采访中团队细数每个“黑科技”,小编都听得入迷了。受限于字数,本期的《王者军团》黑科技就先抖到这里。下期内容小编也卖个关,欲知《王者军团》更多黑科技,请听下回分解!只有亲手玩过《王者军团》的小伙伴,才能体会到技术的精妙,赶快关注“王者军团官微”,可不要错过下次封测机会了!
浏览量:02017-06-21
浏览量:02017-04-05
浏览量:12017-03-30
浏览量:02017-03-29
浏览量:02017-03-22
浏览量:02017-03-21
安卓版|498870517
安卓版|498870517
安卓版|498870517
安卓版|498870517
安卓版|498870517
安卓版|498870517