2017年6月26日 星期一

Good Emscripten Porting

最近試了一下Emscripten將good編譯成web版本,也就是透過Emscripten使用LLVM技術將C/C++編譯成javascript,這樣就可以在browser上執行了。


一開始先不管圖形顯式的話,移植都還算很順利,可以在下方看到接上trace log之後表示功能移植完成。接下來使用OpenGL版本的繪圖模組來作成像移植,不過這部份不是很順利,只有色塊可以正常顯示,圖形就都無法正常顯示出來。可能是我的OpenGL版本的繪圖模組太老舊了,Emscripten沒辨法100%相容支援,最後沒辨法只好將OpenGL版本的繪圖模組換成SDL版本的繪圖模組,因為SDL是Emscripten預設內建支援的成像引擎,結果圖形就能正常顯示了,只不過缺點是SDL版本的繪圖模組功能很陽春,很多像是縮放旋轉等功能沒實作,因為是使用SDL1。

不過還有個問題,預設參數編譯出來的js檔有10M,太大了。但如果加上-O2之類的最佳化編譯選項後,結果會造成無法執行(或者是載入太久?)。如果改成使用wasm編譯參數就可以配會-O1以上最佳化參數,編譯出來的檔案再加上使用Closure Compiler去除空白字元等,大小就會小於5M。



底下是測試連結。

Test

這個測試連結同時也以php簡單的實作了上傳及表列good檔案,以及執行選取的good檔案。這個版本目前只支援執行單一good檔案,還不能使用外部good資源包。


2017年6月18日 星期日

Good Game Editor 1.6.2

* 修正播放器(In Editor Player)顯示貼圖資訊的問題。
* 修正關卡編輯器物件樹點擊關卡物件程式當掉的問題。
* 新增Good.GenObjEx支援從外部資源包(External Good Package)生成物件。


Related Posts Plugin for WordPress, Blogger...