Doris232 发表于 2022-7-28 16:28

如何从零开发一款MMORPG游戏?

总览

大家好,我是雷蒙德!MMO是一种比较经典的网络游戏类型,从本期文章开始,我将带你学习如何从零开发一款大型的多人在线的联网角色扮演的游戏,也就是我们所说的MMORPG!
我会把本系列文章分为多个训练营(多期),每个训练营三天(三个小节),在本期训练营中,我将具体讲解:

[*]什么是MMO?
[*]你能从本期训练营学到什么?
[*]一款商业游戏的研发流程与岗位职责是怎样的?
[*]如何搭建最基本的MMO游戏框架(如果对MMO游戏开发有了解,可以直接跳转到到文章目录的“技术学习”部分)
[*]如何学习更多MMORPG游戏开发知识?
[*]附录和训练营福利


什么是MMO?

MMO全称MMORPG,中文翻译为“大型多人在线角色扮演游戏”,是网络游戏的一种。在所有角色扮演游戏中,玩家都要扮演一个虚构角色,并控制该角色的许多活动。MMORPG与单机游戏(例如三国志系列)和其他小型的、由多人参加的角色扮演游戏(例如CS)的区别在于:MMORPG具有一个持续的虚拟世界,玩家离开游戏之後,这个虚拟世界在网路游戏营运商提供的主机伺服器里继续存在,并且不断演进。 MMORPG是非常流行的网路游戏类型,占据了极大的市场占有率。市面上出现的游戏,如:魔兽世界、热血传奇、龙之谷、剑侠情缘网络版3、剑网三指尖江湖、天下贰等都属于MMORPG一款MMO游戏是由哪些游戏系统组成的?

就以下面这款国产MMORPG《剑网三指尖江湖》为例:


它是由我的老东家西山居工作室开发,由腾讯游戏代理运营的,其中:

[*]门派系统:游戏有少林,七秀、万花、天策、纯阳五大门派
[*]装备系统:分为七个部位,分别有武器,上衣, 裤子,帽子,腰带,鞋子和护手
[*]武器系统:角色获取武器默认为灰色一阶,大部分高品质散件为紫色四阶套装,兑换可获得橙色四阶
[*]地图系统:游戏包括了主城和副本场景
[*]其他系统:游戏还包括聊天,招募好友,师徒,帮会,主线任务、支线任务,交易行,拍卖行,名剑大会、擂台赛、战场等系统
[*]跟宠系统:游戏中共有五种跟宠,分别是越越泽、绯心、观月、风荷、知禅,这些跟宠会根据不同的条件触发并获得


你可以从训练营学到什么呢?


[*]我们的训练营是从零起步的,很多小伙伴会想,MMO游戏规模这么庞大,那么我们是不是很难掌握呢?大家完全不用担心,这个训练营就是面向对MMO游戏开发基础的同学;
[*]我们的训练营是遵循大厂架构的,也就是说你学习开发的不是一个游戏DEMO,而是可以被你的小伙伴从游戏市场下载到的商业游戏,我也会在训练营里介绍游戏开发相关的面试问题,作品、面试双管齐下,帮助你快速进入到游戏这个行业;
[*]我们的整个项目框架的拓展性很强,在你学完了我们训练营内容以后,你可以自行去拓展你想要开发的游戏系统,实现你自己的游戏梦想!
[*]我们在训练营里会综合运用我们平时自学或者在大学里学到的零散的知识点,让你真正学以致用!
游戏开发是什么样的?



假如我们把学习MMO游戏开发看成是习武的话,那么当你初入“新手村”,你首先需要知道这么三件事情:

[*]第一,需要知道现在武林有哪些主流门派、那个哪个门派的武功适合我?
[*]第二,这个门派最厉害的武功是什么?
[*]第三,以什么样的路径可以最快达到这个目标?
所以在我们的MMO游戏开发训练营的第一天,我们:
游戏行业的整体状况(武林有哪些主流门派,这些门派现在的状态是什么样的)




[*]当然,上面说的只是游戏行业的冰山一脚,同学们还可以进一步了解:

[*]不同地区研发商的特性
[*]游戏的戏份品类占比
[*]自研游戏的运营生命周期
[*]……

<hr/>研发流程

手游研发流程可分为立项、研发初期、正式研发、游戏测试、正式上线几个阶段,如下图:



国产手游研发流程

其中我们第一期训练营要学习的就是上图左下角的“从零搭建游戏框架”,在训练营里,我会带着大家深入浅出学习MMO游戏的各个知识点,并不是直接给出一个框架让大家去看,或者带大家读一遍代码,相信这点对新手同学会非常友好~
<hr/>联网游戏类型很多,那么不同类型的联网游戏,它们的核心差别在哪里呢?请看下图:



MMO/MOBA/SLG类型游戏的特点(具体请参考训练营)

卡牌游戏结合了SLG的策略元素以及MOBA的实时竞技元素,是一种广受欢迎的游戏类型,也是各大游戏厂商的主要盈利来源(抽卡),以下是我为各位同学拆解的卡牌游戏核心游戏机制:



卡牌游戏系统分析


[*]这里是抽卡系统的技术分享,同学们如果学会开发游戏,就不用充钱开卡包了!
岗位与职责(我在这个门派里如何发挥我的专长)

游戏研发的铁三角是:

[*]程序:负责游戏程序框架搭建,数据管理、游戏系统的各项功能实现
[*]美术:制作好看的游戏画面
[*]策划:编写游戏剧情、任务、玩法规则、数值公式


当然,游戏公司的岗位也不是一成不变的,这几年,游戏公司也逐渐演化出了很多交叉性的岗位,并且以上每个岗位又有很多的细分岗位,想要进入游戏行业的小伙伴可以加文末助理小姐姐,来我的直播间现场交流学习~
<hr/>技术学习

先提醒大家一下,“前方高能”!这里大家并不需要理解我说的每一句话,先大致了解MMO网络游戏架构的基本概念即可!具体的学习,可以加文末助理小姐姐,领取我们的训练营视频!
DAY 1:联网

技术方面,第一天,我们学习了如何最快速实现一个联网游戏的最基本功能——联网
我会在一个小时里带大家极速从零实现基本的网络通信框架,基本的网络交互图如下所示:



最简网络通信流程

以下是第一天训练营的效果演示:(只需要一个小时就能学会,虽然看着简单,但是当你自己动手实现起来了,会很有成就感哦~)

联网游戏客户端-服务器通信
https://www.zhihu.com/video/1530628146168250369
并且,我还会在这一个小时里给大家具体讲解其中涉及的Socket编程的知识,以及面试高频考点!
<hr/>以上的工作,就好像拉了一根电话线,但是光有电话线,还不能通话,所以接下来,我们要约定一种语言(比如你的家乡话、普通话或者同一种外语),这种通信约定就是“网络协议”!
定义如下:



网络协议定义

这是利用Json格式定义网络协议,并进行数据收发的流程图:



利用Json格式的网络协议进行数据收发


以上是第一天训练营。
<hr/>DAY 2:序列化与消息路由

但是,Json格式并不是那么适用于游戏环境,问题比较多(具体可参考训练营视频)。
因此,我会在第二天的训练营里对Json和Protobuf的差异做了深入浅出的原理讲解,让大家知其然更知其所以然,并将框架改造为基于Protobuf方式:




但是,但是,网络游戏中要处理的协议很多,如果每增加一个协议我们就复制一段协议解析和处理代码,冗余必然过大,因此,我还会在第二天训练营的最后,祭出MMO架构利器:“消息路由器”!用它来化解代码容易的矛盾,整个架构会非常优雅!(谁用谁知道~)



消息路由和用户服务,将来可无限拓展各种消息和服务

如果我们把第一天的内容比喻成习武之人学习扎马步的话,那么第二天 ,我们就是学习了一些实用的江湖武艺
<hr/>DAY 3:用户管理

经过前两天的学习,我们就已经能够推荐一个MMO游戏的基本框架,那么,就好比是习武之人已经掌握了江湖武功,下面该拜师学艺了,所以第三天,我们就要入一个门派,并选一本武器谱拜师学艺了~
那么第三天的武器谱里会有哪些东西呢?在第三天训练营里我们要学习用户的注册和登录,我们要手写一个用户管理器,并实现”已注册用户禁止注册“功能!。

完成用户管理和注册失败的判定
https://www.zhihu.com/video/1530878880584146944
在实际项目中,用户信息应当是能够永久保存的,并在程序启动时加载,在每天训练营的最后,我都会给大家留一些练习,通过这些练习,让大家进一步巩固、提升(毕竟能实际动手才算真正掌握嘛)
在下一期训练营中,我会实战给大家讲解如何用“数据库”而非“文件”方式高效存取数据


<hr/>如何进阶?

第二期训练营将接续第一期的内容继续给各位同学免费分享以下内容:

[*]在Unity中运行我们的网络架构:涉及的架构坑点非常多,我会带着你亲身实战趟坑
[*]在服务器数据库中存取游戏数据:基于C#的ORM架构方案快速实现高效数据存取
[*]Unity前端UI界面的开发与交互:与前端UI的交互并实现从登陆注册到进游戏的完整流程
MMO训练营视频

大家如果对游戏开发,对MMO感兴趣的,想要去创作一款大家爱玩的游戏想要进入游戏行业,那么大家就不要犹豫,直接点击下面链接扫描二维码添加微信限时0元领取第一期训练营:
本次训练营的介绍就到这里,欢迎大家报名参加,咱们训练营见哦!
<hr/>附录:

关于我

这个训练营讲师是由我——雷蒙德(Raymond)亲自授课,以下是我和训练营助教老师的详细介绍:


训练营期间,我将亲自指导大家去完成训练营过程中每一步的功能实现,确保大家能够跟上训练营节奏。
学习资源


[*]课前预习资料
[*]进群与志同道合的小伙伴一起学习进步
[*]讲师群内答疑
[*]2022游戏开发入行指南
[*]2022游戏创作上架指南
[*]2022游戏行业职业发展路线图
[*]Unity入行面试题汇总
[*]Unity进阶面试题概要
[*]求职/跳槽简历怎么写
[*]Unity人才评分表
[*]参加进阶技术专题抽奖

<hr/>

franciscochonge 发表于 2022-7-28 16:29

韭菜啊,伸出你们的头,接受命运的安排吧。(举起大旗和镰刀)
页: [1]
查看完整版本: 如何从零开发一款MMORPG游戏?