这是我参与「第四届青训营 」笔记创作活动的的第17天。
第17天的课程内容主要包括游戏的发展历史,前端场景下的游戏开发,游戏引擎的介绍等。
以下是本节课主要内容的总结:
游戏发展历史
广泛意义上的游戏
在游戏中,玩家依托电子设备(如电脑、游戏机、手机等)进行交互。
随着时间发展经历了雅达利游戏,FC游戏,3D游戏,网络游戏,移动端游戏等不同的发展阶段。
狭义上的游戏
狭义上的游戏即通过游戏引擎制作的电子游戏。
根据玩法进行大类划分,可以分为动作类,冒险类,模拟类,角色扮演类,策略类等。
前端场景下的游戏开发
开发链路和角色
组建一个最小但最完整的游戏开发团队只需要3个人:策划,程序,美术。
游戏开发的基本链路包括立项阶段,原型阶段,Alpha阶段,Beta阶段和运营阶段。
为什么要用游戏引擎
游戏引擎最大的优势:渲染。
游戏引擎更像是一套解决方案,让你在制作某一类型的产品的时候能够提高你的开发效率,花更少的时间做出更好的效果。
游戏引擎通常会包含渲染器,2D/3D图形元素,碰撞检测,物理引擎,声音,控制器支持,动画等部分。
前端开发过渡到游戏开发
前端开发和游戏开发不是相斥的。
现在很多主流的2D游戏引擎都支持使用JavaScript进行开发同时使用相关的工程化能力,也是游戏开发向web前端开发靠拢的一种表现。
因此,以web前端开发的视角看2D游戏引擎,无非是一套框架,一套解决方案而已。
但是开发理念上有差别:游戏开发更关注内容。
游戏引擎
市面上常见的游戏引擎
暂且不讨论端游的引擎,从前端开发最容易上手的引擎开始。
- The NVL Maker 文字冒险游戏制作器
No code形式的开发,只需要写文字脚本加上一定的配置就可以生成一个文字冒险游戏。
由于缺乏迭代和运营,该游戏引擎比较小众。
也有一个适用于前端的库AVG.js Project(内核时PixiJS作为渲染引擎)。 - RPG Maker
可以Low Code搭建一个关卡类型的游戏,适合代码能力不强但是想发挥自己创意的开发者。 - Web游戏引擎
利用Canvas和WebGL为底层技术抽象的图像绘制库(往往还附带一些其他的功能)。
Web游戏引擎的通用能力包括:预加载,展示与图层、组合系统,动画系统,音效和声音系统。
如Cocos,Laya,CreateJS & Phaser等。 - 功能引擎
大型游戏引擎往往是由小的功能引擎组装成的,一个大型游戏引擎往往包含渲染引擎,物理引擎,UI系统,声音系统,动画系统,粒子系统,骨骼系统,网络系统等组合而成。
如Pixi.js,Three.js,Box2D.js等。