Skip to content

An implementation of the behavioral composition pattern for Flame. Built by Very Good Ventures πŸ¦„

License

Notifications You must be signed in to change notification settings

VeryGoodOpenSource/flame_behaviors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

64 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Flame Behaviors

ci coverage pub package style: very good analysis License: MIT Powered by Flame

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.


Documentation πŸ“

View the full documentation here.

Packages πŸ“¦

Package Pub
flame_behaviors pub package
flame_steering_behaviors pub package

Quick Start πŸš€

Installing πŸ§‘β€πŸ’»

In order to use Flame Behaviors you must have the Flame package added to your project.

Adding the Package

# πŸ“¦ Add the flame_behaviors package from pub.dev to your project
flutter pub add flame_behaviors

Creating Entities and 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!