Goluwa是一種遊戲引擎,框架,用Luajit撰寫的FFI編寫的實用程序和實驗集。
Goluwa分為4個目錄。 core > framework > engine > game 。向後走,每個目錄取決於先前的目錄,因此,如果刪除了引擎目錄,則遊戲目錄將不會加載。
Shell and PowerShell腳本僅下載並啟動使用core/lua/boot.lua的luajit | .exe
負責下載其他二進製文件,更新Goluwa並啟動Goluwa。它主要是LUA,但其某些輔助功能使用Shell和PowerShell。
包含對任何外部共享庫的明確依賴性的準排骨框架。但是,要使用SSL libressl。
利用SDL,OpenGL,OpenAl等的基本框架,但沒有實施任何內容。它的渲染器既不是2D或3D,遊戲數學庫,高級插座庫,2D渲染庫,等等。
該引擎包含3D渲染器,源引擎資產兼容性,蒸汽集成,Zerobrane集成,網絡,實體,GUI,標記語言等。
遊戲文件夾包含在Goluwa中實現的Löve2D,Garrysmod Lua在Goluwa中實現的諸如Löve2D,ChatSounds,Chatbox,Chatbox,Soceboard,Player Moviess等。
在Luajit中編寫所有代碼時,我使用一些第三部分C庫。我的目標是僅用FFI而不是C ++編寫Luajit中的膠水代碼。
core並不嚴格取決於任何https請求的libressl。
framework取決於某些以媒體為中心的庫,例如Assimp,Libarchive,SDL等。
假設安裝了docker ,您可以運行此構建的所有內容:
./goluwa build " * "然後,構建的二進製文件將復製到*/bin/linux_x64/.文件夾。
但是我還沒有找到一種在Windows和Mac上構建這些的好方法。從理論上講,您可以使用過去有效的預製二進製文件。
儘管我想支持OSX和Windows,但由於缺乏窗口和OSX機器,它們變得較低。我嘗試在VM中測試Goluwa並問朋友,但這與我所能做的一樣多。
在盧阿吉特(Luajit)寫的所有內容也遇到了一些挑戰。我嘗試編寫JIT可編譯的代碼,尤其是在密集的領域,但如果不借用我試圖避免的醜陋代碼,這並不總是那麼容易。