Bonfire는 Flame이라는 Flutter용 게임 엔진을 사용하여 RPG 스타일의 게임 제작을 간소화하기 위해 설계된 Flutter/Dart 패키지입니다. 캐릭터 이동, 전투, 대화 시스템, 맵 관리와 같은 일반적인 RPG 메커니즘에 대한 고수준 추상화를 제공합니다. 개발자를 위한 설계로, 타일맵, NPC, 플레이어 컨트롤러와 같은 즉시 사용 가능한 컴포넌트를 제공함으로써 반복 코드를 줄이고 프로토타이핑 속도를 높입니다. 최소한의 설정으로 2D 턴제 또는 실시간 RPG를 만들고자 하는 인디 개발자 및 애호가에게 이상적입니다.
사용 사례
2D RPG 게임 개발
턴 기반 또는 실시간 전투 시스템 만들기
상호작용 중심의 스토리 기반 게임 만들기
빠르게 게임 메커니즘 프로토타이핑하기
타일맵 기반 세계 구현
주요 기능
Flame 게임 엔진 위에 구축됨
사전 정의된 RPG 구성 요소 (NPC, 플레이어, 지도)
대화 및 퀘스트 시스템 지원
Flame의 렌더링 및 물리와의 간편한 통합
크로스 플랫폼 배포 지원
적합한 대상
인디 게임 개발자
RPG 애호가
게임 개발 초보자인 플러터 개발자
빠른 반복을 원하는 프로토타이퍼
2D 측면 스크롤 또는 타일맵 게임을 제작하는 사람들
고려 사항
Flame에 익숙해야 합니다
2D 게임 유형으로 제한
RPG에 가장 적합하지만 다른 장르에는 적합하지 않음
복잡한 메커니즘을 위해 추가 맞춤 설정이 필요할 수 있습니다
플레임의 안정성과 업데이트에 의존
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
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: