Skip to content

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
Step-by-step guide: how to use FlameInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
flame (this)10.8kLibraryintermediate4 days agoFlutter developers who want to add a game to an app
godot119kAppbeginner7 days agoIndie game developers who want a free engine with no royalties
phaser40.6kLibraryintermediate3 months agoDevelopers who already know JavaScript or TypeScript and want to make 2D browser games
entt13.2kLibraryadvanced4 days agoC++ game developers who want an ECS
engine17.2kLibraryintermediate4 days agoWeb developers who want to add 3D scenes or games to a website
magictools17.7kCurated listbeginner5 days agoIndie 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.