休閒遊戲工具包
了解如何使用 Flutter 進行免費且開源的多平台 2D 遊戲開發。
Flutter 休閒遊戲工具包(Casual Games Toolkit)整合了全新與現有的資源, 協助你加速在行動平台上開發遊戲。
本頁將說明你可以在哪裡找到這些可用資源。
為什麼選擇 Flutter 開發遊戲?
#Flutter 框架能為六大目標平台打造高效能應用程式, 涵蓋桌面、行動裝置與網頁。
憑藉 Flutter 跨平台開發、高效能與開源授權的優勢,非常適合用於遊戲開發。
休閒遊戲大致可分為兩類:回合制遊戲(turn-based games) 與即時遊戲(real-time games)。 你可能對這兩種類型的遊戲都不陌生, 只是過去未曾以這種方式思考過。
回合制遊戲 指的是面向大眾市場、規則與玩法簡單的遊戲。 這類遊戲包含桌遊、紙牌遊戲、益智遊戲與策略遊戲。 這些遊戲通常只需簡單的使用者輸入, 例如點擊卡牌或輸入數字、字母。 這類遊戲非常適合用 Flutter 開發。
即時遊戲 則是指一連串動作需即時反應的遊戲。 例如無盡奔跑(endless runner)、賽車等遊戲。 你可能想打造具備進階功能的遊戲,例如碰撞偵測、 攝影機視角、遊戲主迴圈等。 這類遊戲可以考慮使用基於 Flutter 打造的開源遊戲引擎 Flame 遊戲引擎。
工具包內容
#休閒遊戲工具包提供以下免費資源:
-
一個儲存庫,內含三個遊戲範本,作為開發休閒遊戲的起點。
一個 基礎遊戲範本, 內容包含:
- 主選單
- 導覽
- 設定
- 關卡選擇
- 玩家進度
- 遊戲場次管理
- 音效
- 主題
一個 紙牌遊戲範本, 包含基礎範本的所有內容,並額外提供:
- 拖放功能
- 遊戲狀態管理
- 多人遊戲整合介面
一個與開源遊戲引擎 Flame 合作開發的 無盡奔跑範本。其實作內容包括:
- FlameGame 基礎範本
- 玩家操控
- 碰撞偵測
- 視差效果
- 物件生成
- 多種視覺特效
一款基於無盡奔跑範本開發的範例遊戲 ——SuperDash。你可以在 iOS、Android 或 網頁 上遊玩, 瀏覽其開源程式碼儲存庫,或 閱讀該遊戲如何於 6 週內完成開發。
整合所需服務的開發者指南。
-
Flame Discord 頻道連結。 若你已有 Discord 帳號,可使用此 直接連結。
這些遊戲範本與 Cookbook 範例已做出特定選擇以加速開發。
它們包含了如 provider、google_mobile_ads、
in_app_purchase、audioplayers、crashlytics、games_services
等套件。
若你偏好其他套件,也可自行修改程式碼替換。
Flutter 團隊了解未來你可能會考慮遊戲變現, 因此已新增廣告與應用程式內購(in-app purchases)的 Cookbook 範例。
如 Games 頁面所述, 當你將 Google 服務(如 Cloud、Firebase 與 Ads)整合進遊戲時, 可享有高達 $900 美元的優惠。
開始使用
#準備好了嗎?開始步驟如下:
若尚未安裝,請先安裝 Flutter。
-
檢視你想建立的第一種遊戲類型的
README檔案。 -
加入 Flame 社群 Discord 頻道 (若你已有 Discord 帳號,請使用 直接連結)。
-
閱讀 Codelab 與 Cookbook 範例。
- 使用 Cloud Firestore 建立 多人遊戲。
- 使用 Flutter 建立 文字拼圖遊戲。
- 讓你的遊戲更有趣,加入 排行榜與成就。
- 透過 遊戲內廣告 與 應用程式內購 變現你的遊戲。
- 使用 Firebase Authentication 為遊戲加入用戶驗證流程。
- 透過 Firebase Crashlytics 收集遊戲內崩潰與錯誤的分析資料。
視需求註冊 AdMob、Firebase 與 Cloud 帳戶。
開始撰寫你的遊戲!
發佈到 Google Play 與 Apple Store。
範例遊戲
#在 Google I/O 2022,Flutter 團隊 與 Very Good Ventures(VGV)都創作了新遊戲。
-
VGV 使用 Flame 引擎開發了 I/O Pinball 遊戲。 想了解這款遊戲, 可參考 Medium 上的 I/O Pinball Powered by Flutter and Firebase 並直接在瀏覽器遊玩。
-
Flutter 團隊則開發了 I/O Flip,一款虛擬 CCG 遊戲。 想進一步了解 I/O Flip, 可參考 Google Developers Blog 上的 How It's Made: I/O FLIP adds a twist to a classic card game with generative AI 並直接在瀏覽器遊玩。
其他資源
#當你已熟悉這些遊戲範本後, 可探索社群推薦的其他資源。
| 功能 | 資源 |
|---|---|
| 動畫與精靈 | book_5 特效 |
| 應用程式評分 | package_2 app_review |
| 音訊 | package_2 audioplayers |
| 驗證 | science 使用 Firebase 進行用戶驗證 |
| 雲端服務 | science 將 Firebase 加入你的 Flutter 遊戲 |
| 除錯 | quick_reference_all Firebase Crashlytics 概覽 |
| 驅動程式 | package_2 win32_gamepad |
| 遊戲資源 與資源工具 |
photo_album CraftPix |
| 遊戲引擎 | |
| 遊戲功能 | book_5 為你的遊戲加入成就與排行榜 |
| 遊戲服務整合 | package_2 games_services |
| 關卡編輯器 | handyman Tiled |
| 變現 | book_5 為你的 Flutter 遊戲加入廣告 |
| 資料持久化 | package_2 shared_preferences |
| 特效 | |
| 使用者體驗 | quick_reference_all 優化 Flutter 網頁載入速度的最佳實踐 |
其他資源
#請參考以下影片:
- 使用 Flutter 打造多平台遊戲,在 2024 年 遊戲開發者大會(GDC) 上的演講。
- 如何使用 Flutter 與 Flame 的 Forge2D 打造物理遊戲, 來自 Google I/O 2024。
Unless stated otherwise, the documentation on this site reflects Flutter 3.44.0. Page last updated on 2026-06-14. View source or report an issue.