阅读更多

4顶
1踩

移动开发

转载新闻 10个步骤教您如何成为iPhone游戏开发者

2010-12-02 10:38 by 正式编辑 fm_2010 评论(2) 有19603人浏览
Neil Ferguson,是iPhone 游戏「病毒攻击 | Virus Strike」的开发者,他总结出了开发一款iPhone(或者说 iOS平台)游戏(程序)的10个步骤。Neil Ferguson目前在伦敦一家软件创业公司工作,虽然他是一名「老」程序员了,但他认为,开发一款成功的iOS 游戏也许并不需要你有太多的程序开发和编程经验哦!我们来看看他的心得吧。

(一)原创的想法

我大概是在1年前才有了这个 Virus Strike的想法。我一直在玩一个基于物理原理的游戏叫Linerider ,还有飞行控制方面的游戏。我觉得如果有一款游戏通过物理引擎,画一根线让3个相同东西匹配(译者注:类似俄罗斯方块),一定会很有趣。于是我就到App store查遍了所有的益智游戏(puzzle game),看看是不是有这类的游戏。花了几天时间,结果我一个都没看到。那时候我就意识到,我第一个想到这个游戏的创意,至少还没有人做出,我为何不开 发一款这样的游戏呢?于是就开始了这个 Virus Strike的开发。

译者注:并不一定是惊天动地的想法, 一点点的创新点子都可以成就一个出色的产品。大多时候你未必是第一个,可也许你稍加用心,你就可以成为最棒的那个。

(二)使用正确的工具

如果是一个初学的程序员,你可以尝 试使用“托-放” 形式的游戏制作库,比如 GameSalad。这让你可以在没有多少编程知识的情况下一样创建你的游戏,而且GameSalad 是特别为iPhone设计的工具。除此,你也许会发现在Flash平台下写游戏比在Objective C(iPhone 程序开发的标准语言)下要容易一些。你现在可以转换Flash的游戏在iPhone上运行,而且对于初学者,也有很多不错的 Flash游戏开发方面的书籍。

如果你一定要使用 Objective C开发,那你一定要用游戏框架,在游戏编码上会容易很多。我个人使用的是 Cocos2D,这是一个非常棒的iPhone游戏开发的框架工具,而且是免费开源的。它还具有一个集成的物 理引擎,给我当时开发 Virus Strike带来了不少方便。

(三)充分利用免费教程

Virus Strike是我的第一个 iPhone游戏,而且我以前也从来没有使用过 Objective C编写程序,所以在开发这个游戏的时候,我也确实学到了很多。很多在线的教程确实帮了我不少,比如说 Ray Wenderlich 的网站 www.raywenderlich.com,提供了很多关于 iOS 编程的免费教程。非常的有用!在苹果的官方开发者网站资源也很多,developer.apple.com

(四) 外包你做不来的东西

如果你自己本身不是一个程序员,我觉得一开始你最好是把你的最初好的想法外包给经验丰富的人来替 你做。比如,你可以将你 app的想法发到 odesk.com ,会有程序员来申请包办你的项目。同样,如果在你的应用程序app开发过程中,你有一个单独的部分做不成,你也最好外包出去。只是提醒你的是,你外包应用 出去时你要给程序员提供尽可能多的信息和细节,这样App开发出来的时候才会更让你满意。

(五)想想关于iPhone特有的功能

App Store里最成功的游戏一定是那些符合iPhone特点的、适合在iPhone上玩的游戏。我们来看看 Virus Strike,我采用了经典的俄罗斯方块类似的游戏玩法,结合iPhone特有的触摸屏和加速体验。你在屏幕上划一道线,用来指引病毒,你倾斜 iPhone的屏幕,这些病毒也会跟着倾斜。在你开发游戏的时候,你一定要想着如何把iPhone的一些独特的控制方式融入到你的游戏当中。尽可能的实现 原创,有特色!

(六)确保游戏有挑战性

在我搞定了最基本游戏的技术部分 —划线条、色彩匹配、还有物理引擎之后,最大的问题是我怎样才能把我当初的想法和概念转化成一个有挑战性的游戏,而且可以让玩家很快地上手。

对 于一个游戏来说,我想玩家每玩一次游戏所耗费的时间和游戏的挑战性非常重要。游戏要逐渐加大难度,但同时要有公正性— 也就是要让玩家觉得是因为自己的失误才丢了一局。另外必须可以让玩家觉得他在游戏当中有所进展,在整个游戏的过程当中随着更多级别的游戏,不管是通过更高 的得分还是其他形式的奖励,要让玩家有一种成就感。

(七) 免费的声音效果

我游戏里的所有声音效果都来自 freesound.org。这是一个很厌烦的过程,所以我建议最好多问一 问其他人的观点和建议,看有些你喜欢的声音是不是别人会觉得讨厌。在编辑声音效果的时候,我还用到了一个免费的程序,Audacity ,这样可以让声音更加搭配游戏。

(八)获得反馈

你可 不要以为这么游戏就开发完毕了。直到你从其他人那里得到反馈,你才算真的了解到底有多少人觉得你的游戏有挑战性,有意思,值得一玩。而且你未必知道是不是 人们也许都会玩你的这个游戏。

不要指望从你朋友那里得到真实的反馈意见,也不要给别人演示怎么去玩你的游戏。你要让他们独自拿着你的游戏 试一试,最好能站在一旁看一看,看他们是如何玩,是不是会遇到一些问题。

你也可以轻易的从一些 iPhone论坛找到测试版尝鲜的人,他们可以免费的给你提供些反馈意见。

(九) 做一个视频

我的测试用户让我意识到做一个使用教程的视频是很有帮助的。我使用ScreenFlow 做了个 一分钟长的游戏的视频,测试后我有添加了 一页纸的文字描述,方便那些第一次打开这个游戏,跳过视频介绍的用户可。

一段视频是非常值得的,这可以大大的帮助确保人们明白如何去玩这 款游戏。对于我的妻子 Donna,这段视频也非常有用,她负责 Virus Strike的公关推广。报道的人员可以很快的去看这段在线视频,这样他们可以在发布会的演示上不必要真实的体验过也可以知道这款游戏是如何操作的,当然通过视 频他们可以确保自己喜欢,再去花时间下载。

(十) 推广你的游戏

不论你的游戏有多么的棒,如果你不去做市场推广,有怎么会有人在 App Store找到你的游戏下载呢?你要做好准备花大量的时间在一些 App Review(应用评测)的网站,包括其他的一些科技网站。

我 妻子在我推出 Virus Strike时,给我写的一篇新闻发布稿件就有相当不错的效果。当然你只能羡慕我有一个记者老婆,她知道怎么弄出来一篇好的稿件,放一 些会吸引其他报道者眼球的故事。我们当时付给 PRMac $20美金的发行费用,事实证明是非常值得的。这个稿件基本上传的整个网络都是,很多网站甚至是直接全文转载。
  • 大小: 14.4 KB
来自: 我想网
4
1
评论 共 2 条 请登录后发表评论
2 楼 tzt1099462818 2014-02-19 10:04
1楼说的好
1 楼 wgw335363240 2011-05-20 16:16
写的很好的文章。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • EJB中Stub和Skeleton的工作原理(Stub and Skeleton of the working principle)

    EJB工作原理学习笔记Ⅰ:RMI工作原理(自定义实现一个Stub 和 Skeleton)Ⅱ:WebSphere实现Ⅲ:WebLogic实现1:RMI工作原理RMI的本质就是实现在不同JVM之间的调用,它的实现方法就是在两个JVM中各开一个Stub和Skeleton,二者通过socket通信来实现参数和返回值的传递。    有关RMI的例子代码网上可以

  • 运用反射实现ejb动态委派 (转)

    运用反射实现ejb动态委派 (转)[@more@]每个bean可能会有很多方法,一般我们通过一个delegate来调用sessionbean中的方法,而非直接调用sessionbean,delegate中只是简单的对每个相对应的...

  • EJB 开发环境与入门实例

    环境准备 OS: Windows 8, 64 Bit JDK: 1.8 Eclipse: Photon Release (4.8.0) WildFly: 14.0.1.Final WildFly 介绍 WildFly 是JBoss AS的新的项目的名称。 JBoss分为AS 和 EAP两个版本, AS是开源社区版本,EAP-Enterprise Application Platform是在开源版本...

  • EJB 调用原理及原因

    这里就结合WebSphere来讲讲各个类的调用关系吧。 假定我们要创建一个读取User信息的SessionBean,需要我们写的有3个文件: 1. UserServiceHome.java Home接口 2. UserService.java Remote接口 3. UserServiceBean.java Bean实现 WSAD最终会生成...

  • EJB的简单介绍和使用

    17.1 为什么需要EJB 要想知道为什么要使用EJB,就需要知道"面向服务"的概念。"面向服务",是软件开发过程中,异构环境下模块调用的一个比较重要的思想。同样,面向服务也只是一种设计思想,不是一种编程技术。由"面向服务"的思想,业界提出了"面向服务的体系结构(Service Oriented Architecture, SOA)"的概念。 用一个实际案例来引入"面向服务"的概念。在

  • EJB客户端应用通过JNDI调用远程EJB的方法详解

    EJB服务开发完毕后,可以打包为*.jar,并部署到应用服务器,如JBoss AS 7或WildFlly AS 10,供EJB客户端程序调用。 EJB客户端程序是调用服务器上部署的EJB方法的应用。从运行环境的不同,可以将EJB客户端程序分为两大类: 独立应用的客户端(如单元测试程序)部署到JBoss AS7 server的客户端(客户端服务器上的程序调用另一个EJB服务器上的EJB方

  • java反射机制应用场景

    转自:http://gcq04552015.iteye.com/blog/1497531 java反射机制应用场景 博客分类:  java   反射机制实现:  1)导出文件(1-4)  2)结果集在页面的显示(在运行时构造任意一个类的对象):显示哪些列, 操作按钮权限的显示(在类中定义一个显示权限的属性真或假,在得到的结果集后调用反射机制和权限控制-得到真或假,

  • EJB 工作原理

    前两天在这个版块的精华区里翻到了Robbin关于EJB的调用原理的分析,受益非浅,但感觉用纯文字来表达效果似乎不够直观,而且对RMI的阐述也略嫌少了些。这里我根据自己的一点体会,在Robbin帖子的基础上再来说说这个话题,供大家参考。首先,我想先说说RMI的工作原理,因为EJB毕竟是基于RMI的嘛。废话就不多讲了,RMI的本质就是实现在不同JVM之间的调用,工作原理图如下:它的实现方法

  • 通过反射获取类的三种方式

    一、通过类全限定名进行获取Class.forName("classFullName"); Class c=Class.forName("com.mysql.jdbc.Driver"); 二、通过类型获取,另外任何数据类型都有一个静态的属性class //类型获取 Class c=StudentInfo.class; //任何类都有class属性 Class booleanCla...

  • 【EJB系列】(二)——JBOSS7中EJB的远程调用和本地调用

    导读   因为JBOSS6,7版本在EJB的本地调用和远程调用的写法上不同于之前的版本。所以在本篇文章中将给出代码实例,仅供参考。 环境 MyEclipse10 JBOSS7 理论知识远程调用(Remote Access)过程远程客户端 运行在跟EJB不同的机器或不同的JVM进程上 它可以是Web组件(如:JSP、Servlet)、应用客户端或其他的EJB 对客户端来说

Global site tag (gtag.js) - Google Analytics