首页 文章

2D跨平台游戏开发引擎[已关闭]

提问于
浏览
82

我已经使用Corona SDK工作了一段时间,并且喜欢使用Lua创建功能强大的应用程序的快捷方式 . 但它只能编译iOS和Android,现在感觉太少了 .

我的主要兴趣是它能够编译到桌面和移动 . 至少对于以下内容:

  • Windows Mac for desktop,作为独立应用程序 .

  • iOS Android移动版 .

我更喜欢它更倾向于使用Lua类型的脚本而不是ActionScript,但是请随意发布您曾经使用过的任何内容和爱 .

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

  • Marmalade Quick - 进一步研究后,Marmalade Quick只能为Mobile构建!

  • IwGame - 在橘子酱上工作,并表示可以使用Lua部署到桌面和移动设备 . 任何信息都非常感谢

  • sio2 - 说"SIO2 is an OpenGLES based cross-platform 2D and 3D game engine for iOS, Android, MacOS and Windows"和"The engine also allows you to port your game on the Mac Store and on Windows.",但他们的论坛和网站 Headers 是"Game Engine for Mobile Devices" . 无法找到有关它是否可以部署到桌面平台的任何信息,任何信息都会再次受到高度赞赏 .

  • Loom Engine - Loom类似于Haxe OpenFL(试图吸引Flash开发人员),因为它使用类似ASAS的ECMAScript,但它不会从中构建本机代码 . 然而,它使用Cocos2D进行渲染,因此它理论上应该与Cocos2D一样快 . - 感谢Bojan .

  • SDL - 我发现这是如何工作的,因为它可能再一次,非常感谢 .

  • SFML - "Windows, Linux, Mac OS X and soon Android & iOS. "不使用Lua但可以使用其他语言,如Java和Python等 . 任何人都有这方面的任何信息?

  • Torgue2D - "Torque 2D was developed with OS X, Windows, and iOS devices in mind and works equally well on all the platforms."使用TorgueScript而没有Android =(

  • Sencha - 似乎要编译到所有平台,我也知道使用Javascript . 但是即使使用V8 JS,与其他选项相比,这种方法还能表现得更好吗?

  • GameMaker - 自己的脚本语言GML,我实际上记得这个作为非程序员的工具 . 它真的成长为一个真正的引擎,我的意思是认真的发展?

  • Construct2 - 与游戏制作者一样的问题

  • Corona - Lua但仅适用于移动设备(仅适用于Android和iOS)

  • Cocos2D - 似乎它有很多选项但不确定使用相同的语言?好像你必须重新编写整个代码 . 任何信息,如果cocos2D可以使用几乎相同的代码部署到桌面移动设备,将不胜感激 .

  • Angel2D - 说它可以部署到Android以外的所有东西并使用Lua,以前有人用过这个吗?

  • libgdx ---我只看到了很好的事情 . 这是libgdx的基准测试,我看到它以60fps达到40k精灵 . 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 's performance seems only slightly lower than libgdx, can build to most platforms. However I don' t对XNA非常了解,我听说它不会收到未来的更新,但是相当稳定?欢迎提供更多信息 .

  • Citrus ---关于柑橘的信息也不多 . AS3游戏引擎,可以为iOS,Android,Windows,Mac等构建 .

  • Haxe OpenFL --- OpenFL(Haxe)在许多平台上构建为本机,而不仅仅是Flash . Windows,Mac,Linux和Android都获得可选的本机部署或称为Neko的OpenFL运行时,理论上比Flash更快,SDL 2.0将很快启用iOS部署(ish) . - 感谢Bojan .

  • Qt-Project ---只需将Qt项目链接到这里,就可以构建一切,并拥有一个拥有大量第三方库的相当大的社区,可以帮助您进一步提升 .

  • Moai ---我所知道的唯一可以为桌面和移动设备构建的Lua引擎 . 唯一的缺点是社区不是最好的 . 但是,如果你能够通过这些,这是一个很好的解决方案和我目前正在使用的解决方案 .

  • Adobe ---不能忘记在这里添加adobe,因为它可以构建支持flash的所有内容 .

  • Unity3D ---最近公布的2D集成看起来非常有前途,应该会在2013年Q3-Q4发布 .

  • Cocos2d-x ---一个开源引擎 . 支持JS,Lua,C和多个平台 .

  • Html5 ---似乎有很多强调html5移动应用程序,这里只是我发现的一些工具可以帮助将你的html5项目移植到一个平台:

  • Chromium embedded

  • Sencha

  • Phonegap

  • Appcelerator/Titanium

  • Icenium

所以,如果你可以根据你对任何引擎的经验发表评论并建议你推荐哪一个,我会很高兴 . 谢谢您的帮助!

编辑:由于这个主题越来越受欢迎,我将添加我发现的其他选项随着时间的推移 . 我建议您选择最熟悉的,最适合您的项目需求 .

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背后的人之一)

  • 4

    如果你正在使用Python,Kivy这些天是一个很好的解决方案 . 它汇编到您要求的所有平台:

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

    Kivy使用了大量优化的代码进行图形渲染(通过Cython),所以它也很快 .

    这是一个speakerdeck,它为您提供了一些背景和概述(特定于Android) .

  • 2

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

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

    enter image description here

  • 6

    HaxeFlixel怎么样?我们有很多选择demos,当然也支持通过Haxe OpenFL进行跨平台开发 . 这是一个在GitHub上托管的开源项目 . 我们支持all major platforms(包括iOS) .

  • 4

    这里没有提到App Game Kit (AGK)所以让我填补空白 . 它's a mainly 2D cross platform SDK allowing you to code once in either C++ or it'拥有自己的"Basic"语言 . 版本2在Kickstarter上获得了超过400%的资金,并将获得全面的3D支持,Spine支持(2D动画角色),子弹物理和其他一系列新功能 .

    它已经有Facebook,Twitter,一堆超极本传感器命令,Box2D等等 . 我've been using it from the start and love it (can you tell?). No, I don'为The Game Creators(创建它的公司)工作,虽然我承认我确实做了一段时间制作一些应用程序 .

    从我的观点来看,最好的功能之一就是你可以在Windows上开发并通过Wi-Fi从IDE进行广播到任何支持的设备,所以当我编码时我可以(在几秒钟内)在iPad,Android上测试我的代码, Windows,Mac或Blackberry Playbook .

  • 5

    如果你有C#背景 . 看看Duality .

    Duality是一个完全用C#编写的灵活的2D游戏框架 - 它可以帮助您更轻松地完成任务 . 它提供了可扩展的游戏引擎和可视化编辑器 . 不需要级别编辑器,测试环境或内容管理器,因为Duality本身就是这样 . 最重要的是:它是免费的 .

  • 1

    我只是回答您如何使用SDL的一些见解 . 如前所述,它不是游戏引擎(实际上它只是一个库) . 此外,它根本不是面向对象的,你没有一些简单的动画设施(你必须自己编写代码) .

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

    包括在所需平台上构建项目所需的标头 .

    设计你自己的游戏循环,你将在其中设置(至少)一个完整的事件处理系统,帧速率管理器和“屏幕清理器(或更新程序)”(我坚持你必须手动刷新屏幕的事实使用SDL_flip_screen例程,这对于Corona而言根本不是您关注的问题) .

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

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

    最后,这个库用于将Civilization III移植到Linux,所以是的它可以工作,但是它会让你有很多精力来获得与Corona一样的东西;)

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

  • 5

    Gideros is a great Lua based 2d cross platforms engine,目前支持Android和IOS平台,但还有更多 . 它还具有一些强大功能,如即时设备测试,自动缩放和自动图像分辨,可轻松定位各种屏幕尺寸,以及通过本机插件扩展每个平台的选项 .

  • 2

    你也有ShiVa3D,Unity3D的一个重要竞争对手 . 它使用Lua并支持从移动设备到游戏控制台和Web浏览器的许多平台 .

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

相关问题