Lua进阶教程(六)游戏编程
hudson 译 原文
Lua由于其简单的语言结构和语法,被广泛应用于许多游戏引擎中。垃圾回收功能在消耗大量内存的游戏中尤其有用,因为这些游戏通常使用丰富的图形。一些使用Lua的游戏引擎包括:
- Corona SDK
- Gideros Mobile
- ShiVa3D
- Moai SDK
- LOVE
- CryEngine
每个游戏引擎都基于Lua,并且在每个引擎中都有丰富的API可用。我们将简要介绍每个引擎的功能。
Corona SDK
Corona SDK是一个跨平台移动游戏引擎,支持iPhone、iPad和Android平台。有一个免费版本的Corona SDK,可用于具有有限功能的小型游戏。可以根据需要升级到其他版本。
Corona SDK提供了许多功能,包括以下内容:
- 物理和碰撞处理API
- Web和网络API
- 游戏网络API
- 广告API
- 分析API
- 数据库和文件系统API
- 加密和数学API
- 音频和媒体APIs
和单独使用iOS和Android的原生API相比, Corona SDK非常容易上手,快速地开发游戏应用程。
Gideros 移动框架
Gideros提供跨平台的SDK,用于为iOS和Android创建游戏。可以免费使用,带有Gideros标志。Gideoros的一些显着优点包括:
- 开发IDE:提供自己的IDE,使开发Gideros应用程序更容易。
- 即时测试:在开发游戏时,可以通过Wifi在1秒钟内在真实设备上进行测试。无需浪费时间进行导出或部署。
- 插件:可以轻松通过插件扩展核心。导入现有的(C、C++、Java或Obj-C)代码,绑定到Lua并直接解释它们。已经开发了数十个开源插件,并且可以立即使用。
- 干净的面向对象编程方法:Gideros提供自己的类系统,具有所有基本的面向对象编程标准,能够为将来的任何游戏编写清晰且可重用的代码。
- 本地速度:基于C/C++和OpenGL开发,游戏以本机速度运行,并充分利用了CPU和GPU的能力。
ShiVa3D
ShiVa3D是一个3D游戏引擎之一,提供了一个图形编辑器,用于创建Web、控制台和移动设备的应用程序和视频游戏。它支持多个平台,包括Windows、Mac、Linux、iOS、Android、BlackBerry、Palm OS、Wii和WebOS。
一些主要功能包括:
- 标准插件
- 网格修改API
- IDE
- 内置的地形、海洋和动画编辑器
- ODE物理引擎支持
- 完整的光照控制
- 材料、粒子、路径和HUD的实时预览
- Collada交换格式支持
Shiva3d的Web版是完全免费的,其他版本需要订阅。
Moai SDK
Moai SDK是一个跨平台的移动游戏引擎,支持iPhone、iPad和Android平台。Moai平台最初由Moai SDK(开源游戏引擎)和Moai Cloud(游戏服务托管和部署的云平台)组成。现在Moai Cloud已关闭,只剩下游戏引擎。
Moai SDK在iOS、Android、Chrome、Windows、Mac和Linux等多个平台上运行。
LOVE
LOVE是一个可以用来制作2D游戏的框架。它是免费且开源的。支持Windows、Mac OS X和Linux平台。
它提供的功能包括:
- 音频API
- 文件系统API
- 键盘和游戏手柄API
- 数学API
- 窗口和鼠标API
- 物理API
- 系统和计时器API
CryEngine
CryEngine是由德国游戏开发商Crytek开发的游戏引擎。它从第1代演变到第4代,是一种先进的开发解决方案。支持PC、Xbox 360、PlayStation 3和WiiU游戏。
它的特性包括:
- 自然光照和动态软阴影、实时动态全局光照、光传播体积、粒子着色、细分等视觉效果。
- 角色动画系统和角色个性化系统。
- 参数化骨骼动画和独特的专用面部动画编辑器。
- AI系统,如多层导航网格和战术点系统。还提供友好的AI编辑系统。
- 游戏中的混音和分析、数据驱动的声音系统、动态声音和交互式音乐等。
- 物理特性,如过程变形和高级绳物理。
结束语
这些游戏SDK/框架都各有优势和劣势。正确选择它们可以使开发工作变得更容易。使用前,首先需要了解游戏的需求,然后进行分析权衡, 选择合适框架。