游戏后台热点方向汇总

ronald11个月前后台技术2500

一.不停服更新

        游戏属于偏内容向的互联网应用,为提供玩家丰富的游戏体验,游戏开发团队会每隔一段时间会进行版本更新,这种版本更新分为周单位的小版本更新和月单位的大版本更新。早些年的时候,遇到这种大版本更新一般就是停机,后台完成了程序更新和数据库的更新之后,客户端下载更新包重新登入游戏。这种更新方式存在这样一些不足之处:

    1.对产品营收不友好,即版本更新期间玩家无法登录游戏则整个游戏付费就停止了;这也是为什么游戏版本更新通常选择在半夜或者清晨这些玩家活跃度低的时间段进行,因为这些时间在线比较低,停机对收入影响小。

    2.对游戏运营不友好,因为版本更新后台服务处于停机状态,意味着重要的运营活动都得避开这个时间段,另外大版本更新是线上操作,总免不了会遇到一些版本更新的问题需要处理,这又会影响开服时间,反过来又可能对现网时间段奖励发放和活动有影响(比如连续签到、指定时间段夺宝什么的)。

    3.不利于游戏体验,虽然一般停机更新会在游戏内公告,但是免不了一些玩家在这个时间段有一些重要的操作,停机更新导致玩家相关操作中断,多少会让玩家有不好的体验。

    4.强迫玩家进行版本更新,特别是手游化之后冲突更加明显;即版本更新之后,通常玩家必须得进行更新之后才能继续进行游戏,但此时玩家可能网络环境不好,或者没有在WIFI环境下,只想先开局玩会游戏,并不方便进行游戏更新,这种强制更新的机制容易打击玩家的游戏热情。

    基于上述针对的问题,网络游戏厂商的研发团队都在积极研发不停服的更新方案,做到在玩家完全感知的情况下,实现游戏版本更新。这项技术目前在一些大厂的头部项目已经投入使用。


二.游戏引擎技术

       近些年游戏行业发展迅猛,游戏体验开始精细化和深度化,特别是以吃鸡为代表的射击类游戏的兴起,对于后台的场景管理和状态管理能力的要求大大增强。在FPS类、赛车类、动作类等游戏中,原来的后台技术很难做到引擎级的碰撞检测、寻路等,为此越来越多的游戏开始在后台跑游戏引擎;这就涉及到需要基于游戏业务本身的特点对游戏引擎做一些深度的优化,包括优化性能、降低时延等。后台团队越来越多的参与到引擎的优化和功能的开发,并有成熟的产品推出到市面上。


三.游戏后台上云

    同其他互联网业务一样,游戏业务也在尝试进行上云,游戏上云的一个主流的技术路径是基于docker进行镜像发布和K8S进行容器编排;通过上云我们期望达到:

    1.测试环境和生产环境的一致性迁移;    

    2.自动的扩缩容;

    3.自动的故障切换和故障节点隔离;

    4.细粒度的流量治理能力;

    但是相比于其他互联网业务,游戏业务由于历史技术栈、业务特性(重状态、强交互、模块耦合重等)以及行业习惯(早期粗放的发展模式重内容轻技术且一般产品体量不大,传统架构足以应付)等原因,游戏上云的进程相对较慢。近些年,随着云基础设施建设的日渐完善、市场对于产品的运维标准的提高为游戏后台上云提供了技术基础,同时玩家口味从重大世界长状态的MMO型游戏转向到单局短状态的开局类游戏,也为游戏业务上云提供了契机。越来越多的游戏后台团队进行上云的尝试。不过相对前两者,游戏上云还处于相对较早期阶段。


四.云游戏

       所谓云游戏是指游戏运行在服务器端,由服务器完成游戏场景的渲染,并对将游戏画面以视频流的形式压缩传输给客户端,客户端播放视频流即可。这样带来的好处是,客户端不需要安装游戏客户端(或者安装一个很简单的客户端),游戏对于玩家机器性能的适配能力增强,以及版本更新客户端极少参与。云游戏目前还属于一个技术的探索的阶段,包括网易、腾讯各大游戏厂商都建立了自己的云游戏平台,但是由于成本、技术等问题桎梏,现在市面上还没有一个被广泛接受的云游戏产品。但是可以想见一旦云游戏商业化成熟,对于现在游戏后台技术将会有一个很大的改变


五.流水线

    所谓流水线不是某一项技术,而是一种工作方式:以一种工业化流水线的方式进行游戏内容开发。在后台角度,主要是代码提交、代码审核、版本构建、测试环境部署等一站式工作模式,将整个开发部署流程标准化、流程化。这个已经在各大厂商广泛推行并使用了。


六.机器学习

    游戏业务用机器学习应用场景主要包括:反外挂、敏感词识别、游戏道具推荐、好友推荐等;严格来说,这些系统应该属于公司中台业务,一般的游戏业务团队很难会有人力去进行这些,但随着游戏产品深度运营能力又提升又离不开机器相关技术,所以在此提一下。



发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。