Flame Behaviors applies separation of concerns to game logic in the form of Entities and Behaviors.
Developed with 💙 and 🔥 by Very Good Ventures 🦄
Flame Behaviors was created to make it easier to create scalable, testable games with a well-defined structure. It applies the separation of concerns to the game logic, in the form of Entities and Behaviors.
Imagine you want to build an old school Pong game. At its very core there are two objects: a paddle and a ball. If you have a look at the paddle, you could say its game logic is: move up and move down. The ball has the simple game logic of: on collision with a paddle reverse the movement direction.
These objects, paddles and balls, are what we call entities and the game logics we just described are their behaviors. By applying these behaviors to each individual entity we get the core gameplay loop of Pong: hitting balls with our paddles until we win.
By defining what kind of entities our game has and describing what type of behaviors they may hold, we can easily turn a gameplay idea into a structured game that is both testable and scalable.
View the full documentation here.
Package | Pub |
---|---|
flame_behaviors | |
flame_steering_behaviors |
In order to use Flame Behaviors you must have the Flame package added to your project.
# 📦 Add the flame_behaviors package from pub.dev to your project
flutter pub add flame_behaviors
Use Flame Behaviors to define your game entities and how they behave. Or follow the Introduction to Flame Behaviors article to learn how to use the package!