小游戏开发 | 青训营笔记

64 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的的第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等。