小游戏开发 | 青训营笔记

113 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的的第8天

前端场景下的游戏开发

开发链路和角色

游戏开发团队分工 : 组建一个最小的游戏开发团队只需要3人,策划、程序、美术。当然能力足够的话作为独立开发者。

image.png

为什么要使用游戏引擎

游戏引擎更像是一套解决方案,让你在制作有一类型的产品的时候能够提高你的开发效率。 能够实现,可移植、物理效果、和动画特效。

image.png

前端开发过渡到游戏开发

前端开发和游戏开发不是互斥的

image.png 以Web前端开发的视角看2d游戏引擎,无非是一套框架,一套解决方案而已,但是开发理念还是有差别的:游戏开发更关注内容

游戏引擎

特定类型的客户端游戏引擎

The NVL Maker

image.png

RPG Maker

image.png

Web游戏引擎

利用Canvas和WebGL为底层技术抽象的图像绘制库

image.png

Cocos

优势 : 平台支持能力好,完善的游戏功能支持,生态较好 缺点 : 3D能力仍在建设中,版本迭代过快

image.png

Laya

优势 : 3d能力比较成熟,号称市场占有率90%,支持js、ts、as,引擎体积小 缺点 : 界面能力不友好,生态很差

image.png

Egret

优势 : 工具链比较完善,第三方库支持好,企业定制能力强 缺点 : 更新迭代遭到瓶颈,生态很差

image.png

CreateJs & Phaser

image.png

功能引擎

image.png

Web游戏引擎的渲染原理

1、创建一个Renderer渲染器,获取它的view(一个canvas对象),添加到DomTree中。(或者指定DomTree中已经存在的canvas对象作为view) 2、在MainLoop(主循环)中调用Renderer.render()并传入一个DisplayObject作为根节点开发渲染 3、从场景树的根节点开始,以zIndex为序从小到大进行深度优先遍历,对每个节点进行渲染操作,由后往前把整个场景进行绘制一次 4、WebGL的render方法执行过程

image.png 5、canvas的render方法的执行过程

image.png

PixiJS+Web开发

1、安装引入

npm安装或者通过script标签引入

2、创建Pixi应用和舞台

image.png

3、显示一张图片

image.png 现在已经创建了一个Sprite了,下一步就是显示它

image.png

image.png

4、让图片动起来

前面我们说到了可以设置Sprite的位置大小

image.png 那么每帧移动一个像素,我们用到游戏循环

image.png

Cocos Creator编辑器开发

cocos的工作流

image.png 创建项目

image.png 搭建场景 : Cocos的工作流-数据驱动和场景为核心、组件式开发为核心

image.png 搭建场景 : 节点是继承组件的实体,我们通过将具有各种功能的组件挂载到节点上,来让节点具体有各式各样的表现和功能。节点构成节点树,节点树影响真实的渲染层级

image.png 导入资源+显示资源 从操作系统的其他窗口拖拽到CocosCreator窗口中的资源管理器面板上,就能够从外部导入资源,该操作会自动复制资源到项目资源文件夹下并完成导入操作。

然后把图片拖拽到层级管理器即可生成一个cc.Sprite

image.png

image.png 运行调试

image.png 构建

image.png 构建游戏,可以选择多平台,产物即对应生成,比如Web Moblie

image.png 产物可以直接部署在对应的平台,比如Web产物部署到服务器、小游戏产物部署到开发者平台。