惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)

现在的年青人不得了啊!全栈全引擎!

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第1张图片

奎斯

大家好,我是奎斯(战神吗?)。

这是我第一次在晓衡哥的公众号亮相,非常高兴见到大家。

目前是一枚在读的大二狗,从大一开始奎斯意识学校学的东西过于浅薄,并且不喜欢学校教的Java做网站开发。

然后自己从网上开始买课、找资料进入游戏开发领域,当时正值微信小游戏浪潮最汹涌的时候,于是就选择学习了 Cocos Creator 游戏引擎。

19 年末开始转向学习 Laya AirUnty3D 游戏引擎,目前为止已经使用 Cocos Creator 和 Laya Air 开发过一款休闲小游戏和一款 2D 塔防小游戏。

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第2张图片

作者:奎斯
视频:奎斯
排版

在使用 Laya 的编辑器开发完这款 2D 后我深感 Laya 编辑器在 UI 方面的缺陷,于是今年4月份在麒麟子大神的推荐下我开始学习 FGUI 这款神仙 UI 编辑器。

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第3张图片

当时有幸得到麒麟子大神真传一套 stage 分层架构的商用大厅子工程源码。

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第4张图片

同时又跟随自己在网上的老师学习了 Node.js 开发游戏服务器的知识,在汲取养分后为了将所学付诸实践,于是从5月份初开始到6月中旬。

我使用 FGUI + Laya Air + Node.js 的工作流开发了第一款全栈小游戏《极简联机五子棋》。

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第5张图片

首先这是一款全栈小游戏哦,且听我细细为你道来

客户端:基于 FGUI + Laya Air 游戏引擎,使用 TypeScript 语言开发,采用了麒麟子大神商用源码中的 stage 分层框架。

服务器:基于 Node.js 使用 JavaScript 语言开发,采用了弱联网网关+集群式分布式服务器的模式开发。

1

客户端 Stage 分层框架

用过 H5 游戏引擎的人都知道,相比 Cocos Creator 引擎,使用 Laya Air 开发游戏,起来要比较麻烦和困难。

在 Cocos Creator 很多属性、组件、节点的获取通过拖拽的方式就能得到。Laya Air 虽然在 2d 方面也能做到这点,但作者曾经在这方面踩过一些坑,太过于痛苦,所以就决定放弃 Laya 编辑器,学习使用了第三方的 UI 神器编辑器 FGUI。

在我的五子棋中 Laya 引擎我只会创建一个场景,所有的脚本不会继承自 Laya.Script 组件,所有UI组件都是继承自 stage 分层框架的 widget 基础类。

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第6张图片

stage分层架构UI图

并且是从新建项目时自动生成的 Main.ts 入口文件中开始写代码,所有节点、组件的控制我都是通过 FGUI 提供的API下进行:

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第7张图片

在传统组件化开发模式中的 onAwake()、onStart()、onUpdate() 等方法,我都会从 stage 分层框架的核心类KS(作者自定义的名字:指”奎斯”)中自己实现。

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第8张图片

AI对战界面

在不同场景 UI 中通过注册到 KS 类中,还有关于如何配置环境,运行项目、项目结构等等方面内容这些在源码文档中我都会讲得非常明白,保证你即使只是一个不懂开发的策划或运营人员也能让它跑起来。

2

服务端 Nodejs 网关集群

在客户端与服务器之间使用Websocket协议进行通讯,使用JSON的方式进行数据编码与解码。服务器中web服务器主要两个作用:

  1. 获取远程网关服务器信息

  2. 部署远程加载的资源

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第9张图片

弱联网网关+集群分布式架构图

采用网关+集群式的好处是:服务器可动态伸缩,支持不同规模的用户,目前已经是网络游戏的标配了。

3

关于项目

这里奎斯要说明的是,由于奎斯是在读学生的身份,没有很好的美术资源。

五子棋中所使用的美术都是奎斯通过 FGUI 编辑器制作,在美术上可能不太美观,目前这套源码我准备上架到晓衡哥的微店,希望对以下人群有所帮助:

  • 感觉 Cocos Creator 没挑战想学习使用 Laya Air 引擎开发游戏的同学

  • 想学习使用Laya Air + FGUI工作流的同学

  • 想实践麒麟子开发的 Stage 分层框架的同学

  • 想学习 Node.js 做分布式游戏服务器的同学

  • 当然想拿去运营或者二次开发的也是完全可以的

通过我的这套源码最大的好处除,可以学习到 stage 分层框架,还能对游戏服务器做分布式有更深入的了解更多关于stage分层架构和网关+集群式,可阅我的博客文章(阅读原文,我们一起学习、进步!

https://blog.csdn.net/qq_37872192/article/details/105466590
https://blog.csdn.net/qq_37872192/article/details/106599995

惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友)_第10张图片

欢迎加我微信!

你可能感兴趣的:(惊叹!现在的大二学生太厉害了,全栈联机小游戏,秒杀很多...(求好友))