有没有一种技术可以同时开发Android,iOS和Web游戏?

时间:2012-02-01 19:21:16

标签: android ios web multiplatform

正如主题所述 - 是否有任何技术可以让我为简单的商业2D游戏编写代码,然后编译后可以在Android,iOS和Web浏览器或其中至少两个(例如Android和iOS)上运行良好)?现在有很多关于跨平台的嗡嗡声,我想知道我是否遗漏了什么。

我的目标(由我的制作人设定)是为这三个平台制作这个游戏,到目前为止我计划使用: - Web浏览器:Adobe Flex, - Android手机:Java(因为我最喜欢的C ++仅推荐用于简短的片段), - iPad / iPhone / iPod:Objective-C(还有其他选择吗?)。

这几乎意味着重复编写相同的源代码三次。有没有什么办法可以通过使用至少兼顾两者的技术加快速度? 但是,我不想在所有三个中使用Adobe Flex(尽管可能),因为它需要Adobe AIR(仅适用于Android 2.2及更高版本)并且没有很多手机拥有它(它与98的浏览器完全不同) %的人有Flash)。

我当然不介意为每个版本添加一些特定于平台的代码。

另外,如果你有任何关于为任何平台选择更高级技术的建议(也许是一些不错的框架?),我也非常感激。

6 个答案:

答案 0 :(得分:4)

看看CoronaMoai这两个基于Lua的游戏开发框架都针对多个平台。

答案 1 :(得分:3)

我想说多媒体融合能够做到这一点,但还没有准备好。目前,该产品有许多运行时导出程序,允许您将游戏导出到多个目标平台,包括闪存,Java和iOS。 XNA和Android出口商目前正在开发中。我应该提一下,我只是作为他们产品的快乐消费者与这些人联系在一起。即使他们不能做你想做的一切,也许值得一试。如果它不适合您的需求,如果您希望快速制作应用程序原型,它仍然是一个非常好的选择。

请参阅:

http://www.clickteam.com

在旁注中,我个人建议不要使用js + html5路线,特别是如果你的目标是手机。我应该强调,这只是我的意见,而且这里有很多人不同意我的看法。在我玩过的所有javascript游戏中,我都感受到了垃圾收集器。问题在于,如果没有对垃圾收集的控制,它可以在感觉到的时候自由运行,在游戏过程中造成不常见但非常明显的暂停。你可以解决这个问题,但我不明白为什么它应该那么困难。我绝对可以与能够编写一次并在所有平台上运行它的理想保持一致,但我现在看不到它的工作原理。

假设您找不到合适的工具,提供一些建议,您的目标是最大限度地提高可重用性。这意味着您的所有游戏资源和级别都应该被明确定义为独立资源。对于非关键逻辑,您可以使用可嵌入的脚本语言,例如Lua,这将最大化您的代码重用。 C(或C ++)代码也可以在许多平台上重复使用,如果您对该语言熟悉且自信,可能是一个不错的选择。

答案 2 :(得分:3)

我个人使用Phonegap和Zepto.js。但是你可能会对jQuery mobile有更多的好运。 Phonegap很不错,因为它的网站会为你编译应用程序。

答案 3 :(得分:2)

1)如果你用C ++编写游戏,可以将它用于iPhone和iPad。 Android(NDK)也是如此。最好是用C ++编写游戏引擎,而不是使用特定于操作系统的图层来创建UI。

2)用HTML和HTML实现你的游戏的JavaScript。 iPhone / Android用户必须使用网络浏览器来玩游戏。对于iPhone,您甚至可以创建一个看起来像应用程序的启动器,但实际上是一个带有HTML和HTML的webview。的Javascript

答案 4 :(得分:2)

如果您购买一些额外的sprite插件来处理2D(如Ex2D或SM2或Toolkit 2D),Unity3D应该可以为您完成此操作。目前直到4月8日,iOS和Android许可证都是免费的。

答案 5 :(得分:1)

Game Maker Studio。它有一个软件包,可以在您概述的所有平台上进行部署。

http://www.yoyogames.com/gamemaker/studio