• 开发者分享首次制作iPhone游戏的5点收获
    时间:2012-04-20   作者:Ray Wenderlich   出处:gamerboom.com

    过去几周我都处于沉寂状态,忙于自己首款iPhone游戏的收尾工作——现在我回来了,因为游戏最终入驻App Store平台。

    这款游戏的名称是《Math Ninja》,是首款iPhone教育游戏,旨在将加减乘除运算变得更有趣。


    在这个过程中,我学到很多关于游戏开发的经验,我觉得你应该会对此感兴趣。

    1. 进行重写不要紧

    我首次编写《Math Ninja》时,游戏的代码非常糟糕。应该说是糟糕透了。我是Cocos2D新手,所以犯了很多新手错误,边编写代码边设计游戏,所以游戏的结构非常丑陋,瑕疵无处不在。
    所以我在项目中间遭遇瓶颈——我是否应该就此将游戏包装起来,假设终端用户不会发现其所存在的瑕疵?或者我应该重新编写代码,沿途进行完善?现在我知道自己应该怎么做会更好。
    关于这一话题的争论很多,我最终决定重新进行——主要出于自我满足和进行学习的目的。重写代码所耗费的时间是首次编写《Math Ninja》时间总量的一半,确实是非常费时间。最终是否值得?
    在此显然非常值得,主要表现在如下原因:

    * 总体来说,游戏搭载于一个更稳固的根基,方便我添加新功能。
    * 在重写代码的过程中,我重组关卡设计的逻辑,将其放入一个简单的配置文件中,这促使游戏设计变得更加简单。
    * 在重写过程中,我将更多心思投入于如何存储和保存游戏状态,这简化加载和保存过程。在重写过程中,我对游戏的运作投以更多关注,这令应用变得更具反应性。
    * 也许最重要的是,我个人更满意这些结果,且因此感到自豪(而不是觉得愧疚)。

    我觉得这里的主要经验是,当你学习新数据库或新软件建构方式时,你通常会在第一次尝试中犯下许多错误。你可以沿途进行代码重构,但对于游戏,你需要持续进行调整,直到发现真正的趣味点。
    所以我们很难维持重整步伐,且同时又学习新数据库。所以重写代码让我能够在“建模”阶段加快开发速度,条件是在随后投入更多的开发时间。
    我觉得将来在更适合快速开发的语言中创建模型,然后落实所有游戏设计元素效果会更好,接着在游戏设计看起来颇为稳固/有趣时,转投Cocos2D-iPhone。

    2. 尽量简化游戏设计

    我第一次编写《Math Ninja》时,游戏设计基本上是硬性植入游戏中。改变怪兽的健康值需要改变怪兽类的构造函数数值。调整关卡新生的怪兽需要在函数中编写若干代码。再来就是武器和故事元素等。
    调整这些设置并不难,但文件/代码的反复切换让我出于懒惰不再想要改变任何游戏设计元素。
    这很糟糕。为方便自由调整游戏设计元素(游戏邦注:例如怪兽统计数值和关卡衍生数目),这些编辑操作需要尽量保持简单。
    在重写代码的过程中,我将所有怪兽、关卡和故事的定义抽出,放入一个容易调节的XML文件中。我开始给XML文件创建WPF编辑器,但我随后发现手动编辑XML要比通过任何编辑器简单和快速得多,因此我只能继续处理XML文件。
    最重要的是,我做出的所有改变令游戏设计元素变得易于调节。下面是原因所在:

    * 由于改变游戏设计元素非常简单,我可以随意做出任何调整,将游戏变得更有趣/更平衡。
    * 测试工作变得更简单。我可以轻松创建关卡,衍生我所制作的特定怪兽或组合内容。
    * 游戏设计元素和编程元素存在明显的差异。这令我能够针对各项任务树立正确“心态”——这让我觉得非常特别。

    3. 但游戏设计依然非常艰难

    另一我从中学到的经验是,无论你将游戏设计变得多么简单,要找到优秀的设计依然非常困难,是项非常耗时的工作。
    我自己都不记得给游戏各类武器的影响、破坏性和升级路线做出过多少次调整,或是通过不同的武器选择体验不同难度系数的关卡多少次。
    起初我因为在游戏设计中投入这些时间而感到愧疚。对我这样的程序员来说,在本该进行编码工作时腾给游戏设计如此多时间就好像是在“玩耍”或“混时间”。
    但我随后意识到,从逻辑上讲,顺利完成游戏设计至关重要(游戏邦注:这是决定游戏是否有趣的关键点),所以这完全值得我们投入时间。
    我发现我要学习的游戏设计知识还有很多。我觉得有经验的游戏设计师会运用比我更多的数学和电子表格技巧,会计算平均DPS,每时间帧的最大伤害值等,算出武器/升级道具的正确伤害值。
    作为新手,我知道的唯一方式就是反复进行尝试,直到呈现优质内容。这个方式非常可行——但需要耗费更多的时间和精力。

    4. 是的,你需要测试者!

    在接近游戏包装尾声时,我妻子和我对于最终成果非常满意,致使我们开始说出诸如此类的话:“我们不需要测试者,我们的游戏非常杰出,怎么可能会有不妥的地方?”
    我们是井底之蛙。
    幸运的是,我们开始寻求好友和家人的帮助,这些对象处于不同年龄层及技术水平,让他们对游戏进行试验。他们从中发现漏洞,因此如果直接将游戏发行,我们将陷入尴尬的境地。
    不仅如此,他们还向我们提供很多很棒的构思。
    所以所获经验是——无论你觉得自己的应用/游戏多么优秀,务必寻找若干测试者。你定不会为此后悔!

    5. 最后10%最困难


    回到我开始制作这款游戏之前,我记得有位朋友告诉我,在他的游戏项目中,最后10%最困难。
    他对此说法完全正确!
    我觉得要估算制作《Math Ninja》所需的时间总量很难。我觉得自己很善于估算制作应用所需要的时间,但在游戏领域,这截然不同。
    我觉得其中的困难之处在于游戏永远没有真正完工的一天。你总是可以多植入一个功能,多引入一个关卡,多制造一个视觉效果,进而将内容变得更优秀。
    所以你要怎么知道自己需要投入多少时间完成游戏的制作?在我看来,这是个开放式问题。坦白讲我对此没有答案,所以我只是持续进行制作,直到自己对此表示满意,虽然我能够添加的潜在功能不胜枚举。
    但快要提交作品的这个阶段是最艰难的时候。很多次我都告诉自己作品“差不多完成了”,但最后发现自己1个礼拜后依然投身于此。
    更不要说项目出现拖延的情况,越是希望项目“恰好完工”,在项目制作过程中就会越是感到疲惫。但游戏尚未准备就绪,需要进行更多润色,所以有段时间我不得不从心里强迫自己完成剩余工作,然后将其呈现给用户。
    所以在制作游戏过程中你需要有坚持到底的毅力——你需要意识到,无论你预计完成的工作量是多少,实际情况总会超出你的预期。

    网友留言/评论

    我要留言/评论

    相关文章

    关注不是“求”来的 - 谈微博营销:编者按:本文由 Human Business Works的主席Chris Brogan撰写。在文中,Chris详述了自己被无数人“求转发求扩散”的经历,披露了这种微博营销模式的弊病,并分享了自己做媒体的心得:即他是怎样获得关注,并持续获得关注的。
    揭秘快速提升alexa排名的18种有效方法(全文):如果想要提高Alexa排名,最重要的一条就是提供质量高的内容,广泛推广,提高网站访问量。另外还有一些技巧,对快速提高alexa具有一定作用,都是经过不少网站站长测试过的。
    用户需求是价值核心 - 从Instagram看移动互联网:移动互联网总是不缺关注,不缺新闻,而圈子里创业成功的神话更能迅速成为焦点之最。Facebook不惜重金买进图片分享提供商Instagram,业界哗然!这无疑给无数埋头耕耘、生存困顿的移动应用开发者打了一支兴奋剂。什么是Instagram的制胜法宝?谁又会是下一个Instagram?
    项目管理思考 - 升任项目经理时的角色转变:本文主要谈一下刚刚升任项目经理时的角色转变问题
    关于创业:为何我们总是会高估自己?:2012年3月,在经历了将近2个月的热烈讨论和百般纠结之后,老陈的创业团队终于解散了。其中,我们每个人心里的那种无法言明的心情,有多少人能够理解?表面上看,我们的项目是终结于资金短缺,而深度剖析的话,应该属于经营不善——我们不应该总是把缺钱当作借口。不过,今天我们要讨论的不是之前已经解散的创业项目,而是在这之后,我遇到的一些事情。
    全球各国家和地区社交网络用户分析:世界正在变得越来越社交化,根据市场调研公司eMarketer的预计,2012年全球社交网络用户总数将达到14.3亿人,未来几年内的增幅也将放大。
    社交营销中最常见的十个误区:全世界的企业主都在利用各种不同的社会化媒体平台来推广自己的产品并触达消费者。许多公司,多亏了他们在互联网上的强力存在,成功了。但也有一些,花了大钱,却效果不佳。 因此,在你开始用社会化媒体平台进行推广之前,有必要理一下你的社会化媒体技能。更好的办法是,了解下社交营销中最常见的十个误区,以及如何避免犯这些错误。 一
    不是缺少人才,而是面试过程有问题 - 有关面试:我刚刚开始在微软的工作,但面试的整个过程经常萦绕在我脑海里。我读了网上的一些文章,有些说要找到一个开发天才多么多么难。他们说有那么多人在找工作,但只有很少的人值得被雇佣。我不认为这是事实。
    创业公司感悟录之十个提醒:这几年经历过很多事,和朋友创业过, 自己也在创业(动软卓越),看过太多创业的人、创业的事,时不时静下心来把所看所感所想总结一下,记录一下,不足为鉴,仅作为自己在路上的警示与提醒,并和广大准备创业和创业中的朋友们茶余饭后分享交流。
    李彦宏:移动互联网市场还很小:云计算、开发者、API(应用程序)……百度近日举办开发者大会,区别于以往主打PC市场,一众百度高管均认为云计算为支撑的移动开发平台是互 联网创业者甚至普通程序员的机会。百度董事长兼CEO李彦宏认为,移动互联网时代尚未真正到来也正在到来,百度布云战略做后台支撑平台,能够与开发者共同 构建互联网新生态。