这是我参与「第四届青训营 」笔记创作活动的第11天
小游戏开发
01.游戏的认知
广泛意义上的游戏
最广泛的的定义:一种有组织的玩耍,一般以娱乐为目的,有时也有教育意义
在英语中,体育比赛也是游戏,只要其活动本质带有目的,规则,挑战和互动,我们都可以把其归为游戏。缩小一下范围:电子游戏
在游戏中,玩家依托电子设备(如电脑,游戏机,手机等)进行交互。
狭义上的游戏
狭义上的游戏即通过游戏引擎制作的电子游戏 游戏的分类:根据玩法进行大分类,再经过小类细分
02.前端场景下的游戏开发
开发链路和角色
游戏开发的团队分工:
组建一个最小但最完整的游戏开发团队只需要3个人:策划,程序,美工,当然,能力足够强的话可以作为独立开发者。
开发链路:
03.游戏引擎
游戏引擎是什么
游戏引擎最大的游戏:渲染
游戏引擎的诞生就是一家公司做了一家游戏,做下一款游戏的时候复用了上一款游戏的代码,后来发现这些代码几乎每个游戏都需要用到,于是抽离出来就成了一个引擎。
所以游戏引擎更像是一套解决方案,让你在制作某一类型的产品的时候能够提高你的开发效率。
为什么使用游戏引擎
因为它能够给你一套完整的实现方案,不需要你再自己去拼凑,封装,让你花更少的时间做出更好的效果,特别是关于渲染效率和性能优化。
它提供游戏开发时需要的常见功能:引擎会提供许多组件,使用这些组件能缩短开发时间,让游戏开发更加简单;专业引擎通常会比自制引擎表现出更好的性能。
游戏引擎通常会包含:
- 2D/3D图形元素
- 碰撞检测
- 物理引擎
- 声音
- 控制器支持
- 动画等部分
世面上常见的游戏引擎
- Unreal
- Source
- Frostbite Engine
- Unity3D
特定类型的客户端游戏引擎
The NVL Maker
文字冒险游戏制作器, No Code形式的开发,只需要写文字脚本加上一定的配置就可以生成一个文字冒险游戏
RPG Maker
RPG Maker可以Low Code(低代码)搭建一个关卡类型的游戏,适合代码能力不强想发挥自己创意的开发者
Web游戏引擎
利用Canvas和WebGl为底层技术的抽象的图像绘制库(往往还附带一些其他的功能) Web引擎的通用能力:
- 预加载
- 展示与图层,组合系统
- 动画系统
- 音效和声音系统
01.Cocos
优势
- 平台支持能力好
- 完善的游戏功能支持
- 生态较好
缺点
- 3D仍在建设中
- 版本迭代块
02.Laya
优势
- 3D能力比较成熟
- 支持JS,TS,AS
- 引擎体积小
缺点
- 界面能力不友好
- 生态很差
03.Egret
优点
- 工具链比较完善
- 第三方库支持好
- 企业定制能力强
缺点
- 更新迭代遇到瓶颈
- 生态较差
04.CreateJS & Phaser
- 这两个游戏引擎没有可视化界面
- 他们是多个库的组合
功能引擎
功能引擎是专注某个方向能力的引擎,其特点是体积小,功能完善,特别是Pixi.js和Three.js这两个渲染引擎,通常被以为是一个完整的游戏引擎,但它们都是专注渲染能力的渲染引擎 常用的功能引擎