当前课程知识点:游戏程序设计 >  第二章 《游戏服务器概述 》 >  2.1 什么是游戏服务器 >  2.1 什么是游戏服务器

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

2.1 什么是游戏服务器在线视频

下一节:2.2 游戏服务器的和分类发展

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

2.1 什么是游戏服务器课程教案、知识点、字幕

很荣幸跟大家分享那个腾讯游戏学院

和清华合作的这门游戏程序开发

游戏程序开发其实分两个大方向

一个是前端的部分

前面terry老师讲的偏重于前端的

像客户端的方面的技术

包括PC

手机还有

类似平板

这些方面的上面的一些可视化图形的技术

后端技术呢

主要是偏向于后用户不可见的一部分

类似和其他像互联网的一些服务器

还有像电信

金融行业

这些的服务器是有些相通的

我先简单做下自我介绍

我是来自腾讯的互动娱乐事业群

光子工作室的孙峻

也曾经是一名清华的学生

很高兴今天回的学校

我现在主要从事的工作内容则是

现在和平精英的游戏开发

游戏服务器的课程分大概八个内容

服务器概述开发工具分布式系统设计

游戏支撑系统

逻辑服务器反外挂网络技术

AIAI技术在混合前端会到时候会一起讲

运行环境和运维

我们今天的课程是

主要是概念性的就给大家介绍一下

服务器的技术

首先什么是游戏服务器呢

有些熟悉最早才是来源于游戏性的需求

最早的游戏机向红白机

还有街机

它其实是更讲究那种单局体验

就是单局过程

比如说过关

它的游戏性来自于用户的体验的提升

来自于它对技能的掌握和官场的熟悉程度

但是后面慢慢的这种会比较容易的玩

把游戏性质就消耗掉

然后玩家会觉得会有更换一些新的内容

但是后面就开始有一些可以成长的游戏

那是在红白机上最早出现可存盘的游戏

应该是三国志霸王大陆

就是那种游戏卡上以前是

都是打完一关就结束

霸王大陆当时第一款可以存储进度

它提供的不是现在所了解的这种

磁盘存储的东西

这上面在游戏卡上加了一块锂电池

然后PC端的游戏

都是可以存储一些进度可以重复性的

但是到后面网络刚开始兴起的时代

特别是在网吧的时代玩的游戏

很多网吧

它其实有了安全的需求

它在重新玩的时候

随后会把机器重置

这时候你的玩的内容其实都会被清掉

你换台电脑

那么你的游戏内容其实要从头开始

这时候其实有些游戏性质

从游戏性上的需求来看

就说有可能像我们

比如说能够换台电脑

那我还是能够继续

那么解决方案就是我们把玩家的数据

和剧情放到网络服务上去

现在可能现在大家对网络服务

已经很熟悉了

但是之前其实没有这种做法

然后点第二个需求

就是我们可以和别人一起玩

这游戏这东西怎么说呢

当单机游戏它有它的乐趣

但是更多的时候

其它人玩的时候可以产生更多的变化

毕竟人的智慧是更比电脑更丰富

很简单

举个例子就是斗地主这么传统的一个游戏

52装盘

三个人一起玩

可以玩出无数种玩法

一直延续到现在

而且人和人斗其乐无穷

那么这个一般来实现的方式就是一个

有中转的电脑来做转发这个用户的

数据和状态操作包括这个道理

不一定要用服务器的实现

在局网上

一些可以互相转发也是可以实现的

然后另外一个就防止作弊

保证这种游戏内的公平

这种通常我们实现的方式就是用一个

第三方的电脑来实现裁判

那么在这三个需求

最终其实是驱动了游戏服务器的产生

这样一个产生

一直到现在

我们的游戏服务器主要做的还是

这三件事情可以探索

还有当然还有件很重要的事情是充值

那个毕竟开发和运营它是有成本的

那么简单的总结下

游戏服务器呢

它其实就是有些服务器硬件和软件的结合

这些我们就不太多花时间去看

那游戏服务器的功能

第一个首先它做网络服务

建立和终端前端的网络连接

这样才能实现前端后端的交互

然后它一个会话维护

会话维护主要指什么呢

用户登录登出

这是它的一个在这个用户这个玩家

在服务器上面的一个生命周期

这个会话维护包括它还有可能像类似

现在PC端不再出现

但是手游端在用移动网络的更换的方式话

就导致很多的网络的切换

比如WiFi和WiFi

建设4G的基站之间的切换

换会导致你的掉线网络掉线

那么网络掉线就会有一个

但是你在你在服务器上的用户的生命周期

实际上还是存在的

这就有个断线重连的问题

就是这又是只能会话维护这一部分

然后用户首先数据存取

这个比较明显

用户数据存取

一般我们读取一般会发生在几个场景

就是第一个是登陆是很明显的

你登入服务器

服务器会从它的固定存储介质去读取

然后还有一个就是比如说切换场景

还有一些切换场景

从大厅服务器切换到战斗服务器

它其实也会从DB去读取它的用户数据

但存了存了一般

我们一般的服务器技术采用三种存储方式

第一

用户下线程序下线时候会把数据回写一次

第二次定时回写

比如说每隔半分钟每隔五分钟

把一些数据回写一次

但这些都会导致一个问题

就是如果中间异常掉电

我的服务器出异常会导致用户数据丢失

会回档

那么还有一个补充的存取方式

就是重要数据立即回写

比如说我们在一个魔兽世界里

打了一个特别贵重贵的一个其稀有的装备

这种比较贵比较稀有装备

或者是涉及到金钱上的交易或货币购买

这些都是一般都会及时回写

所以所以用户数据存取都要特别注意

逻辑计算逻辑主要是指

因为采用了服务器之后这种技术

那么把一些以前单机上实现的

前端的结算放到了后端

也是解决这件事是作弊

还保存了一些问题

例如我们就打到一个IPS

打在一个人身上

可能他的命中可能是在前端

才能判定他的命中

但是他命中最后他产生多少伤害

像我们常见的一些伤害计算里面有

比如说护甲免伤

这些双数据都要通过逻辑计算

通常以前这样放到客户端计算

那就不可避免的会有作弊的可能

第四个功能主要是用户行为

和状态的变化的同步

那么最快也可以理解就是网络个游戏嘛

在一个用户端

这样可视野范围内

它可以看到它的视野范围内

其他的玩家的动作

或者是怪物的后端PC的一些行为

和动作还可以看到才能显示一个

模拟真实的一个世界

游戏服务器相比互联网

其实是互联网服务的一种

但是相对互联网服有一些自己的特点

第一个是延迟敏感

这里问大家一下

你们有没有这种概念

延迟这个概念

你们怎么理解可能有点抽象

那我问延迟我这样说吧

延迟就是你操作一下

然后手看到这个动作

其他这个操作的时间到了发出的操作指令

和触感的这个时间和倒立图像反馈到视觉

然后倒到了这个时间是有一个闲差

另外第二个算是游戏服务器比较闲的时候

比较高强度的交互

一般单次请求都会产生很多服务器的逻辑

然后还有一些广播和同步

比如说很简单

我们服务器

承受最大的压力的一个逻辑是移动同步

那么其实假设你在一个

就二十个人左右的一个场景里面

你移动一步

那么其它在大概客户端在一秒之内

大概会发出

我就简单的举个例子

假设它发出五个移动包

表示它的方向的方向的改变呢

或者移动的目标点的改变发生了什么

然后你要就像二十的人去同步

其实相对这个消息量地方放大二十倍

第三个是业务逻辑复杂

内部耦合度比较高

因为他们延迟敏感

再加上高强度交付这两个

相互共同作用下呢

就一个在服务器上

那个状态维护就是一个必然的过程

那么就会导致这样的话

就导致它的那个逻辑比较复杂

比如说很简单

你介绍一个怪物

你不可能可能在服务器逻辑不仅仅是击杀一个怪物

要怪物有可能会引发一个触发一个任务

我今天刷怪刷15个这类似的这些逻辑

最后一个是变更幅度

它一般游戏不会比普通的互联网幅

它的变更更大

现在的特别是手游时代

端游时代还好一点

手游时代现在更新频率非常快

基本上就是一周一次小更新

一个月一个大更新

这种内容非常多

所以服务器的更新和灰度部署

这些跟比相对普通的

要求更为高

游戏程序设计课程列表:

第一章 《游戏开发导论》

-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运维案列分析

--多选题

2.1 什么是游戏服务器笔记与讨论

也许你还感兴趣的课程:

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