Lua - 游戏编程
Lua 因其简单的语言结构和语法而在许多游戏引擎中使用。垃圾回收特性在那些因使用丰富的图形而消耗大量内存的游戏中非常有用。一些使用 Lua 的游戏引擎包括 −
- Corona SDK
- Gideros Mobile
- ShiVa3D
- Moai SDK
- LOVE
- CryEngine
这些游戏引擎均基于 Lua,每个引擎都提供了丰富的 API 集。我们将简要介绍它们各自的功能。
Corona SDK
Corona SDK 是一个跨平台移动游戏引擎,支持 iPhone、iPad 和 Android 平台。它有一个免费版本,可用于功能有限的小型游戏。需要时可以升级到其他版本。
Corona SDK 提供了多项功能,包括以下内容 −
- Physics and Collision handling APIs
- Web and Network APIs
- Game Network API
- Ads API
- Analytics API
- Database and File System APIs
- Crypto and Math APIs
- Audio and Media APIs
使用上述 API 开发应用比为 iOS 和 Android 分别使用原生 API 更容易、更快捷。
Gideros Mobile
Gideros 提供了跨平台 SDK,用于为 iOS 和 Android 创建游戏。它免费使用,但带有 Gideros 启动画面。Gideros 的显著优势包括以下内容 −
Development IDE − 它提供了自己的 IDE,便于开发 Gideros 应用。
Instant testing − 在开发游戏时,可以通过 WiFi 在真实设备上仅用 1 秒进行测试。您无需浪费时间进行导出或部署过程。
Plugins − 您可以轻松使用插件扩展核心功能。导入现有的 (C、C++、Java 或 Obj-C) 代码,将其绑定到 Lua 并直接解释执行。已经有数十个开源插件开发完成并可供使用。
Clean OOP approach − Gideros 提供了自己的 class 系统,支持所有基本的 OOP 标准,让您能够为未来的任何游戏编写干净、可重用的代码。
Native speed − 基于 C/C++ 和 OpenGL 开发,您的游戏以原生速度运行,并充分利用底层 CPU 和 GPU 的性能。
ShiVa3D
ShiVa3D 是 3D 游戏引擎之一,它提供了一个图形编辑器,用于为 Web、游戏机和移动设备创建应用和视频游戏。它支持多种平台,包括 Windows、Mac、Linux、iOS、Android、BlackBerry、Palm OS、Wii 和 WebOS。
一些主要功能包括
- Standard plugins
- Mesh modification API
- IDE
- Built-in Terrain, Ocean and animation editor
- ODE physics engine support
- Full lightmap control
- Live preview for materials, particles, trails and HUDs
- Collada exchange format support
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 平台。
它提供了多项功能,包括
- Audio API
- File System API
- Keyboard and Joystick APIs
- Math API
- Window and Mouse APIs
- Physics API
- System and timer APIs
CryEngine
CryEngine 是由德国游戏开发商 Crytek 开发的游戏引擎。它已从第一代演进到第四代,是一种先进的开发解决方案。它支持 PC、Xbox 360、PlayStation 3 和 Wii U 游戏。
它提供了多项功能,包括:
视觉效果,如自然光照与动态柔和阴影、实时动态全局光照、光传播体积、粒子着色、曲面细分等。
角色动画系统和角色个性化系统。
参数化骨骼动画以及专用的面部动画编辑器
AI 系统,如多层导航网格和战术点系统。还提供设计师友好的 AI 编辑系统。
游戏内混音与分析、数据驱动的声音系统、动态声音与互动音乐等。
物理功能,如程序化变形和高级绳索物理。
结束语
这些游戏 SDK/框架各有优缺点。在它们之间做出正确选择会让你的任务更轻松,并让你在使用时获得更好的体验。因此,在使用之前,你需要了解自己游戏的需求,然后分析哪个最能满足所有需求,再选择使用。