Package selection guidance compiled from public package information, community data, and project usage.
Flame Behaviors is a Flutter/Dart package that promotes clean game architecture by separating game logic into reusable, modular components called Behaviors. It enables developers to attach behaviors to entities, allowing for flexible and maintainable game development. Originally created by Very Good Ventures, it integrates seamlessly with the Flame game engine, supporting multiple platforms including Android, iOS, Web, macOS, Windows, and Linux. This approach enhances code reusability and simplifies complex interactions within games.
Use cases
Modular game component design
Reusing logic across entities
Separating concerns in game systems
Building scalable game architectures
Managing entity interactions
Creating dynamic gameplay mechanics
Key features
Attach behaviors to entities
Supports composition over inheritance
Encourages reusable logic
Integrates with Flame engine
Platform-agnostic
Clean separation of concerns
Suitable for
Game developers using Flame engine
Teams prioritizing maintainable code
Projects requiring modular game logic
Developers building complex interactive systems
Those adopting clean architecture patterns
Considerations
Requires familiarity with Flame engine
Best used in larger projects
May add complexity for simple games
Dependent on proper behavior lifecycle management
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
API Reference - The generated dartdoc API
reference.
awesome-flame - A curated list of Tutorials,
Games, Libraries and Articles.
Help
There is a Flame community on Blue Fire's Discord server where you
can ask any of your Flame related questions.
If you are more comfortable with StackOverflow, you can also create a question there. Add the
Flame tag, to make sure that anyone following
the tag can help out.
Features
The goal of the Flame Engine is to provide a complete set of out-of-the-way solutions for common
problems that games developed with Flutter might share.
Some of the key features provided are:
A game loop.
A component/object system (FCS).
Effects and particles.
Collision detection.
Gesture and input handling.
Images, animations, sprites, and sprite sheets.
General utilities to make development easier.
On top of those features, you can augment Flame with bridge packages. Through these libraries,
you will be able to access bindings to other packages, including custom Flame components and
helpers, in order to make integrations seamless.
Flame officially provides bridge libraries to the following packages:
Do you or your company want to sponsor Flame?
Check out our OpenCollective page, which is also mentioned
in the section below, or contact us on Discord.
Support
The simplest way to show us your support is by giving the project a star! :star:
You can also support us monetarily by donating through OpenCollective:
Through GitHub Sponsors:
Or by becoming a patron on Patreon:
You can also show on your repository that your game is made with Flame by using one of the following
badges:
[](https://flame-engine.org)
[](https://flame-engine.org)
[](https://flame-engine.org)
Contributing
Have you found a bug or have a suggestion of how to enhance Flame? Open an issue and we will take a
look at it as soon as possible.
Do you want to contribute with a PR? PRs are always welcome, just make sure to create it from the
correct branch (main) and follow the checklist which will
appear when you open the PR.
For bigger changes, or if in doubt, make sure to talk about your contribution to the team. Either
via an issue, GitHub discussion, or reach out to the team either using the
Discord server.
Credits
The Blue Fire team, who are continuously
working on maintaining and improving Flame and its ecosystem.
All the friendly contributors and people who are helping out in the community.