/flame

A minimalist Flutter game engine

Primary LanguageDartMIT LicenseMIT

flame

A Flutter-based game engine.

Test


English | 简体中文 | Polski | Русский | Español


Documentation

The full documentation for Flame can be found on docs.flame-engine.org.

To change the version of the documentation, use the version selector noted with version: in the top of the page.

Note: The documentation that resides in the main branch is newer than the released documentation on the docs website.

Other useful links:

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, so 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.

Currently Flame provides the following features:

  • A game loop.
  • A component/object system (FCS).
  • Effects and particles.
  • Collision detection.
  • Gesture and input support.
  • Images, animations, sprites and sprite sheets.
  • Other 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 Flame components, helpers and bindings to other packages, in order to make integrations seamless. Currently, we have bridge libraries to the following packages:

Sponsors

The Flame Engine's top sponsors:

Cypher Stack

Want to sponsor Flame? Check our Patreon on the section below, or contact us on Discord.

Support

The simplest way to show us your support is by giving the project a star.

You can also support us by becoming a patron on Patreon:

Patreon

Or by making a single donation by buying us a coffee:

Buy Me A Coffee

You can also show on your repository that your game is made with Flame by using one of the following badges:

Powered by Flame Powered by Flame Powered by Flame

[![Powered by Flame](https://img.shields.io/badge/Powered%20by-%F0%9F%94%A5-orange.svg)](https://flame-engine.org)
[![Powered by Flame](https://img.shields.io/badge/Powered%20by-%F0%9F%94%A5-orange.svg?style=flat-square)](https://flame-engine.org)
[![Powered by Flame](https://img.shields.io/badge/Powered%20by-%F0%9F%94%A5-orange.svg?style=for-the-badge)](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.

Getting started

A simple tutorial to get started can be found on tutorials.flame-engine.org and examples of most features in Flame can be found on examples.flame-engine.org. To access the code for each example, press the < > button in the top right corner.

Highlighted community tutorials

We offer a curated list of Games, Libraries and Articles over at awesome-flame.

Note that some of the articles might be slightly outdated, but can still be useful.

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 in the community.