4年前的Cocos老游戏如何在AppleTV焕发新生?
4098
Gwenn Guihal来自法国,今年32岁,是一位iOS程序员。4年前,他用早晨上班前的业余时间开发了一款Cocos回合制坦克游戏,名为《YES SIR》。最近他把这款游戏又搬到了Apple TV上面,让大家可以在客厅里瞄准目标开炮、对决,其乐无穷。
今天我们来听听Gwenn Guihal的故事吧!
Q:为什么会开发这样一款游戏?
这大概是童年的执念吧。小时候我家里有台286电脑,我就经常和哥哥玩《Tank Wars》,当时简直如痴如醉。就算过了20多年,我始终忘记不了那游戏。
对我来说,苹果商店里没有一款游戏能跟它一样好玩,所以我就打算自己动手做一个。
Q:为什么会选择Cocos引擎?
这游戏走的是复古路线,所以我希望找个优秀的2D游戏引擎。另外,我的目标是做一个跨平台游戏。在2012年,Cocos2d-x是唯一一款既能提供跨平台功能,又具有高性能表现的引擎!为什么要对这么好的引擎说不呢?
比如说,我很喜欢能够访问底层 OpenGL 接口来创建地形。引用计数机制是 Cocos2d-x 中很棒的一个特性,让内存管理非常轻松。引擎中还提供了很强大的 Box2D 支持,与其它 C++ 库(数学库,便利的几何运算辅助库)可以很好得相容。
作为一款开源引擎,Cocos还允许我做一些个性化的小定制,简直太赞了。
Q:除此之外,你还有使用哪些工具或第三方库吗?
工具: Photoshop,Illustrator, Flash ,TexturePacker,bmGlyph
IDE : Xcode
第三方库:Crittercism,Facebook SDK, Flurry,Clipper(作者:Angus Johnson), Triangulate(作者:John W. Ratcliff)
Q:游戏的画面和音乐设计也是出自你之手吗?
没错。我在《地狱边境》(limbo)里面找到了不少灵感,所以你看到整款游戏都是黑白居多,当然这也是因为比较省力(笑)。整个设计花了我很多时间,主要是靠 Illustrator、Photoshop、Flash。
音乐是我老婆制作的,她用大提琴创作了背景音乐,我在里面加了点鼓点。
Q:《YesSir》是怎么走进Apple TV?
2012年我是用Cocos2d-x 1.2版本开发《YesSir》,当时它还只支持OpengL ES 1.1。后来随着苹果设备的升级,我也只是简单更新了一些代码。
像其他开发者一样,2015年9月份的时候,我收到了一美元的Apple TV 开发工具包。因此我立刻决定把《YesSir》移植到这个全新的设备上!
在XCode里面,我建立了一个新的“tvOS”目标,然后运行项目。正如你可能预料到的那样,一开始出现了很多错误。但在两小时后,我去除了一些不支持Apple TV架构的LIB(度量,碰撞分析,Facebook…),注释了一些代码(特别是引擎的音频部分),终于把游戏成功运行在Apple TV了!
为了提高操作体验友好度,我又做了很多针对Apple TV的改善工作:我在主窗口增加了本地滑动手势识别,更新引擎的事件显示列表。我还在 CCMenu类里做了些变动,来保证自动处理聚焦。
接下来我只需要定义物品彼此之间的距离。我更新每一个场景以支持焦点,并且保证只有一个元素获得焦点。最后,我还得做些图片适应工作,因为电视的色彩和对比度和iPhone、iPad不太一样。
总结下,整个移植工作我花了6个月,每天大约1~2小时。除了端口以外,我还加了一个本地多人模式。幸好《YesSir》是个小游戏,所以移植工作量比较小(v1.2也完全hold得住)。现在玩家们可以在自家客厅里拿着遥控器,看着大屏幕打炮了,想想就觉得很激动。
Q:最后,你有什么建议想和大家说呢?
作为一个独立游戏开发者,我的建议是大家可以从小做起,然后慢慢增加功能。游戏虽然小,但要求精致、完美,尽可能少出现bug,尽可能提高画面精美度。这样当用户接触到你的游戏时候,一定会留下深刻印象。
不要犹豫,勇敢挑战自己。游戏人注定是一条漫长的道路,坚持就是胜利。现在我在做一款益智类游戏,已经进行了一年了,也希望到时候再与大家分享。
扫描二维码即可下载《YesSir》。