簡介
LGame是一款國人開發的Java遊戲引擎,有Android及PC(J2SE)兩個開發版本(測試版添加了C#開發版本)。其底 層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版採用Graphics2D封裝,Android版採用Canvas模擬實現),所以能夠將J2SE或J2ME開發經驗直接套用其中,兩版本 間主要代碼能夠相互移植。Android版內置有Admob接口,可以不必配置XML直接硬編碼Admob廣告信息。該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內置有Ioc、xml、http等常用Java組件的封裝,代價是jar體積較為龐大,PC版 已突破1.2MB,Android版有所簡化也在500KB左右。此外,該引擎還內置有按照1:1實現的J2ME精靈類及相關組件,可以將絕大多數 J2ME遊戲平移到Android或PC版中。
特點
同時也是一個高通用性的遊戲框架,作為支持Java桌面遊戲以及網頁遊戲開發的全功能引擎,LGame無論對畫面繪製、精靈碰撞、特效渲染、窗體組件,還是XML操作,文本資料庫操作,HTTP操作,日誌操作等都提供有完善的內部解決方案,避免了多包配置的繁瑣與不便,同時也降低了用戶的學習曲線。出於效率與程式體積兩方面考慮,LGame中所有組件皆不依賴Swing,完全採取AWT繪製而成,因此它可以將自身的運行環境壓縮到最小,一個壓縮後不足4MB的精簡JRE,已足夠支持它的運行,也就是與RMXP或吉里吉里2的運行庫大小相仿佛,但功能卻更多。
正式版本為0.3.2。測試版本最新版本為0.3.3(120826)。
LGame內置有視頻解碼器,支持mp4視頻檔案播放(在LGame-Simple-0.3.0中將支持flv,在0.6-0.7版本中將以可選組件方式 引入jmc支持,以爭取可播放視頻種類的最大化),內置音頻解碼器支持mid、mod、mp3、ogg、wav、au、aiff、aac、rmf等音頻播 放,以上解碼器皆不依賴於本地資源,只要擁有jre1.4或以上環境即可正常運行。
理論上講,只要您能夠熟練操作LGame,世界上根本沒有任何一款2D遊戲是您所無法快速實現的。
LGame尚未推出正式版本,LGame-Simple為前瞻性測試及吸收反饋意見用,此時LGame框架的基本架構尚未最終確定,因此無法保 證不同版本間的兼容性。LGame-Simple以每版+0.5的方式跳躍式升級,當LGame-Simple更新到1.0版本時,既推出LGame- 0.1的正式版本,並開放SVN,LGame正式版推出後將始終保持新版與舊版間的兼容性。
更新
1、LGame-0.3.2版延續0.3.1,使用OpenGL作為遊戲渲染核心,早前的AWT與Canvas實現版本現已更名為LSE與LAE(延續0.3)。
2、LGame-0.3.2版極大擴展了LGame核心包功能,新增工具、特效、精靈、接口以數百計(具體細節正在完善文檔中,此處不再詳述)。
3、LGame-0.3.2版在核心包基礎上,新增了STG開發模組,作為遊戲框架的額外補充(默認支持(可以基本用腳本完成)的遊戲類型已含STG、SRPG、AVG,預計0.3.3提供RTS支持)。
4、LGame-0.3.2版的C#(WP7)版已經構建完畢,不久後也將發布。
PS:LSE和LAE包是針對LGame在0.3.1改版前舊版框架的延續,相對0.3.1及0.3.2版使用的OpenGL渲染方式而言,它們繼續採用JavaSE環境所提供的AWT(特指LSE版)以及Android環境所提供的Canvas(特指LAE版)作為遊戲繪圖核心,並且僅在LGame的Java版中出現,其它語法環境下無對應版本提供(比如很快會發布的C#(WP7)版)。
LSE與LAE包與標準LGame包的主要差別有如下幾點:
1.標準LGame自0.3.2起徹底重構了原有的geom包,已經不再附帶OpenJDK中的geom包,但LSE與LAE版繼續使用該包。
2.標準LGame使用GLEx類作為引擎的最基本渲染器,允許使用JavaSE、JavaME的常用繪圖API,以及OpenGL、OpenGLES的常用繪圖API,而LSE與LAE包僅模擬有JavaSE、JavaME的Graphics類常用接口(這意味著完全不支持OpenGL)。
3.標準LGame包由於使用OpenGL編程,在不同螢幕手機中進行縮放時,可以較為有效的減少甚至消除畫面失真,而LSE與LAE包則難以避免這種現象的產生(特別是大畫面的遊戲,在較小螢幕的手機上運行時)。
4.LSE與LAE版基本不受硬體環境限制,在大多數微機或手機中都能產生較為一致的刷新速度(當然,這並不意味著沒有浮動,而是指不會出現某些機器上跑幾幀,某些機器上跑數十、數百幀的極端情況),而LGame標準版的速度則受到硬體條件制約,對於某些不支持OpenGL硬體渲染的環境而言(比如ADT模擬器以及部分低端真機),它的速度甚至不如LSE與LAE版。因此從某種情況上講,LSE與LAE版的兼容性要超過標準LGame。
5.標準LGame包已經不再支持JavaME遊戲組件的模擬,並刪除了相關類。而在LSE與LAE版中,相關類依舊被保留了下來。
6.LSE與LAE版的主體結構雖與標準LGame一致,但輔助類明顯較LGame標準版本為少(缺少幾乎全部工具類以及很多特效類),而各類中提供的API也沒有標準版完整。