
Flame
A game engine for building 2D games with Flutter and Dart.
- Stars
- 10.8k
- Forks
- 1.1k
- Licence
- MIT
- Language
- Dart
- Last update
- 4 days ago
- Type
- Library
What it is
Flame is a game engine built on Flutter, the Google UI toolkit, and written in Dart. It provides common game building blocks such as a game loop, a component system, collision detection, input handling, sprites and animations, and effects. It is meant for developers who want to make games using Flutter instead of a dedicated game engine.
- Build a 2D arcade or platformer game with sprites and collision detection
- Add a mini-game inside an existing Flutter app
- Load tile maps made in Tiled through the flame_tiled bridge package
- Add physics using the flame_forge2d bridge package
- Try feature examples in the browser before writing code
Great for
- Flutter developers who want to add a game to an app
- Developers making 2D games in Dart
- Learners exploring game loops and component systems with a familiar language
- Teams that want optional bridge packages for physics, tile maps, or animation tools
Not ideal for
- People who need a full visual editor, since the README describes a code-first engine and does not mention one
- Teams building large 3D games, because the README calls the 3D package experimental
- Non-programmers, since it requires writing Dart code
How to get it
- 1
Install with a package manager
You'll need: Flutter SDK · Dart
Add Flame to a Flutter project
git clone https://github.com/flame-engine/flame - 2
Run it
- Install the Flutter SDK and set up a Flutter project.
- Add the flame package from pub.dev to your project dependencies.
- Open the examples site at examples.flame-engine.org to see sample code.
- Follow the tutorials linked in the documentation to build a first game.
- 3
Get the most out of it
- Use the official bridge packages such as flame_tiled, flame_forge2d, or flame_rive to add ready-made features
- Use flame_console for an in-game debugging console
- Use flame_test to write tests for your game
- Use flame_lint to apply the project's lint rules
- Browse awesome-flame for tutorials, games, and libraries
Downloads
Strengths
- Official bridge packages connect it to many tools, including Tiled, Rive, Spine, and Box2D physics
- Documentation, a browser-based examples site, and tutorials are linked from the README
- Active project with a large community on Discord and a recent push date
Trade-offs
- Tied to the Flutter ecosystem, so it is not a good choice if you do not want to use Flutter or Dart
- The README notes that main-branch docs can be newer than the published docs site, so version mismatches are possible
- The 3D package is labeled experimental
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| flame (this) | 10.8k | Library | intermediate | 4 days ago | Flutter developers who want to add a game to an app |
| godot | 119k | App | beginner | 6 days ago | Indie game developers who want a free engine with no royalties |
| phaser | 40.6k | Library | intermediate | 3 months ago | Developers who already know JavaScript or TypeScript and want to make 2D browser games |
| entt | 13.2k | Library | advanced | 4 days ago | C++ game developers who want an ECS |
| engine | 17.2k | Library | intermediate | 4 days ago | Web developers who want to add 3D scenes or games to a website |
| magictools | 17.7k | Curated list | beginner | 5 days ago | Indie game developers looking for sprites, textures, icons, or 3D models |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.