
【游戏里的网络同步分析】马里奥制造2 多人模式
先说几个游戏设计的术语。是玩家控制的网络游戏中的角色形象,也是代表在游戏空间中的玩家,被唯一所拥有,被所有用户可观测到。在马里奥制造2中,PlayerAgent一共有四种:马里奥 路易吉 小粉 小蓝是Pawn和控制Pawn的人类玩家之间的界面。玩家控制器基本上代表人类玩家的意愿。Pawn在世界场景中表示玩家、好友和敌人,是世界场景中代理的Actor,容易接受输入,不被认定为具有人的特性。
前置知识
先说几个游戏设计的术语。PlayerAgent
是玩家控制的网络游戏中的角色形象,也是代表在游戏空间中的玩家,被唯一PlayerController
所拥有,被所有用户可观测到。
在马里奥制造2中,PlayerAgent一共有四种:马里奥 路易吉 小粉 小蓝
PlayerController
是Pawn
和控制Pawn
的人类玩家之间的界面。玩家控制器基本上代表人类玩家的意愿。
Pawn
在世界场景中表示玩家、好友和敌人,是世界场景中代理的Actor
,容易接受输入,不被认定为具有人的特性。
同步机制
关键帧同步的同步机制
在现代实时对战游戏中通常使用以下做法:
当一个PlayController
发出操作指令,会先调动自己本地的PlayerAgent
动起来,然后通过网络发送给游戏内的其他玩家,让他们屏幕上的这个PlayerAgent
做相同的动作。
然而在马里奥制造2中做这样的实现是不可取的。
实时对战网络游戏知识体系可以去GAMES104补充
因为这种传统方法会有攻击判定的不一致性,比如马里奥制造2中的抓取功能,可以把目标举到自己的头顶
- 本机(马里奥)在向前移动一段距离后,认为可以抓取目标角色(路易吉),把目标角色抓起了
- 目标玩家还没有接收到马里奥向前移动的信息,把自己的路易吉也向前移动了
- 服务器每隔一段帧时间同步信息后,假设认定马里奥抓取有效,目标玩家的屏幕里路易吉会在移动一段距离后被马里奥隔空抓取到马里奥头顶。
然而在马里奥制造2中没有出现过这种情况,那么可以认为是强依赖于网络通信的实时对战设计模式。
集中式的同步机制
每隔一小段时间,所有玩家把控制器内容都发到服务器上,
由服务器设置时间轴,驱动所有主机一起播放相同的画面。
现象与分析
一个人卡,导致所有人画面定格
主播超级小桀
在2023.5.10提到,当游戏卡的时候只有最卡的那个人会玩起来比较流畅。
在一个处理周期内,如果有玩家没有来得及发送数据到服务器,那么服务器暂停向所有玩家的动画数据发送。
当服务器接收到最后一个玩家发送的数据之后,再把所有玩家的动画数据发送。
所以只有最后一个玩家,在网络刚刚恢复,立即收到上一个数据包之后发送自己当前的数据出去,然后又收到了下一个数据包,会显得在游戏服务恢复的时候比较流畅。
更多推荐
所有评论(0)