哪个更适合构建游戏,Corona SDK或Xcode?

时间:2011-05-19 02:11:30

标签: iphone xcode device corona

我最近查看了Bubble Ball的网站,并说它内置了Corona SDK。我从来没有听说过Corona,从我读到的内容,它可以让你用很少的代码为设备创建游戏。我不相信。我应该选哪个? Xcode或Corona SDK?

编辑: 为了澄清,我想知道哪个更适合构建一个好的,可靠的iPhone游戏。

4 个答案:

答案 0 :(得分:29)

哪个更适合创造一个好的,稳固的iPhone游戏?

这不是任何人都可以为你解答的问题。对你来说可能更好的对下一个人来说不一定更好。

去年秋天作为程序员二十多年后,我决定学习Objective-C和Xcode并开始制作iPhone应用程序。几个星期后,在几本书中学习教程并慢慢加快速度,我偶然发现了Corona SDK。

我很生气。

因为我不想代码,所以我想写游戏。这里有一个SDK,虽然仍然需要编码,但是从学习曲线上切下了这么大的一块,这对我来说和我想要做的事情都很有意义。 (我很生气,因为Ansca Mobile没有做足够的广告让我在那之前了解Corona SDK。)

我想写的游戏是2D益智游戏,冒险/角色扮演游戏和街机游戏。如果你想做一些需要你可以从设备中获取的所有功能的东西,你可能不想使用Corona - 你会放弃一些力量来换取更快/更容易的开发。

Corona SDK使用Lua作为将它们联系在一起的语言,即使您没有使用它,Lua也很容易上手。

使用Xcode / Obj-C,你可以做任何你想要的事情 - 使用Corona SDK,你只能使用它。例如,在过去,虽然AdMob可以在基于Corona的应用中使用,但iAd却无法使用。启用OpenFeint是一个单线程,但GameCenter除了通过OpenFeint之外不可用。

这两个例子是我希望Corona尽早支持的事情。 Ansca Mobile非常擅长使用新功能和更好的性能发布定期更新。

因此,虽然像Corona SDK这样的工具存在一些限制,但是当你“自己动手”时,你会得到一些优势。

硬核赛车游戏?第一人称射手?有什么基于3D的吗? Corona SDK可能不适合您。

但大多数其他游戏类型?除了Corona SDK,我不会使用任何其他东西。

是的,我是粉丝。

答案 1 :(得分:11)

我在Java EE世界中工作了很多年,我们拥有1001个API,构建器,框架和GUI驱动的工具,所有这些都声称可以加速开发过程。有些人这样做,有些人没有,有些人比他们的价值更麻烦。在选择沿着这条路走下去之前,有几点需要了解。

首先,是的,这些工具让您快速上手。但是有一个隐藏的成本。您受到该工具提供的设施的严格限制。你想要做一些工具无法做或支持的事情并不罕见。然后你有一个问题 - 你放弃了工具并从头开始?你试图破解它吗?或者你把所有东西都搁置,直到工具更新?

其次是bug方面。每当你包含额外的东西时,你也会在其背后包含任何错误或糟糕的设计决策。例如,我曾经使用过一个API来简化在Java应用程序中使用Lucene搜索引擎的过程。它确实如此,但设计实施效果非常差,这意味着我们会浪费两天时间来确定它存在无法解决的问题。然后我们又等了两天,我们等着作者告诉我们他不打算修理它。因此,在我们撕掉它之前,我们总共损失了大约一周的时间。比我们只是手动编写包含Lucene所需的代码要多得多。

然后是@ Rexeisen关于获得新功能的延迟的观点 - 这是一个值得记住的好点。

这并不意味着要避免使用外部API和工具,我自己也使用了很多。但我对他们非常挑剔。它们的支持程度如何?他们有多灵活?他们可以延长吗?撕掉它们有多难?他们的极限是什么?他们真的会帮助我,还是我只是将一组问题换成另一组?在你开始愤怒地使用它们之前,所有这些问题都很重要。

所以我想说的是不要做我所见过的那么多事情 - 找到一些闪亮的新东西,带着大量的销售模糊,只是跳起来认为它会拯救世界。他们通常不这样做。先先看看,然后再决定是否要尝试一下。

最后,我不能强调这一点 - 没有什么可以替代从头开始了解事物的基本要素。

答案 2 :(得分:9)

这真的是你愿意承担多大的风险。

XCode可能需要更长的时间,但你知道它会被接受,新的iOS版本也不会完全填满它。

Corona会将更少的代码写入90%。最后10%可能是一个真正的痛苦。如果Apple推出iOS XXX,一切都会中断。您正在等待Corona更新他们的SDK,直到您可以更新您的应用程序。或者,如果Apple发布新功能,您将等待Corona更新,然后才能利用它。

就个人而言,我是一个原生的XCode家伙。这些框架确实有它们的位置。

答案 3 :(得分:5)

首先,这取决于你想要制作什么样的游戏。此选择仅适用于2D游戏,因为这是Corona唯一支持的游戏。如果你想做3D游戏,那就去别处看看(例如Unity。)

其次,通过“XCode”,我将把你的问题解释为“cocos2D”,因为如果你想要编程的话,我很难想到你不会使用cocos2D的原因目标C

那说......

cocos2D是一个非常棒的框架,如果您需要本机库的灵活性和/或绝对需要Corona不支持的功能,它是最好的框架。这不是Objective-C或cocos2D的情况; cocos2D是您通过XCode和Objective-C使用的库。

如果您的项目可以在功能集中执行,Corona的效率非常高,也是最好的工具。请注意,修剪一些不太重要的功能并不是一个很糟糕的权衡,因为大规模加速的开发过程(如10倍,严重)是非常有价值的。即使不考虑任何其他快捷方式(并且有一些数字),您使用Lua而不是Objective-C进行编程这一事实使得开发速度提高了一个数量级。


结果是我计划将Corona用于我目前和即将开展的项目,但很高兴我有cocos2D可以转向我需要它。