Our take
- Activity
- 88
- Community
- 88
- Issues
- 76
- Pull requests
- 65
+2 stars in the last 8 days
- Merges more pull requests than 95% of the projects we track
- Releases more often than 91% of the projects we track
- More contributors than 77% of the projects we track
Overview
Flame is a game engine built on Flutter and Dart. It fills in common game-development needs that Flutter applications do not provide as a focused engine, including a game loop, a component/object system, input handling, and collision detection.
It is intended for developers making games in the Flutter ecosystem. Core functionality can be extended with official packages for integrations such as audio, physics, tile maps, and animation formats. The project provides documentation, browser-based examples, and tutorials to help evaluate its approach.
Key Features
- Game loop for updating and rendering game state.
- Component/object system for organizing game entities.
- Effects, particles, images, animations, sprites, and sprite sheets.
- Collision detection and gesture or input handling.
- Utility functions for common game-development tasks.
- Bridge packages for integrations including audio, Forge2D physics, gamepads, and tile maps.
- Official testing helpers and lint rules are available as companion packages.
Use Cases
- Flutter developers building a 2D game who need a game loop and reusable game components.
- Small game teams that want sprites, animations, effects, and collision handling within a Dart-based workflow.
- Developers prototyping touch- or gesture-driven games that fit naturally into Flutter applications.
- Projects needing an integration such as audio, physics, or tile maps, where an official Flame bridge package is available.
Getting Started
Install the flame package from pub.dev and follow the documentation for setup and examples. The README links to tutorials, browser examples, and the API reference.
Alternatives
- Bevy: Bevy is a Rust engine for 2D and 3D games, while Flame is a Dart game engine built on Flutter.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| flame | Dart | MIT | 10.8k | Not checked yet |
| bevy | Rust | Apache-2.0 | 48.6k | Active |
Considerations
- Flame builds on Flutter, so it is most relevant when your project is already using, or is willing to use, the Flutter and Dart ecosystem.
- The README describes common game-engine features and integrations, but does not establish that Flame is a general-purpose 3D engine. Its 3D extension is explicitly described as experimental.
- Bridge packages are separate integrations. Check their documentation and compatibility for the specific services or formats your game needs.
- The repository's main-branch documentation may be newer than the released documentation, so check the version selector when following guides.
Found this useful?
Share it with someone who would like flame.