当前课程知识点:游戏程序设计 >  第十章 《网络同步技术》 >  10.3 传输数据分析 >  10.3 传输数据分析

返回《游戏程序设计》慕课在线视频课程列表

10.3 传输数据分析在线视频

下一节:10.4 常用同步方案 1

返回《游戏程序设计》慕课在线视频列表

10.3 传输数据分析课程教案、知识点、字幕

因为同步是在网络上传输数据

那么同步什么

就是我们灵魂三问里面其中的一个问题

是一个非常关键的一个点

为了给大家介绍更好介绍

我们怎么在游戏里面

选择什么数据进行同步呢

我们首先会引入一个游戏的程序

分层结构

总体来说

游戏的程序处理过程

可以分为几个部分

最前面是一个输出模块

它包含了各种手柄

摇杆之类的外设

用来接收用户的输入

然后会把这些输入传输给一个

我们所谓的核心逻辑模块

它一般来说是维护整个游戏的核心规则

逻辑事件以及各种状态的一个维护

然后

当这个核心逻辑模块

最终维护好了游戏状态之后

我们有个输出控制模块

会结合游戏状态

去把这种状态

组织成用户可以理解

可以看到可以听到了一些视图渲染

以及音效的数据组织

最终在把这些视频或音频数据

输出到我们的输出模块

也是显示器和音响以及震动马达

各种外设上

我们举象棋这个例子

来去介绍各个模块的实际作用

输入模块

对应的是我们触摸屏

它直接是把屏幕的一些输入映射

传给游戏的逻辑引擎

这些输入包括什么呢

它可以是直接的

一些屏幕交互

比如我们一般有ios 安卓SDK

的一些用户交互的信号

一些事件可能传输给这块

它也可以把一些若干个

最原始的一些交互状态

组成一种游戏的事件来告诉逻辑引擎

举个例子

当我们玩家

想把这个兵往上挪一步的时候

他的操作是什么呢

这是个触摸屏

那他操作是

首先他会点击这个兵

并且不松开

然后往上拖动一步

然后在放开,这整个三个流程

他在输入层

可以把它组合映射成一个事件

就是把这个兵往上走一步

这个时候这个逻辑

核心逻辑模块收到的就是“兵往上走一步”

而不是"点击、拖动、松开"这种复合的事件

核心逻辑模块

当接收到了输入层的各种状态

或输入的一些事件之后

他会结合

我们写的代码,就是象棋的规则

以及当前棋盘的状态,去更新这个棋盘逻辑

依照游戏的一些规则

得到一个新的游戏状态

这个是它核心做的事情

最终输出的就是各种各种棋子状态

以及游戏当前是进行中还是已经结束了

而这个输出控制呢

他就利用前面提到的总棋盘状态

把它组织成这种渲染的内容

就是我们常用的不管是DirectX

还是说我们的Unreal或者是Unity

控制渲染的数据结构

或者一些API来去实现

以及我们会有一些音效的组织

最终就把这些像素以及音频

在我们屏幕和扬声器上进行一个表达

要注意的一点的就是核心逻辑模块

是整个游戏的

处理中最关键的一个模块

在它前面的输入

以及后面的输出控制以及输出模块

都是为了让玩家

和这个模块的状态进行交互的一些组织

也都说同样一个核心逻辑

可能有不同的表现

还可能有不同的输入形式

举个例子

同样是象棋这种规则

我们完全可以用一种不是靠触摸屏来输入

以及靠这种画面的显示

我们可以是

一种文字的表达

例如这就不是显示画面了

而是显示几行字

可能说兵往上移

就是大家下盲棋那种情况

它其实就是很典型的

靠我跟你说话来去交互

靠你自己大脑里的状态

让你根据象棋的这种规则

去在你的大脑里面把种状态更新

这个其实就是同样的游戏规则

用不同的输入

以及输出的一个表现方式

因此

我们可以同步什么呢

一种就是提到了的最直接的操作

可能就直接是对屏幕

对手柄的一些点击操作

还有一种就是之前提到了

我们可以把多操作

组合成一种游戏内的事件

就留兵往上走

马跳哪里

这种游戏规则里面的事件

第三个

就是我们可以传输的是状态数据

由我们棋子

棋子在哪个格子上

例如一开始我们所介绍的那个例子

我们用户在A2

他在A4种方式就是属于直接同步状态

然后我们再从游戏的这种发展过程

来去了解一下不同的游戏

它的分层模型是怎么部署的

单机游戏

整个输入和输出

分别对应的是用户的手柄

以及显示器或是电视

它的逻辑模块以及输出控制

都是在它的主机范围内的

通过你的总线去传输

所中部署是非常简单的

再往后呢

我们出现了一些联机游戏

最典型的就是一些主机型游戏

包括星际、魔兽

以及我们后续的一些

如火影之类的线下赛

我们可能也会用这种主机模式

让一台主机承担主机角色

这种架构下多个玩家

通过自己的输入

传入到自己本地的逻辑处理模块

然后对客机来说

它会把用户的这个输入

通过网络传输到主机上

让主机去做核心的逻辑处理

然后主机再把这个状态传回客机

然后双方再根据自己本地的一些数据状态

去组织显示和音视频的一些输出

然后这里面其实还有一些情况

可能是客机会承担一部分逻辑运算

我们后面会再重点介绍一下

再到现在

大数游戏

都是一种

有服务器的架构

也就是说所有玩家的本地

把数据输入数据在本地接入之后呢

会把部分的输入

或是部分预处理后的一个状态

同步到服务器

再让服务器去做些

核心的仲裁性的逻辑处理

再把处理好的结果再同步给所有的客户端

从而达到玩家之间

不会有一些核心状态的不一致

这种架构的发展的也是由于网络的发展

并且是游戏玩家数量规模的发展

它就衍生出这种

可以让更多游戏参与

更多玩家同时参与进来的这么一种架构

再往后一点

现在其实中美技术战

最关键的一个接入点是什么

华为是因为什么技术被美国针对了

5G最大的一个特点

就是它在隔空投递的阶段

时延是非常低的

往后我们可以预想到

后续我们使用的网络

尤其是移动网络

它的带宽

它的延时都是可以有非常好的一个发展

因此现在其实已经出现了一些

云游戏形态

就这种游戏呢

就是用户的输入和显示他只靠本地的一个键盘或鼠标

或者是那个手柄

然后加个显示器

所有数据都同步到云端处理好之后

再把画面和音频同步到本地

这种

这种架构的优点

就是我的客户端可以是非常轻量级的

我们完全是不需要有多少处理能力

我只需要能够显示能够有输入就可以了

然后

我们根据这个分层模型

各个模块之间传输数据的类型

当我们选择从输入层

到核心逻辑层数据来进行同步的话

就是对应业界里面

常用的帧同步方案

当我们选择核心逻辑到输出控制中间

这些状态数据进行同步的话

就是对应的状态同步的方案

如果是选择输出控制到输出模块中间数据

还需同步的话

就是对应的云游戏的方案

因此这些业界常用的同步方案

就是由同步数据的选择所决定的

游戏程序设计课程列表:

第一章 《游戏开发导论》

-1. 1什么是游戏(上)

--1.1 什么是游戏(上)

--选择题

-1.2 什么是游戏(下)

--1.2 什么是游戏(下)

--选择题

-1.3 游戏是如何开发出来的

--1.3 游戏是如何开发出来的

-1.4 游戏引擎(上)

--1.4 游戏引擎(上)

-1.5 游戏引擎(下)

--1.5 游戏引擎(下)

--单选题

-1.6 如何成为一个游戏开发者

--1.6 如何成为一个游戏开发者

--多选题

第二章 《游戏服务器概述 》

-2.1 什么是游戏服务器

--2.1 什么是游戏服务器

--单选题

-2.2 游戏服务器的和分类发展

--2.2 游戏服务器的和分类发展

--单选题

-2.3 核心技术和实现难点

--2.3 核心技术和实现难点

--单选题

-2.4 设计原理与方法论

--2.4 设计原理与方法论

--单选题

第三章 《《三维几何学基础》 》

-3.1 三维坐标系统

--3.1 三维坐标系统

--多选题

-3.2 向量与运算

--3.2 向量与运算

--单选题

-3.3 矩阵与线性变换

--3.3 矩阵与线性变换

--双选题

-3.4 四元数

--3.4 四元数

--多选题

第四章 《游戏循环及实时模拟》

-4.1 游戏循环概述(上)

--4.1 游戏循环概述(上)

--多选题

-4.2 游戏循环概述(下)

--4.2 游戏循环概述(下)

--单选题

-4.3 《无尽之路》的实现

--4.3 《无尽之路》的实现

--单选题

-4.4 支撑游戏的功能

--4.4 支撑游戏的功能

--选择题

-4.5 支撑游戏的机制与系统

--4.5 支撑游戏的机制与系统

--多选题

第五章 《随机数在游戏中的应用》

-5.1 基本介绍

--5.1 基本介绍

--单选题

-5.2 随机数生成器

--5.2 随机数生成器

--单选题

-5.3 随机数分布与应用

--5.3 随机数分布与应用

--单选题

第六章 《游戏性系统》

-6.1 什么是游戏玩法开发

--6.1 什么是游戏玩法开发

--单选题

-6.2 建立愿景 Vision

--6.2 建立愿景 Vision

--单选题

-6.3 划定边界 Scope

--6.3 划定边界 Scope

-6.4 迭代 Iteration

--6.4 迭代 Iteration

--单选题

-6.5 迭代 Iteration+抛光Polish

--6.5 迭代 Iteration+抛光Polish

--单选题

第七章 《实时图形渲染管道》

-7.1实时图形渲染管道 宏观渲染系统

--7.1实时图形渲染管道 宏观渲染系统

--单选题

-7.2实时图形渲染管道 应用阶段

--7.2实时图形渲染管道 应用阶段

--单选题

-7.3实时图形渲染管道 几何阶段

--7.3实时图形渲染管道 几何阶段

--单选题

-7.4实时图形渲染管道 光栅化阶段

--7.4实时图形渲染管道 光栅化阶段

--单选题

-7.5实时图形渲染管道 总结 参考

--7.5实时图形渲染管道 总结 参考

第八章 《材质着色与光照》

-8.1 物理回顾1

--8.1 物理回顾1

--单选题

-8.2 物理回顾2

--8.2 物理回顾2

--单选题

-8.3 材质 1

--8.3 材质 1

-8.4 材质 2

--8.4 材质 2

-8.5 材质3

--8.5 材质3

-8.6局部光照

--8.6局部光照

--单选题

-8.7 全局光照

--8.7 全局光照

--单选题

第九章 《游戏动画》

-9.1 动画介绍

--9.1 动画介绍

--多选题

-9.2 游戏动画介绍

--9.2 游戏动画介绍

-9.3 动画技术类型

--9.3 动画技术类型

--多选题

-9.4 骨骼蒙皮动画

--9.4 骨骼蒙皮动画

--多选题

-9.5 动画流水线

--9.5 动画流水线

--多选题

-9.6 动画前沿趋势

--9.6 动画前沿趋势

--多选题

第十章 《网络同步技术》

-10.1 .基本概念

--10.1 .基本概念

--多选题

-10.2 设计目标

--10.2 设计目标

--多选题

-10.3 传输数据分析

--10.3 传输数据分析

--多选题

-10.4 常用同步方案 1

--10.4 常用同步方案 1

-10.4 常用同步方案 2

--10.4 常用同步方案 2

-10.4 常用同步方案 3

--10.4 常用同步方案 3

-10.4 常用同步方案 4

--10.4 常用同步方案 4

--多选题

-10.5 方案对比

--10.5 方案对比

--多选题

第十一章 《游戏常用几何学》

-11.1 基本图元

--11.1 基本图元

--单选题

-11.2 图元距离(上)

--11.2 图元距离(上)

--单选题

-11.2 图元距离(下)

--11.2 图元距离(下)

--单选题

-11.3 图元相交测试+ 其他几何方法

--11.3 图元相交测试+ 其他几何方法

--单选题

第十二章 《游戏物理模拟》

-12.1 著名物理引擎介绍

--12.1 著名物理引擎介绍

--单选题

-12.2 物理引擎原理(上)

--12.2 物理引擎原理(上)

--单选题

-12.3 物理引擎原理(下)

--12.3 物理引擎原理(下)

--单选题

-12.4 游戏中的物理体

--12.4 游戏中的物理体

--单选题

-12.5 物理引擎使用入门

--12.5 物理引擎使用入门

--单选题

第十三章 《开发工具 》

-13.1开发语言

--13.1开发语言

--单选题

-13.2 开发环境

--13.2 开发环境

--单选题

-13.3 腾讯开发组件介绍

--13.3 腾讯开发组件介绍

--单选题

-13.4 网络通信+业务框架介绍

--13.4 网络通信+业务框架介绍

--多选题

第十四章 《分布式系统设计 》

-14.1 进程间通信(上)

--14.1 进程间通信(上)

-14.2 进程间通信(下)

--14.2 进程间通信(下)

-14.3 通信格式

--14.3 通信格式

-14.4 并发模型

--14.4 并发模型

-14.5 超时处理

--14.5 超时处理

-14.6 大系统小做(上)

--14.6 大系统小做(上)

--多选题

-14.7 大系统小做(下)

--14.7 大系统小做(下)

-14.8 架构层面的技术支持(上)

--14.8 架构层面的技术支持(上)

--单选题

-14.9 架构层面的技术支持(下)

--14.9 架构层面的技术支持(下)

-14.10 分布系统的关键能力

--14.10 分布系统的关键能力

--多选题

第十五章 《游戏人工智能》

-15.1 游戏人工智能综述

--15.1 游戏人工智能综述

-15.2 人工智能在游戏中主要方法 上

--15.2 人工智能在游戏中主要方法 上

--多选题

-15.3人工智能在游戏中主要方法 (下)

--15.3人工智能在游戏中主要方法 (下)

-15.4 人工智能在游戏制作中的应用领域1

--15.4 人工智能在游戏制作中的应用领域1

--多选题

-15.5 人工智能在游戏制作中的应用领域2

--15.5 人工智能在游戏制作中的应用领域2

-15.6 人工智能在游戏制作中的应用领域3

--15.6 人工智能在游戏制作中的应用领域3

--多选题

-15.7 人工智能在游戏运营中的应用实践(上)

--15.7 人工智能在游戏运营中的应用实践(上)

-15.8 人工智能在游戏运营中的应用实践(下)

--15.8 人工智能在游戏运营中的应用实践(下)

--多选题

第十六章 《游戏支撑系统 》

-16.1 游戏支撑系统(1)

--16.1 游戏支撑系统(1)

--单选题

-16.2 游戏支撑系统(2)

--16.2 游戏支撑系统(2)

--单选题

-16.3 游戏支撑系统(3)

--16.3 游戏支撑系统(3)

--单选题

-16.4 游戏支撑系统(4)

--16.4 游戏支撑系统(4)

--单选题

-16.5 游戏支撑系统(5)

--16.5 游戏支撑系统(5)

第十七章 《游戏逻辑服务器和反外挂》

-17.1 游戏逻辑服务器(上)

--17.1 游戏逻辑服务器(上)

--单选题

-17.1 游戏逻辑服务器(下)

--17.1 游戏逻辑服务器(下)

-17.2 外挂与反外挂(上)

--17.2 外挂与反外挂(上)

-17.2 外挂与反外挂(下)

--17.2 外挂与反外挂(下)

--多选题

第十八章 《运行环境和运维 》

-18.1运行环境

--18.1运行环境

--多选题

-18.2物理部署

--18.2物理部署

--多选题

-18.3系统的可运维性

--18.3系统的可运维性

--多选题

-18.4运维案列分析

--18.4运维案列分析

--多选题

10.3 传输数据分析笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。