miles990/claude-software-skills

flame-game-dev

Flame Engine 2D 遊戲開發完整指南 - 核心、系統、模板、部署

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/miles990/claude-software-skills --skill flame-game-dev

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Flame Engine 2D Game Development

Flame Engine 遊戲開發完整指南,包含核心基礎、14 個遊戲系統、3 種遊戲類型模板。

Sub-Skills Index

SkillDescriptionReference Count
flame-core引擎核心基礎10 references
flame-systems14 個遊戲系統14 references
flame-templates遊戲類型模板3 references

Quick Navigation

flame-core (核心基礎)

components.md   - 組件生命週期、類型
input.md        - 觸控、鍵盤、搖桿
collision.md    - 碰撞檢測、Hitbox
camera.md       - 相機、HUD、視口
animation.md    - 精靈動畫、Effects
scenes.md       - RouterComponent、Overlays、UI
audio.md        - 音效、背景音樂
particles.md    - 粒子系統、特效
performance.md  - 效能優化、最佳實踐
debug.md        - 除錯模式、日誌

flame-systems (遊戲系統)

quest.md        - 任務系統         achievement.md - 成就系統
dialogue.md     - 對話系統         shop.md        - 商店系統
localization.md - 多語言系統       crafting.md    - 製作系統
inventory.md    - 背包系統         procedural.md  - 程序生成
paperdoll.md    - 紙娃娃系統       multiplayer.md - 多人連線
combat.md       - 戰鬥系統         leveleditor.md - 關卡編輯器
skills.md       - 技能系統
saveload.md     - 存檔系統

flame-templates (遊戲模板)

rpg.md          - 回合制/動作 RPG
platformer.md   - 橫向卷軸平台遊戲
roguelike.md    - 程序生成地下城

AI Usage Guide

# 基礎問題
需要了解 Flame?      → 先讀 flame-core/SKILL.md
需要特定功能?        → 根據 flame-core 索引讀取對應 reference

# 系統實作
需要任務/對話系統?   → 讀 flame-systems/references/quest.md 或 dialogue.md
需要戰鬥系統?        → 讀 flame-systems/references/combat.md + skills.md
需要存檔功能?        → 讀 flame-systems/references/saveload.md
需要多人連線?        → 讀 flame-systems/references/multiplayer.md

# 完整遊戲
要做 RPG?           → 讀 flame-templates/references/rpg.md
要做平台遊戲?       → 讀 flame-templates/references/platformer.md
要做 Roguelike?     → 讀 flame-templates/references/roguelike.md

# 部署發布
要發布遊戲?         → 參考下方「部署平台」章節

適用場景

根據 Filip Hráček 的 Benchmark 測試,Flame 與其他引擎比較:

Flame 優勢

項目FlameUnity/Godot
啟動時間最快較慢
包體大小較小較大
學習曲線Flutter 開發者友善需學習新工具
跨平台一套代碼 6 平台需平台適配
熱重載支援部分支援

Flame 限制

項目FlameUnity/Godot
最大實體數~數百個數千個
3D 支援無完整
物理引擎基礎 (Forge2D)完整
編輯器無視覺化編輯器完整 IDE

推薦使用 Flame

  • ✅ 休閒遊戲:卡牌、解謎、益智、問答
  • ✅ Hyper-casual:簡單機制、快速遊玩
  • ✅ 故事驅動:視覺小說、互動故事
  • ✅ 2D 平台遊戲:橫向卷軸、Metroidvania
  • ✅ 回合制遊戲:戰棋、RPG、桌遊
  • ✅ Flutter App 內嵌遊戲:小遊戲、互動元素

不推薦使用 Flame

  • ❌ 大量實體:彈幕、RTS、大規模戰鬥
  • ❌ 3D 遊戲:任何需要 3D 渲染的遊戲
  • ❌ 物理密集:複雜物理模擬、賽車
  • ❌ AAA 級遊戲:高畫質、複雜特效

Quick Start

bash
flutter create my_game && cd my_game
flutter pub add flame
flutter pub add flame_audio       # 選用
flutter pub add flame_tiled       # 選用
dart
import 'package:flame/game.dart';
import 'package:flutter/material.dart';

void main() => runApp(GameWidget(game: MyGame()));

class MyGame extends FlameGame with HasCollisionDetection {
  @override
  Future<void> onLoad() async {
    camera.viewfinder.anchor = Anchor.topLeft;
    // 開始建構你的遊戲!
  }
}

部署平台

Flame 基於 Flutter,支援多平台部署:

平台發布管道指令
iOSApp Storeflutter build ios --release
AndroidGoogle Playflutter build apk --release
Webitch.io / GitHub Pagesflutter build web --release
macOSApp Store / 獨立flutter build macos --release
WindowsSteam / 獨立flutter build windows --release
LinuxSteam / 獨立flutter build linux --release

發布到 itch.io (Web)

bash
# 1. 建置 Web 版本
flutter build web --release --web-renderer canvaskit

# 2. 上傳 build/web 資料夾到 itch.io

# 3. itch.io 設置
#    - Kind of project: HTML
#    - Embed options: Click to launch in fullscreen

發布到 Google Play (Android)

bash
# 1. 建立 keystore
keytool -genkey -v -keystore ~/my-game.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-game

# 2. 設定 android/key.properties
storePassword=<password>
keyPassword=<password>
keyAlias=my-game
storeFile=/Users/you/my-game.jks

# 3. 建置 App Bundle
flutter build appbundle --release

# 4. 上傳 build/app/outputs/bundle/release/app-release.aab

發布到 Steam (Desktop)

bash
# 1. 建置 Desktop 版本
flutter build windows --release  # 或 macos / linux

# 2. 使用 Steamworks SDK 打包
#    - 設定 app_build.vdf
#    - 上傳到 Steam Partner

# 3. 建議加入 Steam 成就整合
#    flutter pub add steamworks

Dependency Graph

flame/ (本索引)
    │
    ├── flame-core (核心基礎)
    │   └── 10 reference files
    │
    ├── flame-systems (遊戲系統)
    │   └── 14 reference files
    │
    └── flame-templates (遊戲模板)
        └── 3 reference files

Best Practices

  1. 按需載入 - 只讀取需要的 reference,節省 token
  2. 核心優先 - 先熟悉 flame-core,再擴展系統
  3. 模板參考 - 用模板作為起點,按需添加系統
  4. 模組化 - 每個系統獨立,可組合使用

Version History

  • v2.2.0 - 新增適用場景、Benchmark 數據
  • v2.1.0 - 新增 Audio、Particles、Performance、部署指南
  • v2.0.0 - 重構為模組化架構
  • v1.0.0 - 初始版本