V2EX lostrit
lostrit

lostrit

  独立游戏开发者
V2EX 第 124974 号会员,加入于 2015-06-30 22:53:21 +08:00
20 S 15 B
lostrit 最近回复了
@anubiskong 很好哇 独立开发者么?
@anubiskong 也是小体量的项目,目前还没做完..
已经用 swift 做游戏将近半年时间。
建议你首先考虑游戏是否跨平台,如果你真心确定就做 iOS 和 OS X 平台的游戏再继续看,否则直接选别的引擎去吧。

然后说 swift 做游戏的事。据我所知用 swift 做游戏基本只有只有如下选择:

1. Cocos2d-objc : https://github.com/cocos2d/cocos2d-objc ,之前叫 cocos2d-iPhone , swift 发布的时候改名过 cocos2d-swift , cocos2d-x 的灵感来源。现在由于前途未卜又改名成 cocos2d-objc 了...引擎由 Objective-C 实现,与 swift 的结合使用亲测没有大问题。有自己的图形编辑界面 SpriteBuilder ,前身是 CocosBuilder 。
优点:如果你使用过 CocosBuilder 和 cocos2d-x 的话,应该还是比较好上手的。功能还算强大。
缺点:前途未卜。之前一段时间在 Apportable 的帮助下进行了安卓的支持,后来 Apportable 撤出了,这个引擎可以说已经没有什么竞争力了(当然 SpriteBuilder 这个编辑器我个人还是很喜欢的),它的 forum 上也激烈讨论了这个引擎何去何从的问题。现在的状况就是很多底层使用的 API 已经比较过时了,然后寥寥数人还在焦头烂额的勉强维护着。所以制作过程中遇到引擎 bug 可能得自己修复。
还有就是在 swift 中使用 objc 框架时代码补全明显比纯 swift 慢很多,真的是很多,直接影响到了写代码的节奏,不知道是我没调教好的原因还是什么。
文档么,没有非常完善但基础的部分也够用了,毕竟是开源的啥东西弄不明白自己看源码好了。

2. 苹果自己的 SpriteKit 、 SceneKit ,这个不介绍了, WWDC 说的挺全乎的。做 2D 游戏的话就用 SpriteKit , 3D 游戏就用 SceneKit 。这两个框架之间还可以相互使用,就是说你可以 SpriteKit 中加一个 node 显示 SceneKit 的东西,也可在 SceneKit 中使用 SpriteKit 的东西制作 UI 。
优点:正品有保障。没有 cocos2d-objc 的代码补全延时。文档完整度没的说。
缺点:不开源。有些东西文档没说清楚的只能自己去试。
编辑器, Xcode 6 加入场景编辑, Xcode 7 加入了动画编辑,基本的拖拖拽拽没啥问题,但是你要想做点真正能用的东西,用起来那叫一个别扭。
作为游戏框架感觉还不够完善,比如最基本的按钮啊,视差效果啊, TiledMap 啊,这些都需要你自己去实现。

以上两个是仅我所知的 swift 下的游戏引擎。要我说,没有无坑的引擎,至少我到现在没有遇到过,但同样,也基本没有不能解决的坑。实在都不满意的话自己去做引擎好了, swift 的话你可以使用 Metal ( iOS8+, OS X 10.11+)或者 OpenGL ES 3 ( iOS7+)。就是只怕到时候会遇到更多的坑。我也曾经有一段时间陷入想找到一个完美舒服的工具去做游戏的困境中,后来我才发现,没有工具是完美的,但这都不影响你把你自己的游戏做的完美。硬着头皮把游戏做完的时候,你就不会再在意工具给你的那点别扭了。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5913 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 17ms UTC 02:58 PVG 10:58 LAX 19:58 JFK 22:58
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86