Mini-Moba
Showcase用原生 C++ 從零打造的單機 MOBA,刻意把模擬邏輯與渲染徹底分離,為日後多人連線預留架構。
專案概述
以 C++17 + raylib 開發的簡化版 LoL 風格 MOBA 學習專案,單機可玩一整局:選英雄、三線地圖補兵打野、買裝升級、推塔破主堡分勝負。核心設計是把純模擬邏輯(實體階層、固定時間步長、戰鬥)放進不依賴 raylib 與網路的 shared 靜態庫,client 只負責渲染/輸入/音效/資產,讓同一份邏輯日後能直接搬到權威伺服器重用。
關鍵亮點
- 邏輯與渲染分離:模擬放在不碰 raylib、不碰網路的 shared 庫,邏輯只寫一次,為多人連線預留可重用的伺服器邏輯。
- 物件導向實體階層(Entity → Hero/Minion/Tower/Nexus/NeutralMonster/Projectile)+ 固定時間步長,模擬具決定性、便於日後搬上伺服器。
- 附 headless 戰鬥單元測試,不需 raylib 即可驗證 shared 模擬邏輯。
技術棧
C++raylibCMakevcpkg
挑戰與取捨
vcpkg 的 raylib 6.0 在開發機上 EndDrawing 失效導致白畫面,因此改用 CMake FetchContent 固定 raylib 5.5,其餘相依仍走 vcpkg。Lua 腳本層與 ENet 連線屬規劃中的後期階段,尚未實作。