Git Product home page Git Product logo

lockstep-tutorial's Introduction

Lockstep Tutorial

前言

本教程的目标是普及帧同步技术,含基本帧同步,以及预测回滚式帧同步,不含ECS

配套的Blog 配套的视频教程

教程大纲

阶段零: 帧同步概要

阶段一: 基础帧同步(视频重置中...)

  1. 大纲最
  2. 环境搭建
  3. 帧同步开发注意事项
  4. 服务器,回放,客户端模式,基础框架,移动
  5. 不同步的检测与定位
  6. 帧同步逻辑编写
  7. 碰撞检测&技能系统

阶段二:预测&回滚式 (视频重置中...)

  1. 帧同步预测回滚框架演示
  2. 预测回滚式框架概要
  3. 多平台,多实例 框架设计
  4. 多平台,多实例 框架实现
  5. "回滚" 基本生命期&数据的备份与还原
  6. "预测" 实现&守望先锋网络方案比对
  7. "预测" 自动伸缩的预测缓冲区
  8. 预测回滚中的不同步的检测
  9. 预测回滚帧同步中网络相关随机bug的重现与定位技巧

References:

赞助名单

  • 天天
  • 大佬嚯阔落
  • 轨迹一生
  • 啊好好搞
  • 流月木槿

非常感谢你们的支持!

lockstep-tutorial's People

Contributors

jiepengtan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lockstep-tutorial's Issues

Server工程打开后报错

请问这个是还需要添加什么配置吗?工程之间的引用也是丢失了的
The current .NET SDK does not support targeting .NET Core 2.2. Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.2.

unity 运行报错

unity 版本2020.3.32 运行时报错
Assets\Scripts\Logic\EntityComponent\Component\Animator\AnimatorConfig.cs(5,30): error CS0234: The type or namespace name 'NetworkSystem' does not exist in the namespace 'UnityEngine.Networking' (are you missing an assembly reference?)
请问如何解决?
截图1

提示这个问题是啥原因

Recursive Serialization is not supported. You can't dereference a PPtr while loading. (Constructors of C# classes may not load objects either. See stacktrace.)
UnityEngine.Resources:Load(String)
Lockstep.Game.GameResourceService:_LoadPrefab(Int32) (at Assets/Scripts/Logic/Service/Services/GameResourceService.cs:24)
Lockstep.Game.GameResourceService:LoadPrefab(Int32) (at Assets/Scripts/Logic/Service/Services/GameResourceService.cs:14)
Lockstep.Game.PhysicSystem:RegisterEntity(Int32, Entity) (at Assets/Scripts/Logic/System/PhysicSystem.cs:136)
Lockstep.Game.GameStateService:CreateEntity(Int32, LVector3) (at Assets/Scripts/Logic/Service/Services/GameStateService.cs:95)
Lockstep.Game.World:StartGame(Msg_G2C_GameStartInfo, Int32) (at Assets/Scripts/Logic/Framework/Simulator/World.cs:79)
Lockstep.Game.SimulatorService:StartSimulate() (at Assets/Scripts/Logic/Framework/SimulatorService.cs:133)
Lockstep.Game.SimulatorService:OnEvent_LevelLoadDone(Object) (at Assets/Scripts/Logic/Framework/SimulatorService.cs:534)
Lockstep.EventHelper:Trigger(EEvent, Object) (at Assets/Scripts/Logic/Framework/Event/EventHelper.cs:78)
Lockstep.Game.Launcher:_DoStart() (at Assets/Scripts/Logic/Framework/Launcher.cs:128)
Lockstep.Game.Launcher:DoStart() (at Assets/Scripts/Logic/Framework/Launcher.cs:94)
MainScript:Start() (at Assets/Scripts/View/LogicView/Framework/MainScript.cs:45)

输入预发送(PreSendInputCount)不就是输入延时了吗?

当前的输入,发往服务器并本地保存时,帧号是故意延后了 PreSendInputCount, 所以本地预测执行也会延后,服务收到后也会延后发送,这样不是人为的增加了输入延时了吗?仅仅是为了避免被服务器判为过期包而丢弃?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.