Lua游戏编程

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/框架中的每一个都有各自的优缺点。 在它们之间进行适当的选择可以让工作更轻松,并且可以更好地利用它。 因此,在使用它之前,需要了解游戏的要求,然后分析哪些能满足需求,然后才能决定使用哪一个。