相比於市面上其他的著名游戲引擎,例如Unity,cocos2dx,Unreal,Medusa游戲引擎目前還非常的簡陋,目前實現的功能還集中在2D部分,3D的雖然已經預留的接口空間,但因為引擎相對定位於移動平台,而移動平台目前一大部分還是2D,所以3D部分目前還只是個框架。因為我自己的游戲是2D的,所以3D的部分也只是理論上架構了,但也還沒有着手實現,但渲染顯示3D模型倒是早就可以了。一般業內常用的defered shading框架還沒有實現。
目前開源的版本應該說是0.1比較合適,主要是開源出來供學習討論使用,並不推薦自己用來開發商業游戲。雖然我自己是用它來開發自己的游戲,一邊做自己的游戲,一邊升級引擎。預計在我自己的游戲的IOS和Android版本都上線之后,發布引擎的1.0版本。游戲引擎若是沒有相關的編輯器和完善的工作流,那頂多也只能算是個玩具,無奈編輯器的開發工作量實在太大,所以目前也只是預留了編輯器的接口。我自己開發獨立游戲,用的都是一些第3方的編輯器來使用。后續有精力了,也可以由本引擎自舉做一些編輯器。各位目前可以更加關注引擎的本身。另外也因為我自己在eat dogfood的原因,所以引擎可能也會更着力在接口和功能都盡量簡便。
支持的平台
- Win32
- IOS
- Android(在移植中)
已經實現的功能主要有(其他太基礎的功能就不一一列舉了):
- 2D自動渲染排序批次
- 自動相對UI布局,支持數據綁定,可以根據設備分辨率自動調整布局適配
- 行為Actions
- Spine骨骼動畫支持
- Tield Map瓦片地圖
- BMF,TTF字體和排版
- 音頻引擎,Ogg
- "Lua"腳本綁定支持
- mpack資源打包格式,支持diff,merge,defrag,支持壓縮加密,支持多packge按優先級讀取
- FileId(Name-Order)平台自動檢測統一資源管理
- 自定義的數據序列化協議(Siren),用C#語言本身做描述語言,直接運行C#項目生成極小C++解析代碼,支持嵌入式生成
- MedusaCore 游戲無關的C++庫,提供一些很有用方便的C++輪子,例如string format,C# like delegate and event
首先要感謝cocos2dx引擎,在我開始做移動平台游戲的時候(幾年前),最開始用的就是cocos2dx,因為開源,所以可以快速的通過源碼學習一些相應的技術。Medusa引擎的一些部分組件的靈感都來源於cocos2dx,例如Actions部分,Scene和layer的管理。但每次做游戲發現都需要對cocos2dx做一番升級改造,而且都得做一些擴展來跟自己的研發工作流工具匹配。同時,自己也在學習圖形渲染,游戲引擎等游戲開發的相關部分,所以就萌生了自己寫一款游戲引擎的想法,一邊重復造一些輪子來學習,一邊實驗各種架構和效果,漸漸的到今日,發現可以發布0.1版本了,因為已經可以跑在Win32和IOS平台上了。雖然肯定還有許多坑和bug,但早開源出來回饋,也能早發現修復,也能得到更多的指點。
另外unity,unreal,gkEngine,KlayGE等引擎都讓我受益良多,他們都是非常游戲的游戲引擎,是我學習的對象。
有想一起討論可以:
fjz13@live.cn
QQ群:273882050
也可以直接在github提issue