A simple 2D game engine for Go that targets desktop, mobile, WebAssembly and console platforms.
flame-engine/flame
A game engine built on Flutter, providing a game loop, component system, collision detection, effects and input handling for 2D games.
- Stars
- 10,791
- Forks
- 1,055
- Open issues
- 83
- Last commit
- yesterday
What is it?
Flame is a game engine for Flutter developers who want to build games with Flutter's widget and rendering stack. It supplies common game-development building blocks so developers don't have to write them from scratch, including a game loop, a component/object system, effects and particles, collision detection, gesture and input handling, and support for images, animations, sprites and sprite sheets.
Flame can be extended through a set of official bridge packages that connect it to other libraries. These cover areas such as physics (Forge2D), tile maps (Tiled), state management (Bloc, Riverpod), audio (AudioPlayers), Rive and Lottie animations, Spine skeletal animation, and gamepad input. Several additional official packages provide an in-game debug console, testing helpers, lint rules and a terminal CLI for inspecting running games.
Documentation, interactive examples and tutorials are hosted on the project's website, and the API reference is published on pub.dev.
Key features
- 01Built-in game loop and component/object system.
- 02Effects, particles, and collision detection.
- 03Gesture and input handling.
- 04Support for images, animations, sprites, and sprite sheets.
- 05Official bridge packages for physics, tile maps, audio, and state management.
Use cases
- Building 2D casual or arcade games with Flutter.
- Prototyping a game that reuses existing Flutter UI screens.
- Integrating Tiled maps, Spine or Rive animations into a Flutter game.
Topics
FAQ
- What is flame?
- A game engine built on Flutter, providing a game loop, component system, collision detection, effects and input handling for 2D games. Flame is a game engine for Flutter developers who want to build games with Flutter's widget and rendering stack. It supplies common game-development building blocks so developers don't have to write them from scratch, including a game loop, a component/object system, effects and particles, collision detection, gesture and input handling, and support for images, animations, sprites and sprite sheets.
- Is flame free to use? What license does it have?
- flame is open source under the MIT license. Check the license terms before using it in commercial products.
- Is flame still maintained?
- Actively maintained. The last commit to flame was on Oct 19, 2026.
- What can I use flame for?
- Building 2D casual or arcade games with Flutter. Prototyping a game that reuses existing Flutter UI screens. Integrating Tiled maps, Spine or Rive animations into a Flutter game.
- Where can I get flame?
- The source code and installation instructions are on GitHub: https://github.com/flame-engine/flame
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A simple 2D game engine for the D programming language, with built-in physics, animation, tilemaps and dialogue.
A retro game engine for Python that lets you make pixel-art games with a fixed palette and low-resolution screen.
A general-purpose tile map editor for building maps for tile-based games such as RPGs, platformers and Breakout clones.
A .NET framework for building cross-platform 2D and 3D games in C#, re-implementing Microsoft's discontinued XNA Framework.
Godot is a free, MIT-licensed, cross-platform game engine for building 2D and 3D games from one unified editor.