Esta página se muestra en inglés. Una traducción al español está en curso.
ConfigsMay 31, 2026·3 min de lectura

Flame Engine — Flutter-Based 2D Game Framework

Component-based game engine built on Flutter for building 2D games that run on mobile, web, and desktop from a single codebase.

Listo para agents

Instalación lista para agent

Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.

Native · 98/100Política: permitir
Superficie agent
Cualquier agent MCP/CLI
Tipo
Skill
Instalación
Single
Confianza
Confianza: Established
Entrada
Flame Engine
Comando de instalación directa
npx -y tokrepo@latest install 93ac196e-5d2f-11f1-9bc6-00163e2b0d79 --target codex

Ejecutar después de confirmar el plan con dry-run.

Introduction

Flame is a modular 2D game engine built on top of Flutter. It leverages Flutter's rendering pipeline and widget system so developers can build games using Dart with hot reload, then deploy to iOS, Android, web, Windows, macOS, and Linux from one codebase.

What Flame Engine Does

  • Provides a component-based game loop with lifecycle hooks (onLoad, update, render)
  • Includes sprite rendering, animations, parallax backgrounds, and particle systems
  • Offers collision detection with hitbox components and broadphase optimization
  • Integrates Forge2D (Box2D port) for rigid body physics simulation
  • Supports input handling for touch, keyboard, mouse, and gamepad

Architecture Overview

Flame runs inside a Flutter widget (GameWidget) that owns a Canvas. The game loop ticks at display refresh rate, calling update(dt) and render() on a tree of Component objects. Components form a scene graph with parent-child transforms. The engine delegates painting to Flutter's Skia-backed canvas, inheriting GPU acceleration on all platforms.

Self-Hosting & Configuration

  • Add the flame package to any Flutter project via pubspec.yaml
  • Optional packages: flame_audio, flame_forge2d, flame_tiled, flame_rive for extended functionality
  • Assets go in the assets/ directory; register them in pubspec.yaml as Flutter assets
  • Configure game resolution, camera viewport, and fixed-timestep via FlameGame properties
  • Debug mode overlays hitboxes and FPS counters when debugMode is set to true

Key Features

  • Hot reload support from Flutter carries over; tweak game logic without restarting
  • Camera and viewport system with follow, zoom, and world-to-screen coordinate mapping
  • Tiled map integration loads .tmx files directly as game worlds
  • Effects system for sequencing scale, opacity, color, and position transitions
  • Text rendering with bitmap fonts and Flutter's rich text engine

Comparison with Similar Tools

  • Unity 2D — industry standard but heavy and requires C#; Flame is Dart-native and lighter
  • Phaser — web-only JavaScript engine; Flame targets all platforms Flutter supports
  • Godot — full-featured standalone engine; Flame stays within the Flutter ecosystem
  • Cocos2d-x — mature C++ engine; Flame offers Dart ergonomics and Flutter widget mixing
  • melonJS — web-focused HTML5 engine; Flame has native mobile performance

FAQ

Q: Can I mix Flutter widgets with Flame game elements? A: Yes. Use overlays to render Flutter widgets on top of the game canvas for HUD, menus, or dialogs.

Q: Is Flame suitable for production mobile games? A: Yes. Multiple published games on iOS and Android use Flame, leveraging Flutter's 60fps rendering.

Q: Does Flame support multiplayer or networking? A: Not built-in, but you can integrate any Dart networking package (WebSocket, Firebase) alongside the game loop.

Q: How does performance compare to native engines? A: For 2D games with moderate entity counts, Flame performs well. For thousands of sprites, consider using SpriteBatch.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados