Lua遊戲程式設計


Lua由於其簡單的語言結構和語法,它廣泛地用於遊戲引擎開發中。 垃圾收集功能通常在由於使用豐富的圖形而消耗大量記憶體的遊戲中非常有用。 一些使用Lua的遊戲引擎包括 -

  • Corona SDK
  • Gideros Mobile
  • ShiVa3D
  • Moai SDK
  • LOVE
  • CryEngine

這些遊戲引擎中的每一個都基於Lua,並且每個引擎中都有一組豐富的API。 接下來將簡要介紹每種引擎功能。

1. Corona SDK

Corona SDK是一款支援iPhone,iPad和Android平台的跨平台移動遊戲引擎。 有一個免費版本的Corona SDK,可用於功能有限的小遊戲。可以在需要時升級到其他版本。

Corona SDK提供了許多功能,包括以下功能 -

  • 物理和碰撞處理API
  • Web和網路API
  • 遊戲網路API
  • 廣告API
  • 分析API
  • 資料庫和檔案系統API
  • 加密和數學API
  • 音訊和媒體API

使用上述API開發應用程式比使用iOS和Android單獨使用本機API更容易,更快捷。

2. Gideros Mobile

Gideros提供跨平台SDK來為iOS和Android建立遊戲,可以免費使用Gideros。 Gideoros的一些顯著優勢包括 -

  • 開發IDE - 它提供了自己的IDE,可以更輕鬆地開發Gideros應用程式。
  • 即時測試 - 在開發遊戲時,只需1秒即可通過Wifi在真實裝置上進行測試。無需在匯出或部署過程中浪費時間。
  • 外掛 - 使用外掛輕鬆擴充套件核心。 匯入現有的(C,C++,Java或Obj-C)程式碼,係結到Lua並直接解釋它們。已經開發了許多開源外掛並且可以隨時使用。
  • 乾淨OOP方法 - Gideros提供自己的類系統,包含所有基本的OOP標準,使您能夠為未來的任何遊戲編寫乾淨且可重複使用的程式碼。
  • 原生速度 - 基於C/C++和OpenGL開發,遊戲以原生速度執行,並充分利用下面的CPU和GPU的強大功能。

3. ShiVa3D

ShiVa3D是3D遊戲引擎之一,它提供了一個圖形編輯器,旨在為Web,控制台和移動裝置建立應用程式和視訊遊戲。 它支援多種平台,包括Windows,Mac,Linux,iOS,Android,BlackBerry,Palm OS,Wii和WebOS。

一些主要功能包括 -

  • 標準外掛
  • 網格修改API
  • IDE
  • 內建地形,海洋和動畫編輯器
  • ODE物理引擎支援
  • 完整的光照貼圖控制元件
  • 實時預覽材料,粒子,軌跡和HUD
  • Collada交換格式支援

Shiva3d的網路版是完全免費的,其他版本可能需要收費。

4. Moai SDK

Moai SDK是一款支援iPhone,iPad和Android平台的跨平台移動遊戲引擎。 Moai平台最初由Moai SDK(一種開源遊戲引擎)和Moai Cloud(一種用於託管和部署遊戲服務的服務的雲平台)組成。 現在Moai Cloud已關閉,只有遊戲引擎可用。

Moai SDK可在多種平台上執行,包括iOS,Android,Chrome,Windows,Mac和Linux。

5. LOVE

LOVE是一個可用於製作2D遊戲的框架,它是免費和開源的。 它支援Windows,Mac OS X和Linux平台。

它提供了多種功能,包括:

  • 音訊API
  • 檔案系統API
  • 鍵盤和操縱桿API
  • 數學API
  • 視窗和滑鼠API
  • 物理API
  • 系統和計時器API

6. CryEngine

CryEngine是由德國遊戲開發商Crytek開發的遊戲引擎。 它已從第1代發展到第4代,是一種先進的開發解決方案。 它支援PC,Xbox 360,PlayStation3和WiiU遊戲。

它提供了多種功能,包括:

  • 視覺效果,如自然光和動態軟陰影,實時動態全域性照明,光傳播體積,粒子著色,曲面細分等。
  • 人物動畫系統與人物個性化系統。
  • 引數化動畫和獨特的專用面部動畫編輯器。
  • AI系統,如多層導航網格和戰術點系統。 還提供設計師友好的AI編輯系統。
  • 在遊戲混合和分析,資料驅動的聲音系統動態聲音和互動式音樂等。
  • 物理特徵如程式變形和高階繩索物理。

這些遊戲SDK/框架中的每一個都有各自的優缺點。 在它們之間進行適當的選擇可以讓工作更輕鬆,並且可以更好地利用它。 因此,在使用它之前,需要了解遊戲的要求,然後分析哪些能滿足需求,然後才能決定使用哪一個。