当前位置:K88软件开发文章中心编程资讯编程资讯09 → 文章内容

《穿越火线》主程序回顾:CF研发遇到的五个问题,及解决方案

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-2-13 18:54:55

整理 | 游戏陀螺5月11日晚,Unite Beijing 2018 Keynote主题演讲于国家会议中心圆满落幕。今年的Keynote主题演讲汇聚了12位重量级嘉宾,演讲主题覆盖了引擎新的渲染功能、机器学习、轻量级版本、国区业务等方面,为参会者呈现出了一场属于Unity 2018的技术盛宴。在会议上,《穿越火线》主程序分享了在《穿越火线》游戏里所遇到的问题,及解决方案。2015年是《CFM》的研发期,当时是Unity4.6的版本,彼时移动设备手机发展还是刚刚迅猛发展起来,所以《CFM》面对五个核心问题,一个是游戏架构,一个是反外挂,再加说弱网络同步,还有游戏手感,最后一个是画面和性能。这是2015年刚开始在研发期所遇到的五个核心问题。——游戏架构。《CFM》整体架构的底层都是Unity,Unity里封装了物理引擎等一系列方案。首先服务器跑的完整物理器,服务器编译是开源的。在数据层写了相对应的导出工具,导出碰撞模型和关卡数据提供给服务端使用,并且保证一致。在逻辑层客户端是用Sesharp编写的,服务器为了高性能,使用C++,保证关键数据是一致的。客户端和服务器都会做同样的移动计算。服务器会在同样的位置进行运动伤害计算,并且通知客户端要验证结果表现。同时再在上层的逻辑同步上面在封装了移动同步的封装,基于这个架构基本能囊括业界的所有方案。——反外挂与弱网络。CS的架构,单独搭建实现BS服务器。这个时候服务器和客户端会运行,执行一致的移动和逻辑计算,然后按照一定的帧率把数据同步到客户端,这样可以做高强度的反外挂,并且可以在弱网络下做更多决策,从而达到我们更加良好的同步,然后用户体验也会比较好。所以会看到我们有三大优势:一个是高强度反外挂,在弱网络下做补偿,做良好的同步,再下来会做各种各样客户端和服务端延时补偿,整个客户体验很好的。

《穿越火线》主程序回顾:CF研发遇到的五个问题,及解决方案