← Back to catalog
Cover image for LightGame

LightGame

# LightGame + GameCore 用 WPF 打造的輕量遊戲啟動器(LightGame)與底層 2D 遊戲引擎(GameCore)。 把編譯好的遊戲 DLL 丟進 `Games\` 資料夾,開啟 LightGame 就會自動出現在選單上——不用改任何啟動器程式碼。 ## 這是什麼 **LightGame** 是一個外掛式遊戲啟動器(launcher / hub)。它本身不含任何遊戲內容, 只負責:掃描 `Games\` 資料夾裡的遊戲 DLL、把每款遊戲畫成選單上的一個按鈕、 點下去就開一個獨立視窗把遊戲跑起來。 **GameCore** 是驅動這些遊戲的底層引擎,提供主迴圈、關卡系統、碰撞、動畫、音訊、 存檔等一整套 2D 遊戲開發所需的基礎建設。LightGame 本身、以及所有掛載在它之下的遊戲, 都共用同一份 GameCore。 兩者都是 .NET Framework 4.7.2 + WPF 開發,純 C#。 ## LightGame(啟動器)特色 - **外掛式架構**:遊戲以 DLL 形式存在,執行期用反射載入;新增遊戲不需要重新編譯啟動器。 - **輕量插件契約**:一款遊戲只要提供一個 `Info` 型別(選單縮圖 `GetInfo()`、視窗圖示 `GetIcon()`) 和一個接受 `CoinManager` 的進入點,就能被自動辨識、顯示、啟動——包含視窗圖示都會跟著各自的 DLL走, 不用在啟動器裡為每款遊戲寫特例。 - **代幣錢包系統**:內建 `CoinManager`,用圖片隱寫術把代幣資料藏在 PNG 裡,跨遊戲共用同一個錢包。 - **內建音樂播放器**:獨立於任何一款遊戲之外,掃描 `Music\` 資料夾自動列出可播放清單。 - **開箱即用的資料夾管理**:`Games` / `Music` / `Wallet` / `Illegal` 等執行期需要的資料夾, 啟動器一開就會自動檢查並建立,不需要手動準備。 ## GameCore(引擎)特色 - **雙軌物件模型**:完整遊戲物件(掛主迴圈、可碰撞、可池化)與純資料物件 (大量、輕量、由 Controller 統一繪製,例如彈幕子彈)兩種模式並存,依需求選用。 - **明確的執行緒紀律**:動畫更新(邏輯)與渲染(套到 WPF UI)分屬不同執行緒, 介面上清楚切開 `OnUpdate` / `OnRender`,避免典型的 WPF 跨執行緒踩雷。 - **關卡與流程系統**:關卡容器(物件清單、碰撞、物件池、協程)、 資料驅動的關卡腳本(XML,含配樂 / 音效步驟)、以及用堆疊管理場景(標題 / 選單 / 遊玩 / 暫停 / 結算)的流程控制。 - **組合式介面設計**:大量單一職責小介面(位置、碰撞、觸發、更新……)取代繼承階層, 遊戲物件靠「實作哪些介面」決定自己有什麼行為。 - **完整音訊子系統**:背景音樂(含開場+循環段、交叉淡入淡出、預載)、音效聲音池、 獨立單曲播放器,全部基於 WPF `MediaPlayer`。 - **隱寫式存檔**:把存檔資料編碼、藏進 PNG 圖片裡,存檔本身就是一張可以顯示的截圖。 - **開發輔助**:美術資源熱重載(Debug 組態自動啟用)、除錯疊層、可重用的補間 / 緩動、 相機 rig 與畫面震動、通用冷卻計時器等,減少每個新功能都要手刻同一套邏輯的情況。 ## 技術棧 - C# / .NET Framework 4.7.2 - WPF(純 UI 框架,無額外遊戲引擎相依) - 舊式 csproj + MSBuild(整個 solution 一起 build) ## 致謝 由阿Light 獨立開發。 AI助手 Claude Sonnet5

阿Light View creator →
ItchDB signals
Not rated yet
Not rated yet
0 comments

Comments over time

Cumulative · 30d
0 30d ago today
Cumulative comments

Screenshots

1 / 2
Screenshot 1 for LightGame
Screenshot 2 for LightGame