Lua - 游戏编程



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
  • 音频和媒体 API

使用上述 API 开发应用程序比分别为 iOS 和 Android 使用原生 API 更简单快捷。

Gideros Mobile

Gideros 提供跨平台 SDK,用于创建 iOS 和 Android 游戏。它是免费使用的,带有 Gideros 制作的启动画面。Gideros 的一些显著优势包括:

  • 开发 IDE - 它提供自己的 IDE,使开发 Gideros 应用程序更容易。

  • 即时测试 - 在开发游戏时,只需 1 秒钟即可通过 Wifi 在真实设备上进行测试。您无需浪费时间进行导出或部署过程。

  • 插件 - 您可以轻松地使用插件扩展核心功能。导入您现有的 (C、C++、Java 或 Obj-C) 代码,绑定到 Lua 并直接解释它们。已经有数十个开源插件可供使用。

  • 简洁的 OOP 方法 - Gideros 提供了自己的类系统,包含所有基本的 OOP 标准,使您可以为任何未来的游戏编写简洁且可重用的代码。

  • 原生速度 - 基于 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 开发的游戏引擎。它已经从第一代发展到第四代,是一个先进的开发解决方案。它支持 PC、Xbox 360、PlayStation3 和 WiiU 游戏。

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

  • 视觉效果,如自然光照和动态软阴影、实时动态全局照明、光传播体积、粒子着色、细分等等。

  • 角色动画系统和角色个性化系统。

  • 参数化骨骼动画和独特的专用面部动画编辑器

  • AI 系统,如多层导航网格和战术点系统。还提供用户友好的 AI 编辑系统。

  • 游戏内混合和分析、数据驱动的音效系统、动态音效和互动音乐等等。

  • 物理特性,如程序变形和高级绳索物理。

结束语

这些游戏 SDK/框架各有优缺点。在它们之间做出正确的选择可以使您的任务更容易,并且您可以更好地完成任务。因此,在使用之前,您需要了解游戏的要求,然后分析哪个满足您的所有需求,然后再使用它们。

广告