当前位置:游戏 > 程序开发

分享在PC上制作iOS游戏的经验(下)

类型:非原创 用户名:tina 发布时间:2013年05月13日

免责声明:梦之城客户端网文章来源于作者原创或整理自互联网,仅为提供更多信息,不代表梦之城客户端时代同意其观点或描述,版权归原作者所有,如需转载,请联系原作者并注明出处,如涉及作品内容、版权或其他问题,请及时与我们联系,我们将在第一时间予以更改或删除,感谢您的理解和包容!
相关阅读:分享在PC上制作iOS游戏的经验(上) 简介 这时候我们已经创造了一款可行的游戏,即拥有90%完整的功能。玩家可以开始玩一款新游戏,经历每个关卡,与所有的7只猴子展开互动,使用10种工具,储存星星,在商店中购买28种升级道具,使用4种星星能力并保存/重新开始游戏。我们宣称已经完成了功能创造。但是如果我们创造了更加详细的设计文件,便能够意识到事实并非如此! 最后10%的开发工作占据了90%的时间 我们不知道与发行商建立关系需要多长时间,所以我们开始将早期原型呈现在一些发行商面前。有个评论表示我们的游戏核心非常棒,肯定了其AAA级游戏质量,但是我们却仍需要进行多方面完善。我们认为那是个相当愚蠢的声明,并在接下来2周时间内继续致力于未知的结局与游戏平衡上。 这时候的游戏与商业软件有很大的区别。在商业软件中,如果我们已经完成了大部分功能创造并进行了单位测试,那便算完成了80%至90%的工作。虽然综合测试能够揭示问题所在,但却也是开发者与需要解决的细则之间的误区。由于分层互动/游戏元素之间的依赖,实时游戏综合测试需要花费50%的时间。 投放到设备上 在此之前,我们的游戏只能在Marmalade PC模拟器上使用。我们仍然不知道它在实际设备上的性能是否是问题所在(内存或FPS)。它同样也阻碍了单位测试的进行。不过现在我们是时候将其用于真正的设备上了。
marmalade system deployment tool
苹果对于其设备上的应用筛选总是非常严格。虽然这能够降低盗版率,但同样也为我们设下了一环环挑战,即我们必须签订代码,并获得使用测试建造的设备ID和认证。 如果你正在mac上使用xCode(特别是最新版本的xCode),这便是一个较直接的过程,因为xCode能够帮助你完成这些任务。所有的苹果文件都将告诉你如何一步一步地使用xCode。但是如果你面对的是PC,你就需要做好应对烦的准备。 你必须做到两点:1)为你的机器设置iOS部署,2)为你的项目设置iOS分布。幸运的是,Marmalade 5.2关于如何创造分布构建的文件在之前的版本中已经得到了证实。如此你变能够轻松地创造认证,然后上传到苹果上,然后下载苹果的认证。 如果是基于PC,那么你就必须明确项目的设置并签订分布。苹果的开发门户便是用于分配适合应用的设备UDID。苹果提供了配置证书去签订你的项目。Marmalade拥有调度工具,能够用于项目的ARM构建中。你可以通过配置和OS特定选项而进入这一工具,它能够帮你创造一个IPA而有效地部署于你的iOS设备的iTunes上。 如此我便只需花费10个小时便能够将游戏带到iPod上了。这是非常重要的一步,因为我们需要触屏去测试手势。 基于手势变得更活跃 你是否还记得我们的核心设计是玩家通过手指滑动去控制猴子。在创建一些原型后,我们需要使用其它工具去解决反复滑动的单调。Gameloft的《Bailout Wars》便在早期影响着我们的游戏。但除此之外我们还需要其它的动作。
Bailout Wars
我们参考了许多游戏并最终得到了以下列表: 轻打 轻打和控制 水平滑动 向下滑动 摇动 绕圈 我们最后选择了轻打,水平滑动,向下滑动以及摇动。我们将这些手势与合适的工具整合在一起:如纸袋子便被放置在猴子的头上,所以玩家可以向下滑动带子而套在猴子头上。 iOS和Android都支持多点碰触(最多可达10个点),但是我们仍决定只检查单点碰触。碰触无非就是一个点击事件,所以我们检查了s3ePointerEvent而将其捕捉到整体的碰触变量中,如下: void SingleTouchButtonCB(s3ePointerEvent* event) { g_Touches[0].active = event->m_Pressed != 0; g_Touches[0].x = event->m_x; g_Touches[0].y = event->m_y; g_Touches[0].when = (int32)s3eTimerGetMs(); g_Touches[0].handled = false; } 尽管能够知道手指在哪里就已经很棒了,但是你又该如何搞清楚它们是否正在做手势?答案是你必须亲自尝试看看。 当手指碰触到屏幕时,手势便开始行动了。从那时开始,我们必须定期追踪碰触的当前位置,直到手指离开屏幕。我们必须分析最初点,跨越每个点的进程以及离开点的差异,以此决定手势类型的设定。我使用的是策略模式,即在一般道具类中基于子类去执行独特的手势识别。 尽管这解释了设定手势的技巧,但是还有很多方法能够让它显得更加“自然”。让人惊讶的是每个人执行简单的左/右滑动的方法都不同。有的人只会轻轻地滑动屏幕的一小块位置,有些人则覆盖了整个屏幕。有些人是垂直滑动,有些人是沿着对角线进行滑动。有些人缓慢地滑动,有些人快速滑动。最终我们遵循了一个较为严格的手势系统,即水平滑动比垂直滑动所碰触的位置低了20像素,所以更加合理!
1 2 3 4 ... 8 下一页
制作 iOS