开发iPhone游戏需要什么?

16

我刚开始学习iPhone编程,虽然我有很好的Java基础,现在也开始理解Objective-C的工作原理。我想开始开发。

我需要学习Open-GL吗? 即使是2D游戏(例如《愤怒的小鸟》,《割绳子》,《涂鸦跳跃》或《小翅膀》)? 如果要从简单的UI应用程序(带有按钮、滑块、标签等)转换到真正的游戏,我需要学什么?


4
请查看cocos2D,它是iOS的2D渲染引擎,如果您不需要特殊的图形效果,就不需要了解OpenGL,因为cocos2D可以处理。 - Johnmph
你也可以使用SpriteBuilder工具。 - Gajendra K Chauhan
4个回答

22

首先,你需要在苹果开发者账户上注册才能在iPhone应用商店上发布游戏。

其次,对于游戏编程,你可能不会经常使用Objective-C。它的运行时绑定与C或C++方法调用相比速度较慢。

任何跨平台游戏开发(可能包括iPhone + Android)都需要OpenGL。OpenGL也恰好是在这些平台上制作硬件加速3D游戏的唯一途径。

我建议为iPhone游戏开发学习OpenGL。这样做还有一个额外的优点,就是可以用最少的附加学习写游戏到其他大多数移动平台上。当然,你也可以使用苹果自己的2D API进行游戏开发,但出于之前提到的原因,我不建议这样做。

游戏编程是完全不同于应用程序开发的领域。我建议从简单的开始。

愉快的游戏编程!这是我最喜欢的开发领域。

编辑:我意识到我让OpenGL似乎只用于2D游戏开发,这并不是真的。OpenGL非常适合2D和3D游戏开发,尽管它的大部分材料都集中在3D编程上。使用OpenGL进行2D编程就是将Z坐标设置为0。


2
发布游戏需要苹果开发者账户,加1。 - thedaian
2
话虽如此,有许多方法可以制作iOS游戏而不需要学习OpenGL。Unity、UDK和Torque都有导出到iOS的选项,还有其他专门用于iOS开发的工具。 - thedaian
2
非常正确。虽然有第三方框架,但必须小心不要被供应商锁定。 - Prime
请观看关于OpenGL的WWDC视频 :) - Abhishek Bedi
我可以在哪里找到好的教程? - Nischal Hada

2
你完全不需要了解OpenGL。有一些非常好的引擎选项,比如我们公司的BatteryTech Engine,你只需在Lua中简单地说明你想要绘制什么、在哪里绘制它、播放什么声音等(这非常容易),你还可以在Android和其他平台上部署。当然还有其他选择,但这是我喜欢的一个,尽管我当然有偏见 :)
其他人说得对 - 无论使用什么解决方案,你都需要一个iOS开发者账户,并且仍然需要了解XCode项目的基本结构以及Apple的做法。在过去的四年中,我已经发布了十多个游戏,如果你有任何问题,我很乐意回答。
祝你好运!

如果我想为手机制作游戏,并且还有一个具有不同界面的桌面版本,那么BatteryTech仍然是一个好选择吗? - Slims
是的,要想得到真正好的桌面支持,需要一些细心呵护,因为像窗口调整、设备选择等功能并不是BT默认内置的,但如果你愿意再花上一周或两周的时间来使其运行良好,那么这是可以实现的。 - rbgrn

2

+1 指向 Box2D,它确实是一个很好的引擎! :) - TeaCupApp
是的,我曾经在ActionScript中玩过它。我一直想看到一个BUMP Box2D混搭!用于iPhone保险杠车,那将是很棒的! - Chamilyan

2
“Cut the Rope”实际上是用HTML5/CSS3/Js创建的,使用了“canvas”元素。我也对创建像“Cut the Rope”这样的游戏感兴趣。不过你需要知道如何创建精灵动画,这些动画使用了Css3的@keyframe属性。
但是,Unity3D似乎是在iOS和Android上开发3D游戏的最佳选择。如果你了解任何3D图形应用程序,比如Maya或Blender,你可以通过将资产导入到Unity中创建自己的3D游戏...例如这里的一个例子:http://www.eatsheep.com/ 在这两种情况下,你需要与2D游戏艺术家和3D建模师合作,而你可以处理开发工作。祝你好运。

2
我简直不敢相信《割绳子》是用HTML5/CSS3/Js创建的!你确定吗? - Oneiros
看起来《割绳子》从原始应用程序移植到了HTML5:https://www.sitepoint.com/bringing-cut-the-rope-to-life-in-an-html5-browser/ - Pierz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接