当前位置:网站首页>【华为联机对战服务】客户端退出重连或中途进入游戏,新玩家如何补帧?
【华为联机对战服务】客户端退出重连或中途进入游戏,新玩家如何补帧?
2022-07-26 14:38:00 【华为开发者论坛】
问题背景
使用帧同步实现多人联机游戏,补帧是一个绕不开的话题。常规的弱网补帧,SDK已经可以实现自动补帧,游戏可以不用关心。对于客户端长时间关闭后重新进入房间或者游戏中途有玩家加入的场景,新加入玩家联机对战SDK默认是从游戏第一帧数据补帧,而联机对战服务器不会缓存所有的补帧数据通常是缓存5分钟历史帧数据,这时候单纯依赖SDK自动补帧就会补帧失败了。如何解决这个问题呢,这里提供一种思路。
解决方案
游戏中指定房主或者房间内某个玩家,定时保存当前游戏需要同步的数据状态(比如每分钟刷新一次,刷新周期至少要小于五分钟),并记录当前帧id,然后将该数据通过一定手段同步给房间内其他玩家(比如通过修改房间属性,将其保存在房间属性中),当新玩家加入房间后可以从room实例中获取到房间属性,然后将其中记录的上一次房间状态数据进行解析,获取状态数据和帧id数据。
这时候只要以房间状态数据为基础,辅之以从帧id+1往后开始补帧就可以实现房间数据的同步了。
如何指定从某个id开始补帧呢?两种场景:
已启用SDK自动补帧场景,调用SDK提供的重置补帧起始id接口。

已关闭SDK自动补帧场景,调用SDK提供的手动补帧接口。

搞定!
官方资料:华为联机对战服务
边栏推荐
猜你喜欢

Error reported by Nacos enabled client

键盘快捷键操作电脑(自己遇到不会的)

【使用工具条绘图】

自编码器 AE(AutoEncoder)程序

Transc knowledge representation model

Mysql-03 database operation

9、学习MySQL DELETE 语句

4 kinds of round head arrangement styles overlay styles

Use of LINGO software

Okaleido tiger is about to log in to binance NFT in the second round, which has aroused heated discussion in the community
随机推荐
BSN IPFS(星际文件系统)专网简介、功能、架构及特性、接入说明
SiamRPN:建议区域网络与孪生网络
SP export map to Maya
C# NanUI 相关功能整合
当AI邂逅生命健康,华为云为他们搭建三座桥
Maya imports the model into unity
1. Sum of two numbers
Canvas mesh wave animation JS special effect
Usage of nn.conv2d and nn.convtranspose2d functions in pytorch
Image-Level 弱监督图像语义分割汇总简析
堆叠降噪自动编码器 Stacked Denoising Auto Encoder(SDAE)
Network pictures are transferred locally, causing the kernel to exit
OpenCV中图像算术操作与逻辑操作
The development of smart home industry pays close attention to edge computing and applet container technology
图神经网络Core数据集介绍
【1.2.投资的收益和风险】
智能家居行业发展,密切关注边缘计算和小程序容器技术
网络图片转本地导致内核退出
Minecraft 1.16.5 module development (52) modify the original biological trophy (lot table)
TransC知识表示模型