当前课程知识点:游戏程序设计 >  第二章 《游戏服务器概述 》 >  2.2 游戏服务器的和分类发展 >  2.2 游戏服务器的和分类发展

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

2.2 游戏服务器的和分类发展在线视频

下一节:2.3 核心技术和实现难点

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

2.2 游戏服务器的和分类发展课程教案、知识点、字幕

那么

游戏服务器的在介绍服务器分类和发展

前面可能terry老师也介绍过一些

游戏的发展

我们这边主要是倾向于网络游戏发展史

最早就是应该是七十年代末的时候

最早的是文字MUD

和那个UNIX网络同步出现的

后面再九八十年代末到九十年代初的时候

还是有些像《红警》还算晚一点

这种样式沙丘

魔兽二这些局网网连接的游戏动

然后再象diablo(暗黑破坏神)战网应该是九十年代末

之后就95年到98年之间吧

具体我不太清楚

休闲游戏的联众是在两千年左右

金山在97年的时候出了一款

比较有名的剑侠情缘礼盒

RPG类游戏

它是单机版的

然后在030509年后面分别出版了

这个见性的网络版

网络1代现在最后的09年是网络剑3

是应该是最成功的

一个金山的一个最成功的一个产品

传奇应该是两千年左右

也是两千年左右登录的中国

最值得介绍一下

应该可能大概比较熟悉

可能前面有些游戏

你们可能还没有怎么接触过

但是魔兽世界应该是

不得不可避开的一个话题

然后后面在两千年

两千年06年到10年

都那几人开始手游就开始兴起了

然后DOTA(刀塔)传奇

是我们腾讯的一个内部员工出去创业

莉莉丝创业的

做了一个比较成功的一个手游产品

后面一些休闲的纪念碑谷

次元文化的网易文化的阴阳师

到moba对战的王者荣耀这个项目

说起来

我们是曾经跟它做了一个对抗的一个项目

叫全民超神

不知道大家听说过没有

只是在最后是王者荣耀胜出了

我们看一下第一代的游戏服务器

那么第一代游戏服务器呢

它其实比较简单的使用一些

单进程单线程模型

就是服务器一个进程单线程无阻塞

从玩家接触到玩家的消息后

把它按照一个消息队列来进行序列化

一步的序列化 异步

然后反正单进程单线程模式响应

然后这个单线程服务器原型模型呢

就最早的应该是类似像

78年的MUD游戏

那个之前像清华的BBS

清华BBS也有一些MUD早期

在它直接其实就使用的终端模拟程序

telnet这些方面可以登录

然后

主要采用一些文字叙述的方式就进场景后

服务器告诉你

你在什么场景你有什么数据

然后和其他交互

然后玩家输一些指令

不知道大家见过没有

现在应该北大好像侠客行

好像都还至今有几百人在线的样子

承载能力的限制

这种MUD在当年是承载能力

单服有一定的

因为它虽然没有很强的逻辑

但是因为它的整个架构比较简单

承载能力还是比较低的

然后在第二代游戏服务器

为了增加并发就发展了很多那种在服务端

这一端也有成了多线程多进程的一些模型

然后本身在逻辑结构上

开始增加了分区分幅的节奏

那么比较典型的

典型游戏人第一个是

1997年的这个Ultima Online

因为它是中文名

叫创世纪

EA下面一个公司推出的

在97年推出的

但是它是世界上第一款

图形界面的大型多人在线游戏

也算是开创了一个历史

它在北美

欧洲

东亚还有大洋洲

这些都不属于服务器

但是唯一的遗憾的就是

始终没有进入过中国大陆

然后连带休闲游戏棋牌室

在两千元左右推出的

然后他们的结果其实就表明是因为当时

联众地方电信运营商合作联通

联通电信的这些

在地方电信

建设搭建的这种游戏服务器

南方电信一,北方联通一

还有刚才有些类型

它就是典型的这种分区分符合身份限制的

这种游戏服务器架构

那么第三代游戏服务器呢

就相对来说更百花齐放一些

那我们看第一种

第一种是属于

叫我把在第二代游戏服务器上的发展

它就把实现三层架构吗

当时比较推崇的这种分离

第一个呢

就是Gate svr会去负责这种连接的部分

相对来说

这些可能你们的作业不会涉及到这些

因为相对做到这种复杂的游戏服务的话

还是

还是会要求高了一些

所以先听一下就好了

第一个Gate svr它会负责

作为所有玩家的游戏连接

主要处理网络的L部分

然后Gate Svr通过内部的一个网络

IDC那个装网跟游戏逻辑服务器向交互

最后把用户数据的存储

放到DB这一层 DB server这一层

以前的服务器可能很多次结合一起

你有可能只是把存储分离

然后

专门的类似mysql

或者一些当时流行的数据库进行做存储

它的主要特点就是说把网络

和存储这个IO跟逻辑分离

这样可以对每一层进行扩展

一般负载的瓶颈大部分会在这一层

这层可以做更多的扩展

而支持一个单区单服增加承载的能力

QQGame是这种是比较典型的

这种架构的

代表然后它当时是腾讯

其实在程序是首款自研的游戏产品

在2003年推出

最高的应该是到过八百多万人在线

PC端的时候

是很恐怖的一个数据就很快就超越了联众

其实现在在这个休闲棋牌市场上

已经绝对的领先

那么

第三代服务器

第二种类型的就是服务器集群的那种类型

这是比较简单的示意图

比如说它前面也是有Gate

我命名它为Gate

其实是属于接入类的

接入类服务它会处理内网连接

然后在游戏world在里面去处理游戏逻辑

然后但它会把一些通用的逻辑

和功用而把它抽取出来

比如说管理类聊天

还有比如交易类

还有类似一些组队

还有一些类似现在常见的网络游戏

常见的工会

这东西把这个逻辑抽取出来

放到一个独立的地方

然后在上面cluster集群的方式提供这种游戏服务

这种大部分的MMORPG的游戏会断掉线啦

RPG都大部分是这种结构

它们的特点那就说

因为这种

采用这种分组以后的

有些其实它的以前那些同步的逻辑

就直接本地调用一个函数

处理组队处理工会

会变到另外一个服务器上

中间肯定就多了一些异步的交互

把同步变成异步交互

异步交互

就会存在一些状态的维护这些困难

这相对来说开发难度会更高一些

比较有代表性的

就像最早期的名人册传奇

是一个经典的MMO

盛大引进的韩国的一个代理商游戏

腾讯在2005年受自研的第一款

QQ幻想

当时应该最高是做到六十万左右在线

它是Q版卡通类的那种RPG

QQ华夏是在07年是深圳网域公司开发的

然后腾讯当时曾经做过代理

这款游戏

07年开始运行是我自己玩的比较久了

一款RPG

那么第三代服务器

还有第三种就是无缝地图类型的

这个最大的代表就是那个魔兽世界

相对于那种以前传奇类的

它做切换地图的时候

前段会有明显的卡顿,loading然后

进入一个什么loading界面

然后无缝地图的特点就是在客户端

可能看到这个地图

一直在跑一直都存在的加载

它的特点的就是它的一个场景服务器

只负责一部分场景

然后玩家其实没有看看到这种加载过程

但是他在某些边界时候

可能还是就会存在两个场景服务器上

然后有一个更高层的

一个world级的服务器来管理

它们说谁的服务器来做这个决策

其实

它在边界地处边界切换的时候

是有两个场景

服务器共同持有这个玩家的数据

这样玩家就没有那么明显的感觉到切换

这个最典型代表就是魔兽世界

然后一些这个big world的大引擎

也是现在这种无缝地图技术

然后最后一种服务器架构

现在就是房间性的

这种是比较

常见的很多游戏类型都会用这种模式

这个图有点小

不知道看不看得清

我讲解一下

中间这部分是一个我们叫做大厅集群

它的大厅集群

主要也是负责的前面gate

和游戏服务器

负责用户的接入

做主要的逻辑处理

还有一些大厅的一些服务

比如说匹配像王者荣耀和英雄联盟

你们5v5

就当有多少玩家

同时其申请进游戏的时候

它会挑出根据它的规则

比如说王者荣耀

那个英雄联盟能挑出它的等级分

最接近的撮合两个队伍难度等级分

相对比较接近

它会稍后把这个

单局的过程叫做战斗集群

也叫房间服务

就这个一个单局的服务

就存放到这边战斗群

然后这个战斗结群

可能会做一个分布

比如说像之前的向南

北方的联通

南方的电信

这种对用户来说做一个就近的接入

还有可能

比如 PUBG mobile

它们在大厅集群是放在北美

那个在北美

亚洲

欧洲都有放战斗集群

方便各地的用户都可以接入网

这种模型的游戏就比较多

上那个

类似英雄联盟是在09年腾讯代理

那个美国Roit Game开发的

然后现在也是被腾讯全职收购了

那个应该都是你们耳熟能详的

英雄联盟把电竞这个产业推到了一个

比较高的高度

王者荣耀

这个是18年我们光子做的

绝地求生那个手游版

最早是叫刺激战场

刺激战场也是

历史最高的一个在线

也是创造一个游戏史上的一个数据

就是我们最高接近一千四百万吧

同时在线

应该是跟王者荣耀差不多的数据

现在因为版权的那个国家限韩令原因

版权原因现在叫做和平精英

游戏程序设计课程列表:

第一章 《游戏开发导论》

-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.2 游戏服务器的和分类发展笔记与讨论

也许你还感兴趣的课程:

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