85

我已经使用 Corona SDK 工作了一段时间,并且喜欢使用 Lua 创建强大的应用程序是多么快速和容易。但它只能为iOS和Android编译,现在感觉太少了。

我的主要兴趣是它能够编译到桌面和移动。至少在以下方面:

  • 用于桌面的 Windows + Mac,作为独立应用程序。
  • 适用于移动设备的 iOS + Android。

我希望它更倾向于 Lua 类型的脚本而不是 ActionScript,但请随时发布您使用过和喜爱的任何内容。

到目前为止,我已经找到了以下引擎:

  • Marmalade Quick - 经过进一步研究,Marmalade Quick 只能为移动设备构建!
  • IwGame - 在橘子酱上工作,并表示它可以使用 Lua 部署到桌面和移动设备。非常感谢任何信息
  • sio2 - 说“SIO2 是一个基于 OpenGLES 的跨平台 2D 和 3D 游戏引擎,适用于 iOS、Android、MacOS 和 Windows”,并且“该引擎还允许您将游戏移植到 Mac Store 和 Windows。”,但他们的论坛网页标题是“移动设备游戏引擎”。找不到任何关于它是否可以部署到桌面平台的信息,再次非常感谢任何信息。
  • Loom Engine - Loom 类似于 Haxe + OpenFL(试图吸引 Flash 开发人员),因为它使用类似 AS3 的 ECMAScript,但它不使用它构建本机代码。但是它使用 Cocos2D 进行渲染,所以理论上它应该和 Cocos2D 一样快。——感谢博扬。
  • SDL - 我在多个地方读到 SDL 可以部署到几乎任何平台或设备并具有 Lua 绑定。但我找不到它是如何工作的,因为它不是引擎。任何能解释它是如何工作的,如果可能的话,再次非常感谢。
  • SFML - “Windows、Linux、Mac OS X 以及很快的 Android 和 iOS。”不使用 Lua 但可以使用其他语言,如 Java 和 Python 等。有人有这方面的信息吗?
  • Torgue2D - “Torque 2D 在开发时考虑了 OS X、Windows 和 iOS 设备,并且在所有平台上都同样适用。” 使用 TorgueScript 而没有 Android =(
  • Sencha - 似乎可以编译到所有平台,我也知道使用 Javascript。但即使使用 V8 JS,与其他选项相比,这是否会在性能方面表现出色?
  • GameMaker - 自己的脚本语言 GML,我实际上记得它是为非程序员提供的工具。它是否真的成长为一个真正的引擎,我的意思是进行认真的开发?
  • Construct2 - 与游戏制作者相同的问题
  • Corona - Lua,但仅限移动设备(仅限 Android 和 iOS)
  • Cocos2D - 似乎有很多选择,但不确定是否使用相同的语言?似乎您必须重新编写整个代码。如果 cocos2D 可以使用几乎相同的代码部署到桌面 + 移动设备,任何信息将不胜感激。
  • Angel2D - 说它可以部署到除 Android 之外的所有东西并使用 Lua,以前有人用过这个吗?
  • libgdx --- 我只看到了这方面的好东西。这是 libgdx 的基准测试,我看到它以 60fps 的速度达到 40k sprites。http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml。似乎 libgdx 实际上几乎没有超过 30k。但看起来仍然很神奇。这对我来说与 Qt 处于同一水平,几乎完美,除了我并不真正担心它的性能。libgdx 几乎可以为所有东西构建。
  • XNA + MonoGame --- MonoGame 的性能似乎只比 libgdx 略低,可以构建到大多数平台。但是我对 XNA 不太了解,听说它不会收到未来的更新,但是很稳定吗?欢迎提供更多信息。
  • Citrus --- 也没有太多关于 Citrus 的信息。可以为 iOS、Android、Windows、Mac 等构建的 AS3 游戏引擎。
  • Haxe + OpenFL --- OpenFL (Haxe) 在许多平台上构建为本机,而不仅仅是 Flash。Windows、Mac、Linux 和 Android 都有可选的本地部署或称为 Neko 的 OpenFL 运行时,理论上比 Flash 更快,SDL 2.0 将很快启用 iOS 部署(ish)。——感谢博扬。
  • Qt-Project --- 只需在此处链接 Qt 项目,就可以构建一切,并且拥有一个相当大的社区,其中包含许多第三方库,可以进一步帮助您。
  • Moai ---我所知道的唯一可以为桌面和移动构建的 Lua 引擎。唯一的缺点是社区不是那么大,文档也不是最好的。但如果你能通过这些,这是一个很好的解决方案,也是我目前正在使用的解决方案。
  • Adobe --- 不要忘记在此处添加 adobe,因为它可以构建支持 Flash 的所有内容。
  • Unity3D --- 最近宣布的 2D 集成看起来很有前景,应该会在 2013 年第三季度到第四季度发布。
  • Cocos2d-x --- 一个开源引擎。支持JS、Lua、C++等多种平台。
  • Html5 --- 似乎很多人都在强调 html5 移动应用程序,以下是我发现的一些工具,可以帮助您将 html5 项目移植到平台:

    1. 铬嵌入

    2. 煎茶

    3. 电话间隙

    4. 加速器/钛

    5. 爱森

因此,如果您能根据您使用任何引擎的经验发表评论并建议您推荐哪个引擎,我会很高兴。谢谢您的帮助!

编辑:由于这个话题越来越流行,我将添加我发现的其他选项。我建议您选择最熟悉且最适合您的项目需求的内容。

4

9 回答 9

9

我会推荐V-Play (v-play.net) - 它是一个基于 Qt 的跨平台游戏引擎,适用于 iOS、Android、Symbian、MeeGo、Blackberry10,还可以导出用于 Windows、Mac 和 Linux 的本地桌面应用程序。

它基于 C++,但对QML 和 JavaScript有简洁的脚本支持。QML 学习起来很容易,并且可以提高您的工作效率,因为需要的代码更少 - 只需查看与cocos2d-x(减少 60% Loc)或Corona(减少 15% LoC)的比较,即可比较相同的游戏。

(免责声明:我是 V-Play 背后的人之一)

于 2013-07-11T10:25:55.530 回答
7

如果你喜欢使用 Python,Kivy现在是一个很好的解决方案。它编译到您要求的所有平台:

Kivy 在 Linux、Windows、MacOSX、Android 和 IOS 上运行。您可以在所有受支持的平台上运行相同的代码。它可以原生使用大多数输入协议和设备,如 WM_Touch、WM_Pen、Mac OS X 触控板和 Magic Mouse、Mtdev、Linux Kernel HID、TUIO。包括一个多点触控鼠标模拟器。

Kivy 使用大量优化代码进行图形渲染(通过 Cython),因此速度也很快。

这是一个为您提供一些背景和概述(特定于android)的speakerdeck 。

于 2013-10-25T19:22:36.753 回答
6

HaxeFlixel怎么样?我们有大量的演示可供选择,当然还支持通过 Haxe + OpenFL 进行跨平台开发。这是一个托管在GitHub 上的开源项目。我们支持所有主要平台(包括 iOS)。

于 2013-10-03T15:04:24.993 回答
5

这是我的游戏框架Oxygine。它是用于移动和 PC 平台的开源现代硬件加速 2D C++ 框架。特点:OpenGL(ES) 2、压缩纹理、图集、复杂动画/补间/精灵、场景图、字体、事件处理、构建工具等。可以构建在 SDL2 或 Marmalade SDK 之上。

在引擎的基础上有一个场景图,类似于 Flash 的。简而言之,您可以将其称为 C++ 的 Flash,但更舒适且速度更快。最初它是为移动平台(iOS、Android)开发的,但也可用于 PC 游戏。

在此处输入图像描述

于 2013-09-29T21:02:49.013 回答
4

如果你有 C# 背景。看看二元论。

Duality是一个完全用 C# 编写的灵活的 2D 游戏框架,它的存在是为了让您更轻松。它提供了可扩展的游戏引擎和匹配的可视化编辑器。不需要关卡编辑器、测试环境或内容管理器,因为 Duality 本身就是一切。最重要的是:它是免费的。

于 2013-09-28T06:59:51.003 回答
4

这里没有提到App Game Kit (AGK),所以让我来填补空白。它主要是一个 2D 跨平台 SDK,允许您使用 C++ 或它自己的“基本”语言编写一次代码。版本 2 刚刚在 Kickstarter 上获得了超过 400% 的资金,并且将拥有完整的 3D 支持、Spine 支持(用于 2D 动画角色)、子弹物理和一大堆其他新功能。

它已经有 Facebook、Twitter、一堆超极本传感器命令、Box2D 等等。我从一开始就一直在使用它并且喜欢它(你能说出来吗?)。不,我不为The Game Creators(创建它的公司)工作,尽管我承认我确实做过一段时间制作一些应用程序。

从我的角度来看,最好的功能之一是您可以在 Windows 上开发并通过 Wi-Fi 从 IDE 广播到任何支持的设备,所以当我编码时,我可以(在几秒钟内)在 iPad、Android、 Windows、Mac 或黑莓 Playbook。

于 2013-09-03T15:40:39.190 回答
2

我只是在回答您对如何使用 SDL 的一些见解。正如您之前所说,它不是游戏引擎(实际上只是一个库)。此外,它根本不是面向对象的,而且您没有一些简单的动画工具(您必须自己编写代码)。

它是如何工作的(我使用了 C 版本,但我猜 Lua 绑定应该是相似的):

包括在您想要的平台上构建项目所需的标头。

设计您自己的游戏循环,在其中您将设置(至少)一个完整的事件处理系统、帧速率管理器和“屏幕清洁器(或更新器)”(我坚持认为您必须手动刷新屏幕使用 SDL_flip_screen 例程,这与 Corona 完全无关)。

然后,使用您之前制作的所有“机制”对您的游戏进行编码。

SDL 是一个低级库(不要期望有一个易于使用的 GUI 框架或 Corona 的故事板框架)。

最后,这个库被用来将文明 III 移植到 Linux,所以是的,它可以工作,但它会需要你很多精力才能拥有像 Corona 一样的东西;)

PS:我不是英语母语者,所以如果我不清楚,请告诉我:)

于 2013-09-29T22:16:44.310 回答
2

Gideros 是一个很棒的基于 Lua 的 2d 跨平台引擎,目前支持 Android 和 IOS 平台,但还会有更多。它还具有一些出色的功能,例如设备测试即时、自动缩放和自动图像分辨率以轻松定位各种屏幕尺寸,以及通过本机插件扩展每个平台的选项。

于 2013-12-17T18:21:21.143 回答
1

您还拥有ShiVa3D,它是 Unity3D 的重要竞争对手。它使用 Lua 并支持从移动设备到游戏机和 Web 浏览器的许多平台。

非常直观的使用和非常好的用户界面。

于 2013-10-31T16:04:12.193 回答