Skip to main content

休閒遊戲工具包

了解如何使用 Flutter 進行免費且開源的多平台 2D 遊戲開發。

Flutter 休閒遊戲工具包(Casual Games Toolkit)整合了全新與現有的資源, 協助你加速在行動平台上開發遊戲。

本頁將說明你可以在哪裡找到這些可用資源。

為什麼選擇 Flutter 開發遊戲?

#

Flutter 框架能為六大目標平台打造高效能應用程式, 涵蓋桌面、行動裝置與網頁。

憑藉 Flutter 跨平台開發、高效能與開源授權的優勢,非常適合用於遊戲開發。

休閒遊戲大致可分為兩類:回合制遊戲(turn-based games) 與即時遊戲(real-time games)。 你可能對這兩種類型的遊戲都不陌生, 只是過去未曾以這種方式思考過。

回合制遊戲 指的是面向大眾市場、規則與玩法簡單的遊戲。 這類遊戲包含桌遊、紙牌遊戲、益智遊戲與策略遊戲。 這些遊戲通常只需簡單的使用者輸入, 例如點擊卡牌或輸入數字、字母。 這類遊戲非常適合用 Flutter 開發。

即時遊戲 則是指一連串動作需即時反應的遊戲。 例如無盡奔跑(endless runner)、賽車等遊戲。 你可能想打造具備進階功能的遊戲,例如碰撞偵測、 攝影機視角、遊戲主迴圈等。 這類遊戲可以考慮使用基於 Flutter 打造的開源遊戲引擎 Flame 遊戲引擎

工具包內容

#

休閒遊戲工具包提供以下免費資源:

  • 一個儲存庫,內含三個遊戲範本,作為開發休閒遊戲的起點。

    1. 一個 基礎遊戲範本, 內容包含:

      • 主選單
      • 導覽
      • 設定
      • 關卡選擇
      • 玩家進度
      • 遊戲場次管理
      • 音效
      • 主題
    2. 一個 紙牌遊戲範本, 包含基礎範本的所有內容,並額外提供:

      • 拖放功能
      • 遊戲狀態管理
      • 多人遊戲整合介面
    3. 一個與開源遊戲引擎 Flame 合作開發的 無盡奔跑範本。其實作內容包括:

      • FlameGame 基礎範本
      • 玩家操控
      • 碰撞偵測
      • 視差效果
      • 物件生成
      • 多種視覺特效
    4. 一款基於無盡奔跑範本開發的範例遊戲 ——SuperDash。你可以在 iOS、Android 或 網頁 上遊玩, 瀏覽其開源程式碼儲存庫,或 閱讀該遊戲如何於 6 週內完成開發

  • 整合所需服務的開發者指南。

  • Flame Discord 頻道連結。 若你已有 Discord 帳號,可使用此 直接連結

這些遊戲範本與 Cookbook 範例已做出特定選擇以加速開發。 它們包含了如 providergoogle_mobile_adsin_app_purchaseaudioplayerscrashlyticsgames_services 等套件。 若你偏好其他套件,也可自行修改程式碼替換。

Flutter 團隊了解未來你可能會考慮遊戲變現, 因此已新增廣告與應用程式內購(in-app purchases)的 Cookbook 範例。

Games 頁面所述, 當你將 Google 服務(如 Cloud、FirebaseAds)整合進遊戲時, 可享有高達 $900 美元的優惠。

開始使用

#

準備好了嗎?開始步驟如下:

  1. 若尚未安裝,請先安裝 Flutter

  2. 複製(clone)遊戲儲存庫

  3. 檢視你想建立的第一種遊戲類型的 README 檔案。

  4. 加入 Flame 社群 Discord 頻道 (若你已有 Discord 帳號,請使用 直接連結)。

  5. 閱讀 Codelab 與 Cookbook 範例。

  6. 視需求註冊 AdMob、Firebase 與 Cloud 帳戶。

  7. 開始撰寫你的遊戲!

  8. 發佈到 Google Play 與 Apple Store。

範例遊戲

#

在 Google I/O 2022,Flutter 團隊 與 Very Good Ventures(VGV)都創作了新遊戲。

其他資源

#

當你已熟悉這些遊戲範本後, 可探索社群推薦的其他資源。

功能 資源
動畫與精靈

book_5 特效
handyman Spriter Pro
package_2 rive
package_2 spritewidget

應用程式評分

package_2 app_review

音訊

package_2 audioplayers
package_2 flutter_soloud

驗證

science 使用 Firebase 進行用戶驗證

雲端服務

science 將 Firebase 加入你的 Flutter 遊戲

除錯

quick_reference_all Firebase Crashlytics 概覽
package_2 firebase_crashlytics

驅動程式

package_2 win32_gamepad

遊戲資源
與資源工具

photo_album CraftPix
photo_album Game Developer Studio
handyman GIMP

遊戲引擎

package_2 Flame
package_2 Bonfire
package_2 forge2d

遊戲功能

book_5 為你的遊戲加入成就與排行榜
book_5 為你的遊戲加入多人連線支援

遊戲服務整合

package_2 games_services

關卡編輯器

handyman Tiled

變現

book_5 為你的 Flutter 遊戲加入廣告
science 為 Flutter 應用程式加入 AdMob 廣告
science 為你的 Flutter 應用程式加入應用程式內購
science 遊戲 UX 與應用程式收益優化(PDF)

資料持久化

package_2 shared_preferences
package_2 sqflite
package_2 cbl_flutter(Couchbase Lite)

特效

api Paint API
book_5 特效

使用者體驗

quick_reference_all 優化 Flutter 網頁載入速度的最佳實踐

其他資源

#

請參考以下影片: