前端小游戏-笔记

202 阅读4分钟

一、电子游戏发展历史

1970 雅达利游戏 1980 FC 游戏 1990 3D 游戏 2000 网络游戏 2010 移动端游戏 2020 次世代游戏

二、前端小游戏开发框架

Three.js Phaser Createjs Egret Cocos2d-js

每个框架的特点以及优缺点 上面表格的框架,是我总结出来,比较多同行关注并且学习使用的框架。

Three.js 一款历史比较悠久的开源项目,准确地说它不是一个游戏引擎,是一个 JavaScript 的 3D 库。然而我们可以用它来做各种的 3D 效果和游戏。

优点: 专注于三维效果的 JavaScript 实现,能够在网页端实现大部分三维效果。

文档齐全,并具有搜索功能,方便快速查阅。

国外项目,目前仍然持续更新,不需要担心没人维护国外。

纯 js 代码开发,引入库即可用,不需要借助其他工具,方面接入任何的系统。

缺点: 文档大部分是英文,需要具备一定英文水平才能读懂。

学习难度比较大,除了 js 代码基础,还需要具备高中的几何知识、webgl 知识、线性代数等等。

国内例子相对比较少,中文教程也不多,基本上都是看官网的例子和文档进行学习和研究。

网页 3d 效果的兼容性和性能问题,需要详细研究需求后才能使用。

Phaser 免费开源的 html5 游戏框架,支持 canvas 和 webgl 渲染,github 上 2w + star,比较不错的游戏框架。

优点: 专注于 2d 游戏的 JavaScript 实现,集合了渲染、物理引擎,能够完成大部分小游戏。

使用方法简单,容易上手。

官方网站上有大量例子,代码都不负责,基本需要使用的效果都能找到对应的例子。

纯 js 代码开发,引入库即可用,不需要借助其他工具,方面接入任何的系统。

能够在微信小游戏中使用,并支持 typescript。

缺点: 官方文档大部分是英文,并且没有搜索功能,需要按照类一层层往下搜索;假如在官方例子中找不到合适的代码,需要花时间研究文档。

目前稳定版本是 2.10,但是版本是社区维护;官方在开发新的 3.0 版本,暂时还在调整阶段。

由于纯代码编写,如果游戏逻辑复杂,代码会比较多和繁琐,需要在前期做比较好的规划。

Createjs 免费开源的 html5 游戏、动画和交互应用框架,adobe animate 软件基于该库来生成代码。

优点: 动画和交互效果小能手,众多好看和高质量的 h5 展示效果使用 createjs 制作。

可以使用纯代码开发,或者使用 adobe animate 软件开发。

国内教程比较丰富,学习成本不大。

核心库分为四个,分别支持渲染、动画、预加载和音频,可以按需求加载对于库。

缺点: 例子相对较少,遇到新或者复杂的需求,基本需要查看 api,无法寻找相似例子。

没有封装好粒子系统、骨骼动画、瓦片地图等等,轻量级的库,不适合大型游戏。

动画制作一般需要大量图片,涉及图片压缩和使用精灵图方面的技术。

Egret 国内优秀的游戏制作引擎,具备一整套的开发工具和教程。

优点: 大型游戏制作能手,能够使用图形化工具制作游戏,性能优越。

使用 typescript 开发业务逻辑,代码规范。

中文文档和教程,学习方便。

同时支持 3d 和 2d,并且带有各种模块,游戏制作基本属于全能。

支持接入微信小游戏。

缺点: 需要使用工具开发,不方便接入其他业务系统。

虽然具备中文文档,当时需要熟悉各种工具,学习成本不低。

例子相对较少,制作大型游戏需要大量填坑。

Cocos2d-js 历史比较悠久的游戏开发框架,类似 egret。

优点: 2D 优秀开发引擎,同样使用图形化工具制作游戏,操作方便。

核心使用 JavaScript 编写。

中文文档和教程,学习方便,并且资料和例子丰富。

功能相当完整,游戏中需要的功能几乎都能够找到。

支持接入微信小游戏。

缺点: 需要使用工具开发,不方便接入其他业务系统。

需要熟悉各种工具,学习成本不低,这点类似 egret。

擅长 2D 游戏开发,3D 游戏开发没有其它几个游戏框架专业。

前端游戏开发技能树.jpg