// the find
flame-engine/flame
A Flutter based game engine.
Flame is a game engine built on top of Flutter, giving you a component system, game loop, collision detection, and sprite handling while staying inside the Flutter widget tree. It targets developers who want to ship 2D games to mobile, web, and desktop through Flutter without dropping down to native engines. It's a Flutter-first choice, not a Flutter-last resort.
The bridge package ecosystem is genuinely well-thought-out — Forge2D for physics, Tiled for tilemaps, Rive for animations, Bloc for state management, all with official Flame wrappers that handle the integration boilerplate. The Flame Component System (FCS) gives you a clean tree-based entity model with lifecycle hooks that maps naturally to Flutter's own widget lifecycle, so the mental model transfer is low. Documentation is unusually thorough for a game engine of this size — versioned docs, browser-runnable examples, and full tutorials including a complete card game walkthrough. Active maintenance is evident: last push two days ago, 1000+ forks, and a real community on Discord.
Flutter's rendering pipeline was not designed for games, and it shows at the edges — you're fighting the framework any time you need fine-grained control over the render loop, GPU memory, or shader performance. 3D support (flame_3d) is listed in the docs but is clearly experimental and not something you'd ship with. The engine is 2D only in any practical sense. Collision detection is AABB and circle-based with Forge2D available for more, but spatial partitioning (quadtrees, broad-phase) is not built in, so large numbers of objects will require you to roll your own. If Flutter drops a platform or breaks a rendering API, Flame inherits the breakage with no recourse — the dependency on Flutter internals is a ceiling you'll hit if you push the engine hard.