帧同步(游戏开发)
六:帧同步联机战斗(预测,快照,回滚)
终于要写帧同步这块了,这块很难讲清楚,细枝末节有很多优化点,也有一些不同的优化方向,根据不同项目类型,对操作手感的要求,对联机玩家的个数等,会有不同的难点和痛点。不同的优化方向,优化手法的差异,可能导致一些争论。并且,帧同步,本身也有很多变种,以应对不同的需求。所以,我一切都是基于我们的项目类型(ACT)来做的方案和优化,并不一定适合其它也需要帧同步的游戏,故在此提前说一下,以免引起一些不必要的误…
关于 “帧同步”说法的历史由来
关于游戏同步的话题说的太多了,我是不想再谈了,但是碰到一些含糊和容易引起混淆的地方,必须澄清一下,云风在 2018 年在《 lockstep 网络游戏同步方案 》中有一段:首先,我认为把 lockstep 翻译成帧同步,还有与之对应的所谓“状态同步” (我在多次面试中听过这个名词),都是对同步算法的错误理解造成的。把自己所理解的算法牵强附会到已有的在欧美游戏先行者中经过实践的方案上。最近网易雷火工作室的一篇文章《 细谈网络同…
网络游戏同步技术概述
主要内容 本文会就网络游戏同步技术进行概述,包括如下内容: 著名游戏网络同步方案汇总网络传输协议(Network Transport Protocol)网络同步模型(Network Model)网络同步模型简史网络拓扑结构(Network Topology)网络环境质量著名游戏网络同步方案汇总 下表为本人汇总的各著名游戏的网络同步方案,已尽力添加引用来源。 通过该表,读者可尝试思考:为什么他们会采取这样的方案?找找看有否什么规律?相信看完下文,应该可以…
❓ 帧同步和状态同步可以并用? ❓ 200ms 毫秒延迟也能实现单机游戏般的丝滑流畅? ❓ 有延迟的情况下怎么实现技能判定? 先看 Demo: https://tsrpc.cn/fight/index.html 可邀请好友或浏览器多开体验多人对战效果 [图片] 写在前面多人实时对战一直是游戏开发领域的一块硬骨头。听起来不简单,做好了更难。 但时代在进步,技术在发展。就像 Cocos Creator 让游戏开发变得更简单了一样, 基于最新的技术栈和理解,多人实时对战的门槛也一直在降低…
Unity帧同步解决方案(一)
帧同步算得上是比较古老的技术了,甚至我一度认为这个技术可以完全被替代,因为技术本身存在太多的限制性,现如今特别是手游的网络环境流量并不是什么问题,反而网络的稳定性却是个大问题。不过,由于本身的技术架构特性,也存在一些优点。一般认为,做多人对战类(FPS除外,其实我觉得游戏单位多更准确)的游戏用帧同步,虽然我觉得状态同步也应该没问题,只是由于暴雪爸爸当时做war3和星际就是采用的严格帧同步,事实上据说dot…
帧同步:浮点精度测试
最早接触帧同步的概念是在2005年开发PS游戏高智能方程式赛车3的时候,当时负责赛车游戏的逻辑,物理,AI和录像回放等功能,录像回放就是使用点帧同步实现的。一场比赛只要保存玩家在不同时刻的操作即可,回放的时候就再跑一遍游戏在相同的时间执行相同的操作,得到相同的结果。对于主机游戏来说帧同步实现要简单很多,因为设备唯一,不存在浮点精度的问题,甚至都不需要逻辑层和表现层分离,只要简单的限帧即可。 [图片] 2015年开发一款…
帧同步和状态同步该怎么选(上)
这是一篇拖延了2年多的文章…2017年10月份开始写的,直到这次过年才写完。。。 前言随着王者荣耀的崛起,使用帧同步(Lockstep)的游戏也越来越多,关于帧同步和状态同步的讨论争论也有不少,那么到底该选哪种同步机制呢?两种机制都使用过,各有优缺点也都踩过不少坑,这里对帧同步和状态同步进行一下总结和讨论。 首先需要说明, 这里的帧同步其实是指 LockStep,是指服务器按帧转发客户端的操作,客户端进行确定性运算和一致…
帧同步(LockStep)该如何反外挂
在中国的游戏环境下,反挂已经成为了游戏开发的重中之重,甚至能决定一款游戏的生死,吃鸡就是一个典型的案例。 目前参与了了一款动作射击的MOBA类游戏的开发,同步方案上选择了帧同步技术(LockStep而非snapshots以下同)。那么就有很多人担心起来,客户端会跑全部逻辑帧同步该如何反外挂,和状态同步有什么区别呢? 首先我们来分析一下手游的风险和外挂的分类,这里推荐腾讯游戏安全中心的文章,有着非常详细深入的介绍。 手游…
网络游戏研发,该选帧同步还是状态同步?
近年来,使用帧同步(Lockstep)的游戏越来越多,关于帧同步和状态同步的讨论争论也有不少,那么到底该选哪种同步机制呢?两种机制都使用过,各有优缺点也都踩过不少坑,这里对帧同步和状态同步进行一下总结和讨论。 首先需要说明,这里的帧同步其实是指LockStep,是指服务器按帧转发客户端的操作,客户端进行确定性运算和一致性模拟(同步操作两边客户端通过完全一致的操作计算出完全一致的状态)。每帧同步状态这里也认为是状…