字节笔记本
2026年3月22日
awesome-flame:Flame 2D 游戏引擎生态资源合集
本文介绍 awesome-flame,一个精心策划的 Flame 引擎生态资源合集,收录了与 Flame 2D 游戏引擎相关的最佳游戏项目、插件库、教程文章与开发工具,是 Flutter 游戏开发者不可或缺的导航资源库。
项目简介
awesome-flame 是由 Flame 引擎官方组织维护的一个 Awesome List 类型项目,托管在 flame-engine GitHub 组织下。该仓库系统性地收集和整理了 Flame 生态中最优秀的开源游戏项目、插件与库、文章教程以及各类开发资源,为 Flutter 游戏开发者提供了一站式的参考指南。
Flame 引擎本身是一个基于 Flutter 构建的极简主义 2D 游戏引擎,提供了一组相对独立的模块,开发者可以按需选择来构建自己的游戏。awesome-flame 作为其生态的门户项目,帮助开发者快速发现高质量的学习材料和可直接使用的工具。
核心特性
丰富的教程资源
awesome-flame 收录了多篇高质量的 Flame 引擎教程和文章,覆盖了从入门到进阶的各个阶段:
系统性教程系列:
- Color Switch 游戏教程(by imaNNeo,2023 年):涵盖 Flame 组件系统(FCM)与事件处理、Camera 和 World 组件、Sprite 与自定义组件、碰撞检测、暂停菜单与 Overlays、评分与粒子系统、音频与音效、性能优化等 8 个章节,是学习 Flame 引擎最全面的中文教程之一
- Forge2D 物理引擎系列(by YayoCode):从项目搭建到物理世界的创建,涵盖 Body 类型、摩擦力与密度、力与冲量、精灵绑定、碰撞检测等 8 篇文章,适合需要物理模拟的游戏开发
- raywenderlich.com 教程(by Vincenzo Guzzi):权威技术网站的 Flame 入门指南
- Dart Box2D 基础系列(by wolfenra.in):深入讲解 Box2D 物理引擎的底层原理
实战项目教程:
- 使用 Flame 构建打砖块游戏(Brett Morgan),集成 Flutter 状态管理
- 开发带有广告和国际化的游戏(Bo Hellgren)
- Flame Web 端实践(Aseem Wangoo)
- 2D 平台跳跃游戏开发系列 - 不使用 Forge2D(DevKage)
- Dino Run 跑酷游戏开发系列(DevKage)
- Spacescape 太空射击游戏开发系列(DevKage)
- 使用 Flutter + Flame + Supabase 构建实时多人对战游戏(Tyler Shukert)
强大的插件与库生态
awesome-flame 整理了 Flame 生态中重要的插件与工具库:
- First-Party Plugins:Flame 官方 monorepo 中包含的第一方插件,提供最核心的功能支持
- bonfire(by rafaelbarbosatec):RPG 游戏制作工具包,提供角色、地图、战斗系统等 RPG 游戏所需的完整组件
- flame_texturepacker(by Brixto):支持从 TexturePacker 导入精灵表,方便管理大量游戏素材
- leap(by kurtome):一个有主见的 2D 平台跳跃游戏开发工具包,简化了平台跳跃游戏的常见实现
海量的游戏项目展示
awesome-flame 收录了大量使用 Flame 引擎开发的游戏项目,按类型进行了详细分类,是展示 Flame 引擎能力的最佳窗口。
开源项目:
在开源类别下,包含了多种类型的游戏示例,开发者可以直接学习源代码:
| 类型 | 代表项目 | 说明 |
|---|---|---|
| 休闲游戏 | Antimine(扫雷)、Bob Box、Snaake!(贪吃蛇)、Ghost Rigger | 经典休闲游戏的高质量 Flutter 实现 |
| 教育类 | Visual Graphs | 图数据结构算法可视化工具 |
| 无尽跑酷 | BGUG、Dino Run | 高速侧滚平台跳跃游戏 |
| 平台跳跃 | Flutters、Simple Platformer | 经典平台跳跃游戏实现 |
| RPG | Darkness Dungeon | 简易角色扮演游戏 |
已上架应用商店的商业游戏:
这是 awesome-flame 最具说服力的部分,展示了 Flame 引擎完全有能力支撑商业级别的游戏发布:
| 类型 | 游戏名称 | 平台 | 说明 |
|---|---|---|---|
| 动作 | Vitayaja | Android | 2D 对战格斗游戏 |
| 街机 | Air Hockey Classic | Android, iOS | 经典空气曲棍球 |
| 街机 | Oh Dash! | Android, iOS | 快节奏闪避游戏 |
| 棋盘 | Four In A Row | Android, iOS | 经典四子棋 |
| 棋盘 | Omnichess | Web, Android, iOS | 自定义国际象棋变体 |
| 棋盘 | Chinese Checkers | Android, iOS | 支持在线对战的中国跳棋 |
| 休闲 | KINGA | Android, iOS | 保护饼干不被苍蝇碰到 |
| 休闲 | Wormo | Android, iOS | 软体虫子休闲游戏 |
| 休闲 | Brick Mania | Android, iOS | 经典打砖块重制版 |
| 休闲 | Save The Potato | Android, iOS | Flame Game Jam 3.0 冠军作品 |
| 教育 | Sky Academy | Android, iOS | 天文学习应用 |
| 教育 | Mathonaut | Android, iOS | 数学平台游戏 |
| 教育 | Japanese Fun J64 | Android, iOS | 日语学习互动小游戏 |
| 银河恶魔城 | Tales of a Lost Mine | Android | 平台冒险银河恶魔城游戏 |
| 音乐 | Relo Music Instrument | Android, iOS | 创新性相对音乐乐器 |
| 多人在线 | Penguin Chat | Android, GitHub | 企鹅虚拟世界聊天 |
| 解谜 | Jigsaw Puzzles | Android, iOS | 拼图游戏,数千张 HD 图片 |
| 解谜 | Bumble Maze | Android, iOS | 程序化生成花园迷宫 |
| 角色扮演 | The Darkblade | Desktop | 魂类 2D 单人 RPG |
| 角色扮演 | Grid Lands | Web | 实时 MMO 扫雷 + PvP |
| 体育 | Pool Ball Classic | Android, iOS | 3D 图形台球游戏 |
| 体育 | Cycling Escape | Android, iOS | 自行车竞速游戏 |
| 塔防 | Xtrike | Android | 策略塔防游戏 |
| 塔防 | Bubble Panic! | Android, iOS | 休闲塔防,自动生成关卡 |
| Roguelike | Geometry Survival Beta | Android | 几何生存 Roguelike |
| 模拟 | Random Race | Android, iOS | 恐龙竞速决策模拟 |
技术栈
核心引擎
- Flame Engine:基于 Flutter 构建的极简主义 2D 游戏引擎,采用模块化设计,开发者可以按需引入组件
- Flutter:底层跨平台框架,使得 Flame 游戏可以运行在 Android、iOS、Web、macOS、Linux、Windows 等多平台
生态工具
- Forge2D:Flame 的物理引擎模块,基于 Box2D 提供 2D 物理模拟能力
- TexturePacker:精灵表打包工具,用于优化游戏素材的加载效率
- bonfire:RPG 游戏专用扩展包
- leap:平台跳跃游戏专用工具包
关键技术特性
Flame 引擎的核心技术特性包括:
- Flame Component System (FCM):组件化架构,支持灵活的游戏对象组合
- Camera & World 组件:相机系统和世界坐标系管理
- Sprite 与精灵动画:精灵加载与帧动画支持
- 碰撞检测:内置碰撞检测系统
- 粒子系统:高性能粒子效果
- 音频系统:音效与背景音乐播放
- Overlay 与 Decorator:UI 叠加层与装饰器模式
安装指南
引擎安装
在 Flutter 项目中添加 Flame 引擎依赖:
flutter create my_game
cd my_game
flutter pub add flame根据需要添加可选模块:
# 物理引擎
flutter pub add flame_forge2d
# 音频支持
flutter pub add flame_audio
# 其他可选模块...克隆 awesome-flame 资源库
git clone https://github.com/flame-engine/awesome-flame.git快速开始
学习路径建议
对于想要学习 Flame 游戏开发的开发者,建议按以下路径进行:
- 入门阶段:阅读 raywenderlich.com 的入门教程,了解 Flame 的基本概念和组件系统
- 基础实践:跟随 DevKage 的 Simple Platformer 或 Dino Run 教程,完成第一个完整游戏
- 进阶学习:学习 imaNNeo 的 Color Switch 教程系列,掌握碰撞检测、粒子系统、音频等进阶功能
- 物理引擎:通过 YayoCode 的 Forge2D 系列教程学习物理模拟
- 实战参考:研究 awesome-flame 中收录的开源项目源码,学习实际项目的架构设计
从模板开始
开发者可以直接从 awesome-flame 中挑选感兴趣的开源游戏项目,克隆源码后进行学习和修改,这是最快的上手方式。
使用示例
游戏类型参考
awesome-flame 中收录的游戏覆盖了极其广泛的类型,开发者可以根据自己想要开发的游戏类型找到对应的参考项目:
- 想做休闲游戏:参考 Antimine(扫雷)、Bob Box、Wormo 等项目
- 想做平台跳跃:参考 leap 工具包和 Simple Platformer、BGUG 等项目
- 想做 RPG:参考 bonfire 工具包和 Darkness Dungeon、Xeonjia、The Darkblade 等项目
- 想做塔防:参考 Xtrike 和 Bubble Panic! 项目
- 想做解谜游戏:参考 Bumble Maze、Pixelado、Jigsaw Puzzles 等项目
- 想做多人在线游戏:参考 Penguin Chat 和 Grid Lands 项目,以及 Tyler Shukert 的实时多人对战教程
- 想做教育类游戏:参考 Sky Academy、Mathonaut、Japanese Fun J64 等项目
资源工具
awesome-flame 还提供了实用的游戏开发资源:
- Game UI Database:游戏界面设计参考工具,收录了超过 500 款游戏的 19000+ 界面截图,可按屏幕类型、材质、布局、纹理等维度筛选,是游戏 UI 设计的宝贵参考资料
项目链接
- GitHub 仓库:https://github.com/flame-engine/awesome-flame
- Flame 引擎官网:https://flame-engine.org
- Flame 引擎 GitHub:https://github.com/flame-engine/flame
- 贡献指南:项目欢迎社区贡献,阅读 contribution guidelines 即可参与