状态同步是做网络游戏必然要掌握的一种服务端/客户端同步技术。什么是状态同步,具体到游戏中是如何实现的,带着这些问题本文将会从以下3个方面給大家详细的剖析状态同步。

对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。
什么样的游戏选择用状态同步
只要是网络游戏,涉及到服务器与客户端同步的游戏,都可以使用状态同步,举几个状态同步的例子,如《魔兽世界》,腾讯《吃鸡》,《自走棋》等大部分的多人在线的网络游戏都是用状态同步来做的,换句话说网络游戏中除了少数人对战(5v5, 10v10)的Moba类,FPS类等会用帧同步以外,其它的都是状态同步。像大型多人同时在线的游戏,只能用状态同步来做。目前主流的网络同步方式是状态同步与帧同步,状态同步可以做任意类型的游戏,帧同步只能做少数几个人在一局同时对战的短时间的网络游戏。一个游戏是否考虑使用状态同步的理由就在于你的游戏

帧同步与状态同步相比,帧同步只同步用户操作,由客户端迭代计算所有的游戏逻辑,更像是做单机游戏,只是有些玩家的输入是来自服务器而已。帧同步在操作手感,玩家的响应时间上,会比状态同步做的更出色。但是也有它的问题,比如防作弊,断线重连需要从头运算一帧帧快速迭代。这就限制了帧同步能做的游戏类型非常有限,不能做大量人同时在线或长时间在线的游戏。比如MMORPG,单服5000人同时在线,这种你做帧同步,客户端要迭代5000个玩家物体的每帧的计算,同时长期在线,比如MMORPG游戏服务已经跑了一个月了,新进来

本文详细剖析了网络游戏中的状态同步技术,介绍了适用状态同步的游戏类型,如大部分多人在线网游;阐述了服务器上跑游戏逻辑的方法,包括创建玩家数据对象和地图数据处理;还说明了服务端与客户端同步的方式,即重要状态变化时服务端发送信息给客户端同步。
最低0.47元/天 解锁文章
654

被折叠的 条评论
为什么被折叠?



