# 浅理解小游戏开发|青训营笔记

167 阅读3分钟

浅理解小游戏开发|青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第26天,也是最后一天,今天学习的内容是小游戏开发。

小游戏

前端场景下的游戏开发

1.开发链路和角色

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

游戏引擎最大游戏是渲染:

游戏引擎能够给你一套完整的实现方案,不需要你再自己去拼凑、封装,让你花更少的时间做出更好的效果,特别是关于渲染效率和性能优化。

它提供游戏开发时需要的常见功能:引擎会提供许多组件,使用这些组件能缩短开发时间,让游戏开发变得更简单;专业引擎通常会能比自制引擎表现出更好的性能。

游戏引擎通常会包含渲染器,2D/3D图形元素,碰撞检测,物理引擎,声音,控制器支持,动画等部分。

前端开发和游戏开发并不相斥,但在开发理念上,游戏开发更关注内容。

游戏引擎

前端开发最容易上手的引擎

1.The NVL Makers——文字冒险游戏制作器:No Code形式的开发,只需要写文字脚本加上一定的配置就可以生成一个文字冒险游戏。

但其缺乏迭代和运营

2.RPG Maker可 以Low Code搭建一个关卡类型的游戏,适合代码能力不强但是想发挥自己的创意的开发者。

3.利用Canvas和 WebGL为底层技术抽象的图像绘制库(往往还附带一些其他的功能)

Web游戏引擎的通用能力:

  • 预加载:游戏引擎中的预加载引擎将加载时机、加载过程加以抽象,解决加载编码中的效率问题。

  • 展示与图层、组合系统:对于Web游戏编程而言,往往选择Canvas 或WebGL作为渲染方式(大家可以想想为什么不用DOM作为渲染方式?)。而Canvas 和 WebGL作为底层的API,,接口非常基础,需要用大量的编码来编写简单的展示。而且图形之间没有组合和图层,很难处理元素组合和图层问题。渲染引擎和图层、组合系统应运而生。

  • 动画系统:动画往往被分为缓动动画和逐帧动画,这里讨论缓动动画系统。缓动动画系统在原生JS 中需要搭配帧渲染进行考量而进行书写,代码量和思考量巨大,抽象程度低,所以需要游戏引擎动画系统。

  • 音效和声音系统:游戏相较于普通的Web前端而言需要更加立体、及时的反馈,声音和音效是反馈的重要组成部分。

其中web游戏引擎有:Cocos、Laya、Egret、Create&Phaser

功能引擎

引擎名称引擎名称应用场景
Pixi.js(2d渲染引擎)2d渲染能力强(尤其是WebGL)、 轻量化使用需要复杂的动画系统; 需要复杂的图片渲染形式; 需要使用Canvas操作但是不想自己造轮子; 需要制作自己的2d游戏引擎
Three.js(3d渲染引擎)3d渲染能力强、API简介明了、支持webGL和CSS3D两种渲染模式3D演示 ;3D类的H5游戏/小游戏 ;WebVR
Box2D.js(2d物理引擎)接口简单友好、物理刚体仿真效果很强物理仿真;·扩展游戏引擎能力