Lua游戏开发
Lua 游戏开发
Lua 语言因其结构和语法的简洁性而在各类游戏引擎中被广泛使用。游戏对图形画面要求非常苛刻,这无疑需消耗大量的内存空间,而这些内存空间的管理是非常棘手的问题。Lua 语言有自动的垃圾回收机制,这种自动化的内存管理机制也使得 Lua 受到游戏引擎开发者的青睐。著名的 Lua 游戏引擎主要包括:
- Cornoa SDK
- Gideros Mobile
- ShiVa3D
- Moai SDK
- LOVE
- CryEngine
上面每一个游戏引擎都是基于 Lua 的,并且每一个都提供了丰富的 API。我们下面看一下每一款游戏引擎的特点。
Corna SDK
这是一款支持 iPhone,iPad,Android 平台的移动设备游戏引擎。它提供了一个免费版本的 SDK, 不过该免费版本的功能也受到限制。你可以在需要的时候升级到其它版本。
Gorona SDK 提供了如下的特征:
- 物理与冲突处理接口
- Web 和网络接口
- 游戏网络接口
- 广告接口
- 数据分析接口
- 数据库和文件处理接口
- 加密和数学计算接口
- 音频和多媒体接口
相比于使用 iOS 或 Android 系统原生 API, 使用上面的接口可以让我们的开发效率更高。
Gideros Mobile
Gideros 提供 iOS 和 Android 跨平台的软件开发工具包(SDK)。它是一个免费的游戏引擎,其主要的优点包括:
- 集成开发环境:它提供一套集成开发环境,使用应用开发变得容易许多。
- 即时测试:在游戏开发过程中,通过 wifi 在 1 秒之内就可以在真实设备上测试应用。为开发者省去了导出和部署应用的时间。
- 插件:支持使用插件的方式扩展。导入的代码(C, C++, Java,Obje-C),Lua 可以直接解释执行。目前网络上已有了大量的开源插件可供使用。
- 面向对象编程:Gideros 提供了自己的类系统,支持 OOP 标准,开发可以开发干净的 OOP 代码。
- 原生速度:基于 C/C++ 和 openGL,应用可以以原生的运行,完全利用 CPU 和 GPU 的处理能力。
ShiVa3D
这一款 3D 的游戏引擎,它提供了图形化的编辑器,可以为 Web、终端、移动设备开发应用或游戏。它支持多个平台,包括:Windows,Mac,Linux,iOS,Android,BlackBerry,Palm OS,Wii,WebOS。
它主要的特点包括:
- 标准插件
- 网格修改接口
- 集成开发环境
- 内置 Terrain,Ocean 与 动画编辑器
- 支持 ODE 物理引擎
- 完全的光线映射控制
- 实时预览
- Collada 交换格式的支持
ShiVa3D 的 Web 版本是免费的,但其它的版本是收费版本。
Moai SDK
Moai SDK 是跨平台的移动游戏开发引擎,它支持 iPhone,iPad 以及 Android 系统。Moai 平台包括 Moai SDK,开源的引擎,以及 Moai 云。 Moai 云是一个 SaaS 平台,提供游戏部署的服务。不过,Moai 云平台已经关闭,现在只有游戏引擎是可用的。
LOVE
LOVE 是一个开源的 2D 游戏的开始框架,它支持 Windows,Mac OS X 以及 Linux 多个平台。
它主要提供以下的开发接口:
- 音频接口
- 文件系统接口
- 键盘和操纵杆接口
- 数据计算 API
- 窗口和鼠标接口
- 物理接口
- 系统和定时器接口
CryEngine
CryEngine 是由德国的游戏引擎开发商 Cryteck 开发的游戏引擎。到目前为止,它已由第一代引擎发展到了第四代,是一个高级的游戏开发解决方案。它目前支持 PC,Xbox 360,PlayStation3,以及 WiiU。
它主有以下的优点:
- 视觉效果就像自然光线,态柔和阴影,实时动态全局光照,光传输容量控制,颗粒底纹,镶嵌等。
- 角色动画系统与人物个性化系统。
- 参数骨骼动画和独特的专用人脸动画编辑器。
- 人工智能系统如多层导航网格战术角度系统。还提供了设计师友好的 AI 编辑系统。
- 游戏混合及分析,数据驱动的音响系统的动态声音和互动音乐等。
结束语
每个款游戏引擎都有着自己的优势以及不足之处。正确的选择游戏引擎会让你的开发变得容易和有趣得多。所以,在选择之前,请先仔细斟酌你的需求,分析哪一款游戏引擎真正的适合你,然后再决定使用它。