釐清目標
「想熟悉流程」是關鍵。建議**先做完一個極小專案 (Pong / Flappy Bird / 2D Platformer)**,再決定是否深入引擎底層。
引擎選擇對照表
| 引擎 | 語言 | 適合類型 | 學習曲線 | 推薦理由 |
| Cocos2d-x | C++ | 2D 手遊、跨平台 | 中等 | 原始碼開放、效能高、C++ 開發者首選、社群教學豐富 |
| Unity | C# | 2D/3D、全平台 | 低 | 編輯器強大、Asset Store 豐富、就業機會最多、但核心用 C# |
| Unreal Engine | C++ / Blueprint | 3D 高畫質、AAA | 高 | 渲染頂尖、視覺化腳本、C++ 進階者適合 |
| Godot | GDScript / C# | 2D/3D、輕量 | 低 | 完全開源、無版稅、節點系統直覺、適合獨立開發 |
| SDL2 / Raylib | C / C++ | 從零打造、教學用 | 高 | 無編輯器、需自寫一切、最能理解「遊戲迴圈」本質 |
推薦學習路徑 (C/C++ 背景)
- Week 1-2:遊戲核心迴圈 — 用 Raylib 或 SDL2 寫出「初始化 → 迴圈(輸入/更新/渲染) → 釋放」最小框架。參考《Handmade Hero》前 10 集。
- Week 3-4:2D 基礎機制 — 精靈動畫、碰撞偵測 (AABB)、場景管理、音訊。完成 Pong → Breakout → Flappy Bird 三部曲。
- Week 5-8:進入引擎 — 選 **Cocos2d-x** 或 **Godot (C# 模式)** 重寫上述專案,學習節點樹、動作系統、粒子、物理引擎 (Box2D/Chipmunk)。
- Week 9+:完整專案 — 設計一個小型 RPG 或 Roguelike,包含:資料驅動 (JSON/ScriptableObject)、存檔、UI 架構 (MVP/MVVM)、發布打包 (Android/iOS/Win)。
必讀書籍與線上資源
- 《Game Programming Patterns》— Robert Nystrom (免費網頁版) — 設計模式在遊戲中的實戰。
- 《Real-Time Collision Detection》— Christer Ericson — 碰撞偵測聖經。
- 《Cocos2d-x 遊戲開發入門》— 任玉剛 (中文,適合快速上手)。
- 官方教學:Cocos2d-x Docs / Godot Docs / Unity Learn。
- GitHub 關鍵字搜尋:
cocos2dx tutorial, raylib examples, godot 2d platformer。
避坑指南
- ❌ 一開始就研究渲染管線、ECS 架構、多執行緒 Job System → ✅ 先跑起來、再優化。
- ❌ 同時學 Unity + Unreal + Cocos → ✅ **鎖定一個引擎做完 3 個小專案**。
- ❌ 只看教學不打字 → ✅ **每行程式碼親手敲**,遇到紅字自己除錯。
總結
以 **Raylib/SDL2 理解核心迴圈** 為起點,**Cocos2d-x 或 Godot 實作完整 2D 專案** 為里程碑,過程中同步補齊《Game Programming Patterns》設計模式與數學 (向量/矩陣/四元數) 基礎,即可建立扎實的遊戲開發工程師基礎。