小游戏开发概述 - 笔记
游戏引擎、游戏开发的技能树、PixiJS+Web 开发
# 小游戏开发概览
# 为什么要用游戏引擎
因为使用游戏引擎的最大优势就是:渲染
引擎的诞生就是因为一家公司做了一款游戏,做下一款游戏时复用了上一款游戏的代码,后来发现这些代码几乎每个游戏都会用到,抽离出来就成了一个引擎。
如果不使用引擎,你可以做复杂的动效渲染和交互吗?当然可以。方便吗?不一定。
所以游戏引擎更像是一套解决方案,让你在制作某一类型的产品的时候能够提高你的开发效率。
游戏引擎能让你花更少的时间做出更好的效果
# 游戏引擎
游戏引擎通常会包含:渲染器,2D/3D 图形元素,碰撞检测,物理引擎,声音,控制器支持,动画等部分。
现在很多主流的 2d 游戏引擎都支持使用 JavaScript 进行开发同时使用相关的工程化能力,也是游戏开发向 web 前端开发靠拢的一种表现。
游戏开发其实更关注内容
作为前端游戏开发,我们没必要一开始就去学端游的游戏引擎,而是可以从简单易用的开始。
- NVL Marker
- RPG Marker RPG Maker 可以 Low Code 搭建一个关卡类型的游戏,适合代码能力不强但是想发挥自己的创意的开发者。
- Web 游戏引擎 Web 游戏引擎有一些通用能力:预加载、展示与图层组合系统、动画系统、音效和声音系统
# Web 游戏引擎
# Cocos
优势:
- 平台支持能力好
- 完善的游戏功能支持生态较好
缺点:
- 3D 能力仍在建设中
- 版本迭代过快
# Laya
优势:
- 3D 能力比较成熟,号称市场占有率 90%
- 支持 JS、TS、AS
- 引擎体积小
缺点:
- 界面能力不友好
- 生态很差
# Egret(白鹭)
优势:
- 工具链比较完善
- 第三方库支持好
- 企业定制能力强
缺点:
- 更新迭代遭瓶颈
- 生态较差
# CreateJS 库 & Phaser 游戏引擎
CreateJS:它是多个库的集合,EASELJS (控制素材展示与组合)、TWEENJS (控制素材缓动动画)、SOUNDJS (控制声音)、PRELOADJS (控制加载),通过预加载后的素材展示、动画、声音构成游戏。
Phaser 游戏引擎:除了 CreateJS 为基础的展示、声音、动画、加载系统,还设计了摄像机、物理引擎、内置浏览器、插件系统等高级功能。
缺点:没有可视化界面
# 功能引擎
大型游戏引擎往往是由小的功能引擎组装成的,一个大型游戏引擎往往包含渲染引擎、物理引擎、UI 系统、声音系统、动画系统、粒子系统、骨骼系统、网络系统等组合而成
其中最重要的便是渲染引擎和物理引擎
# 2D 游戏引擎的技术架构
以 Cocos 引擎架构为例:
# 游戏开发的技能树
入门技能树:
# PixiJS+Web 开发
安装和引入 PixiJS
创建 Pixi 应用和舞台(Stage)
创建一个 Sprite(精灵)
Sprite(精灵):在 Pixi 或者更多游戏引擎中的 Sprite 是一个用于承载图像的对象,你能够控制它的大小、位置等属性来产生交互、动画
显示一个精灵:
让精灵动起来:
使用游戏循环的处理函数添加动画
app.ticker.add(); |
---|
# Cocos Creator
# 参考资料
- 字节青训营课程
相关文章
- 西门子PLC-1200 SCL语言开发学习笔记 (一)
- Kotlin 学习笔记(三)
- 《深度工作》学习笔记(3)
- Gazebo使用笔记(5) —— 力/力矩传感器的使用[通俗易懂]
- Java笔记二十四——Spring开发
- python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)[通俗易懂]
- lamda运算学习笔记
- 运营笔记
- Android开发笔记(一百八十九)利用LAME录制MP3音频
- 驱动开发学习笔记(4-1)–INF文件-1
- GO语言开发环境搭建笔记
- SVG学习笔记,持续记录。
- mysql学习笔记 第七天详解数据库
- iOS开发笔记 – 常用第三方库整理详解手机开发
- Java学习笔记之二十八深入了解Java8新特性详解编程语言
- Linux命令行操作笔记(linux命令笔记)
- 千峰 Redis学习笔记(千峰redis笔记)
- VR开发笔记之三:在虚拟现实中移动
- javascript学习笔记(八)js内置对象
- php学习笔记之面向对象编程
- php笔记之:初探PHPcms模块开发介绍
- MySQL笔记之别名的使用
- Android开发笔记之:深入理解多线程AsyncTask
- Android开发笔记之:一分钟学会使用Logcat调试程序的详解
- Android开发笔记之探秘WebView
- oracle复习笔记之PL/SQL程序所要了解的知识点