Orientação gerada a partir de informações públicas. Apenas para referência.
Bonfire é um pacote Flutter/Dart projetado para simplificar a criação de jogos do estilo RPG usando o Flame, um motor de jogos para Flutter. Ele fornece abstrações de alto nível para mecânicas comuns de RPG, como movimentação de personagens, combate, sistemas de diálogos e gerenciamento de mapas. Feito pensando em desenvolvedores, o Bonfire reduz o código boilerplate e acelera a prototipagem ao oferecer componentes prontos para uso, como tilemaps, NPCs e controladores de jogador. Ideal para desenvolvedores independentes e entusiastas que desejam criar RPGs 2D em turnos ou em tempo real com configuração mínima.
Casos de uso
Desenvolvendo jogos de RPG 2D
Criando sistemas de combate turn-based ou em tempo real
Construindo jogos interativos com narrativa
Prototipagem rápida de mecânicas de jogo
Implementando mundos baseados em tilemap
Principais recursos
Construído sobre o engine de jogo Flame
Componentes de RPG pré-definidos (NPCs, jogadores, mapas)
Suporte a sistemas de diálogos e missões
Integração fácil com o rendering e física do Flame
Suporte de implantação multiplataforma
Indicado para
desenvolvedores de jogos independentes
entusiastas de RPG
Desenvolvedores Flutter iniciantes em desenvolvimento de jogos
Prototipadores em busca de iteração rápida
Aqueles que constroem jogos 2D de rolagem lateral ou mapas de azulejos
Considerações
Requer familiaridade com Flame
Limitado a tipos de jogo 2D
Mais adequado para RPGs, não para outros gêneros
Pode exigir personalização adicional para mecanismos complexos
Depende da estabilidade e atualizações do Flame
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Bonfire
Build RPG-style games (and beyond) with the power of FlameEngine! 🎮
🕹️ Input — Joystick, keyboard and mouse controls with 8-direction movement.
⚔️ Combat — melee and ranged attacks, projectiles, damage feedback and life bars.
🧠 Behaviors & AI — behavior trees (BSelector, BParallel, BOnce), pathfinding, random movement, sensors and vision.
🎨 Effects & polish — particles, lighting, shaders, camera effects, parallax, color filters and force physics.
🖥️ Game interface — life bars, dialogs, text effects, minimap and HUD components.
📱 Multi-platform — mobile, desktop and web with Flame.
🎮 Bonfire 4.0 — what's new
Version 4.0 is a major restructuring of the API surface, focused on developer experience when building complex game components.
In previous versions each mixin added methods and fields directly to the component. With several mixins (Movement, Jumper, Sensor, PathFinding, Pushable, RandomMovement...), the component namespace became crowded and autocomplete less useful.
Starting with 4.0, mixins follow a consistent WithFeature + feature.{resource} pattern:
Simplified, velocity-based Movement — the only mixin that keeps its direct access style, but was rewritten: direction/hDirection/vDirection now reflect the current velocity, stop()/idle() replace the old stop helpers and legacy members (lastDirection, stopMove, setZeroVelocity, moveFromAngle, *Once, acceleration...) were removed.
Event-driven collision — WithCollision exposes collision.onBlockMovementListener(...) and a bodyType API instead of the old BlockMovementCollision overrides.
Direction animations — SimplePlayer/SimpleEnemy drive their 8-direction sprite animations (SimpleDirectionAnimation) from direction automatically.
Behavior trees — brand-new behavior system (BSelector, BParallel, BOnce) with debugging support.
Better intervals — IntervalTick replaces the old InternalChecker/checkInterval.
Bug fixes & correctness — exact diagonal normalization (sqrt(2)/2), forces default to no drag, no double damage on FlyingAttackGameObject, modern Color API (withValues).
Upgraded to Flame^1.38.0, with example/ and awesome/ updated to the new APIs and analyzed by CI.
Migrating from Bonfire 3.x? Read the Migration Guide from 3.x to 4.0 — it has the full breaking-change tables. Every pre-release change is also listed in the CHANGELOG.
🚀 Getting started
Add Bonfire to your pubspec.yaml:
dependencies:bonfire:^4.0.0
Then create your first map + character and run it inside a BonfireWidget. The quickest way to see everything working is to open the bundled example app — a complete, runnable project with maps, players, enemies, attacks, life bars and interface.
Run it:
cd example
flutter pub get
flutter run
Bonfire is ideal for building games from the following perspectives: