创建自己的游戏——项目管理

你可能有一些非常优秀的游戏想法想要用程序实现,下面为创建游戏提供了一般性的建议,并介绍了各种游戏类型面对的挑战及应对方法。

编写游戏很有趣,回报也很丰富,但是完成一个游戏项目要困难多了。本节将介绍开发项目时可以采用的方法。知道何时放弃一个游戏项目和何时坚持完成一个项目很重要。

开发游戏需要有一个想法,所以可以随身携带一个笔记本,任何时候脑海中涌现一个自己觉得非常好的想法时,就把它记下来。另外一个可以采取的做法是仔细分析自己喜欢玩的游戏,试着把游戏分成几个系统,写下自己喜欢的游戏特征。如果看到一个好的GUI、特效、谜题或游戏交互,试着自己创建它们。重新创建现有游戏的各个部分是提高自己技能的一种好方法。

当有了一个优秀的游戏想法时,就可以进入下一个阶段:可行性测试。你有创建这个游戏的资源吗?如果游戏需要几小时的全动态视频(full-motion video)、几百小时的游戏时间或几千个具有完整动作的怪物,那么除非你周围有一些水平极高的朋友,或者你有充足的资金,否则可能需要把目标订得小一些。理想的游戏应该可以对你的能力提出挑战,但是同时仍然是可以完成的。如果刚刚接触游戏开发,那么就从一些能够在几天内完成的小项目开始(例如PongSpace Invaders),逐渐开始开发一些要求更高的项目。

在对游戏的设想通过了可行性测试后,需要把它分解为几个可以管理的部分。这是设计中的较高层次,但是很有趣。你对开发一个出色的游戏有了一个模糊的想法,但是现在需要把这个想法落到实地,确定各个部分如何组合在一起。一个不错的做法是在纸上用方框勾勒出游戏中的各个类和系统,并使用箭头表示出它们之间的关系和交互。把这个粗略的高层面计划贴到墙上或者工作区的某个地方很有帮助,当你开始仔细研究项目的细节时,它可以提供指导。如果觉得自己还没有达到绘制这种方框和箭头的阶段,那么再运用想象力,在脑中构思一遍对游戏的想法。启动游戏后出现什么?开始第一个关卡后呢?可以采取什么操作?游戏世界对这些操作做出什么反应?

假设希望创建这样一个游戏:必须通过唱不同的歌让角色在屏幕上执行不同的操作和与环境交互。分解这种设计时,最先映入眼帘的第一个大系统是玩家输入,所以需要进行研究,以便能够检测出玩家是否在唱歌,以及确定玩家在唱什么歌。唱歌部分需要一个完全属于自己的小项目。至少,需要有一个系统通过麦克风从玩家那里获得声音输入,另外一个系统确定玩家唱的不同的歌。必须检查游戏中的每个角色,看玩家当前唱的歌对它们是不是重要。还需要定义角色可以采取的动作、游戏的输赢状态,以及表示游戏世界的方法。这个只有一行的游戏设计提出了这样一些问题。下一次在纸上完成对游戏的设想时,应该会得出许多需要回答的问题和一系列需要研究的主题。

下一个阶段是确定设计阶段提出的问题和任务的优先级。并不是每个游戏都有需要进行研究的特征,但是如果你的游戏要求你事先做一些调查研究,那么就要首先完成研究工作。研究可能很检查,只需要在Google上进行快速地搜索,也可能需要咨询经验丰富的人或者阅读过相关书籍或文章的人。可以使用小的玩具程序来尝试不同的研究想法,如果成功了,就可以对这种想法进行整理,然后整合到最终的项目中。

完成了所有的研究工作后,询问自己这样一个问题:“最少做哪些工作就可以得到一个能基本工作的游戏?”然后做这些工作,如果可以的话,最好一次性完成这些工作。有了游戏的第一次迭代结果,返回去逐渐改进游戏就容易多了。如果有几天时间没有参入开发,则很难拾起一个半成品游戏。

游戏编程是需要时间的,通常每次开发最少需要4个小时左右的时间,特别是当你特别专注于手头的任务而忘了时间时更是如此。计划任务列表(to-do list)是指导开发工作的一个好方法。建议在计划任务的下边写上开始完成这个任务所需要执行的最少步骤,例如:

(1) 设置开发环境,并创建一个基本的窗口和游戏循环。

打开Visual Studio,创建一个新项目,命名为Project Minstrel

(2) 构建Simple Song Classifier框架类。

添加SongClassifier.cs文件,并添加System.Speech库。

计划任务后面的短句子是可以立即执行的工作。开始第一步以后,应该完成整个计划任务。不要在每次开始开发项目后都积留下未完成的计划任务,然后在下一次丢弃上一次的计划任务列表并重新开始工作。特别重要的工作是可以复制的。

如果看不到项目的出路,不要害怕停止项目的开发。每个项目(即使是未完成的项目)都可以教给你一些东西(即使学到的是“我再也不那么做了”,也是有帮助的)。对于喜欢的项目,你会实现更多的特性,因为你是因为喜欢而开发,而不是因为自己已经投入了大量的时间,而不得不继续开发。

如果希望得到反馈或者帮助,Internet上有许多游戏编程社区,他们很乐意尝试你的游戏并提出建议和意见(比如Independent Game Source,http://forums.tigsource.com/index.php。本书配套光盘上还提供了其他社区的地址)。在线社区还会定期举办游戏编程竞赛,并且如果你想寻找其他程序员或美术人员进行合作开发,他们也提供了这种服务。
 

《精通C#游戏编程》试读电子书免费提供,有需要的留下邮箱。 

转载于:https://my.oschina.net/cjkall/blog/195971

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值