这是我参与「第四届青训营 」笔记创作活动的第14天。
前端场景下的游戏开发
开发链路和角色
组建一个最小但完整的游戏开发团队,只需要三个人:策划、程序、美术。
策划 - 数值、内容
美术 - 原画、2D/3D、音效/动效
程序 - 前端、后端
游戏开发基本链路
为什么要使用游戏引擎
游戏引擎最大的游戏:渲染
游戏引擎诞生是因为一家公司做了一款游戏,在做下一款游戏的时候复用了上一款游戏的代码,发现有些代码几乎每一个游戏都会用到,就抽离出来做成了引擎。
所以游戏引擎更像是一套解决方案,能够提高你的开发效率。
引擎会提供很多组件,使用这些组件能够缩短开发时间,专业引擎通常也能表现出不错的性能。
游戏引擎一般会包含渲染器、2D/3D图形元素、碰撞检测、物理引擎、声音、控制器支持、动画等部分。
前端开发过渡到游戏开发
以前端的视角看游戏开发,可能更多关注框架、解决方案,而游戏开发更关注内容。
Web游戏引擎
主要部分是利用Canvas和WebGl为底层技术抽象的图像绘制库。
Web游戏引擎的通用能力:
-
预加载
游戏中往往存在大量的静态素材,预加载引擎将加载时机、加载过程加以抽象,解决加载编码中的效率问题。
-
展示与图层、组合系统
Web游戏编程往往选择
Canvas或WebGl作为渲染方式,这些API非常基础,需要用大量的编码来编写简单的展示,而且图形之间没有组合和图层。 -
动画系统
动画系统往往被分为缓动动画和逐帧动画,缓动动画在原生JS中需要搭配帧渲染考量进行编写,代码量、思考量大,抽象程度低。
-
音效和声音系统
包含声音的播放、音量、截止、暂停等功能的集成。