多平台2D游戏引擎

时间:2013-08-14 11:45:04

标签: c# android ios cross-platform game-engine

我正在创建一个2D游戏,我想运行跨平台(在Windows,Mac,iOS和Android等平台上作为主要目标),我使用的引擎需要是开源的。 主要目标是拥有最多的代码可移植性(可能通过脚本编写)。

我会更喜欢在C#中执行此操作,但如果必须,使用其他语言不是一个大问题。

我使用Flex SDK考虑过MonoGame和flash,因为它们都声称是跨平台和开源的。

考虑到我的标准,哪一个是更好的选择?或者另一个游戏引擎/库会更合适吗?

4 个答案:

答案 0 :(得分:7)

我建议Unity3D。这是一个3D平台。但是如果你只使用2个维度,你就可以去了。在Unity3D中,您可以使用C#,Javascript或Boo编写游戏。

Unity是免费的,可以导出到Windows Phone,Windows 8 App,Windows,Mac,Linux,Android,Blackberry,iOs,Xbox360,Wii和PS3,但对于最后3个,您需要Microsoft / Sony / Nintendo的开发人员许可。但可能性存在。

更新

你必须先支付ios和android插件的费用。现在他们是免费的:

  

今天,我们在这条漫长的道路上又迈出了一步:截至目前,   独立的Unity开发人员将能够部署他们的游戏   Android和iOS平台完全免费。更新Unity和   你会发现Android和iOS构建选项(以前的基本附加组件)   准备等待你使用。

来源:http://blogs.unity3d.com/

同时,对其他平台的支持已经出现(包括windows phone,winrt和blackberry)。这些都是免费的。如果您需要专业版功能,则需要专业版许可证。但是你需要的大多数东西都是免费版。比较一下this page

答案 1 :(得分:3)

下面的引擎允许您重复使用几乎所有代码,只需要更改的是分辨率和触摸输入/控件从桌面到移动或反之亦然。我建议你查看这些引擎,它们都是开源的:

  • libgdx - 使用Java并且几乎与XNA一样fast,但比MonoGame快。 “在Windows,Mac,Linux,Android,iOS和HTML5上发布您的游戏,所有游戏都具有相同的代码库。” - 关闭他们的网站,任何可以运行java的东西都可以运行你的游戏。大社区,所以当你需要帮助并获得问题时,你不应该有问题。
  • Qt-Project - Qt是一个跨平台的应用程序和UI框架,适用于使用C ++或QML的开发人员,CSS& JavaScript就像语言一样。从Qt 5.1开始,您应该能够为Android和iOS构建,允许您为所请求的所有平台构建。大社区。
  • Moai - 使用Lua并可以部署到您请求的所有平台。唯一的缺点是社区规模很小而且文档有点过时,但是irc和论坛上的人通常会帮助你,但答案并不总是立竿见影。您还必须构建自己的主机以构建所需的平台,但上次检查时,所有平台都有公共主机。

libgdx似乎非常适合你。性能惊人,社区很大,它允许您为所有平台重用相同的代码,仅举几例。唯一的缺点是它不使用C#。当然,你应该亲自调查一下,看看它们是否符合你的要求。祝你在努力中好运。

答案 2 :(得分:2)

根据您的偏好,有几种选择;我将列出我最近遇到的几个。

  1. Cocos2d系列现在看起来很受欢迎。如果你认为C ++不是 一个问题,然后Cocos2d-X将是一个选项,因为它提供了一个 很多平台。其他Cocos2d系列可能会引起您的注意 好。我想有几个版本,如HTML5,Javascript, 蟒蛇。等等,但我认为只有cocos2d-x是跨平台的。
  2. Unity3D(C#,Javascript,Boo)似乎是一个选项,但它没有打开 源码,以及UDK(UnrealScript)也一样,但如果你想的话 购买他们提供源代码的许可我猜
  3. 正如您所提到的,Flash也是一个不错的选择。它使用AS3 是一种OOP语言,如果你是初学者,它会非常有用。
  4. 而且ImpactJS也提供了很多平台,它可以使用HTML5 点击此处http://impactjs.com/
  5. 列表可以越来越长,取决于您的需求。你应该明确指出你的需求;你想走多远,哪个平台对你最重要?等。

    祝你好运

答案 3 :(得分:1)

你可以试试这个:http://www.appgamekit.com/(AGK) 用c ++编写代码,但工作得很好。一个非常简单的引擎。