2007/05/29 | Flash游戏设计的七个步骤
类别(Flash游戏教程) | 评论(1) | 阅读(1214) | 发表于 17:27

最近工作有些忙,缺少整段的时间来考虑做游戏,于是利用空闲的时间在读一本书,名字是

Macromedia® Flash™ MX Game Design  (Flash MX 游戏设计)

原书的下载地址在里: http://www.nshen.net/blog/article.asp?id=495

书中第二章提到设计一款 Flash 游戏的过程,可以分成以下七步,下面试着翻译下来与大家分享。

1、找到一个创意。

2、明确你的受众(观众),调整你的创意,以适应受众的需要。

3、确定游戏的外观和感受。

4、找出你无法完成的内容,并且寻找相关资料,帮助你来完成它。

5、量体裁衣,取掉一些难以实现的、不合适的内容。

6、编码实现游戏。

7、测试游戏,消除Bug,提高可用性。

     在寻找创意阶段,首先需要对某类游戏的规则进行熟悉,比如桌球游戏,需要对桌球的规则进行了解。如果你是新手,刚开始时最好从简单的创意入手,RPG游戏的复杂程序通常是会超出新手的预料的,所以在没有充分的准备之前先不要进入这种大型游戏的开发。

    谁会玩你的游戏?(换一种问题就是:谁来用你的课件?课件的受众相对简单,有学习任务的人群就是课件的最终用户)。对于不同的受众,可以有不同的设计,在设计之初,就应该明确你的最终用户是谁,除非你的游戏只是为了在自己的电脑里玩。明确最终用户的好处是可以帮助你确定游戏的风格,并且能够根据最终用户的特点进行有针对性的设计。文中还提到,所谓适合6岁到60岁所有年龄层玩的游戏,目前知道的只有扑克游戏这一种,所以不要盲目的将最终用户设定为所有人。如果你无法明确你的最终用户是哪些人,参考一下类似游戏的用户群是比较简便的方法。如果你的想法是独一无二的,那么可以先做一个雏形,看看你期待的用户群的反应,这种情况下通常很难准确估计谁会更喜欢你的游戏。

   外观和感受是衡量一款软件时常用的标准。外观指得是整体的绘画风格、色彩搭配以及动画运用。感受则指的是游戏的可用性(耐玩度),对用户的情绪或是感观的触动,包括故事的情节、声音运用等内容,当然外观同样可以给人以直接的感受。学习并参考类似软件的界面,分析它们的优缺点,然后在自己的游戏里进行借鉴。(个人以为,在开发工具不断升级以后,引入新的操作方法或是操作界面,是提高游戏可玩性的一个有效手段。利用新的技术把游戏复杂的操作方法简化下来,或是创造出一种全新的感受,都有可能让一款老游戏重获新生)

   在开发过程中一定会有各种各样的问题,那么,明确你的弱项就成为必须的工作之一。作者以设计桌球游戏为例,将需要解决的问题列成一张表,将自己的答案写在右面,如果还没有肯定的答案就去寻找相关的资源,直到所有问题都能够尽量被解决。

要求                                              答案
具备Flash8 或 Flash9 软件     有,网上有下载。
熟悉ActionScript                         是的,已经学过了。
能够进行碰撞检测的计算          不会                            
能够用代码模拟碰撞效果          不会
能够进行多用户的游戏编程      不会  
声音素材准备齐全了?              准备好了
图片素材准备好了?                  还没有

要求                                               解决方案
具备Flash8 或 Flash9 软件      有,网上有下载。
熟悉ActionScript                          开始学习。
能够进行碰撞检测的计算           阅读第5章碰撞检测
能够用代码模拟碰撞效果           阅读第6章碰撞反应
能够进行多用户的游戏编程       附录B 模拟多用户环境  
声音素材准备齐全了?              网络素材 www.ultimatesoundarchive.com

图片素材准备好了?                  网络素材 www.flashkit.com

通过前面的准备阶段(如果你认真的思考过了),你或许还是有很多无法解决的问题,接下来该做的就是“裁剪”了。出于以下的三种原因,你可能需要对你的设计进行删减。

1、无法满足在前一阶段中确定下来的某一项具体的要求。(如自身的技术解决不了某个问题,最好的办法就是尽量避开这个问题,或者向别人请教)

2、通过测试,或者你意识到某个效果将会对游戏的整体表现造成影响。(比如高品质的声音、图片,会造成游戏下载时的困难,复杂的游戏效果,会造成运行缓慢)

3、如果实现全部效果将会导致你的完成时间推后,而你又必须在指定的时间内完成该任务。(做课件也是一样,尽量给自己留一点提前量,能够提前完成就是最好的结果,如果是商业开发,延期的后果将会很严重)

  作者举了个例子,比如在设计桌球游戏时,由于种种原因没法实现网络版的游戏,那么可以考虑实现成单机版回合制的游戏。与其花上数周来优化代码设计,以取得运行速度上的一点提升,到不如痛下决心,从设计中删去这些复杂的内容。

 (在列举问题的过程中,可以将代码实现中的核心运算问题也罗列出来,比如做拼图,必须考虑的是图片的切割,MC的存贮以及操作。刚开始可以将图片直接切成小片放到MC中去,以后可以考虑用代码来实现模拟切割。核心代码部分考虑清楚之后,编程实现时就不会有太大的困难了。)

  编程实现通常有以下三步:

1、整理素材。(将素材导入到库中,并编写适当的名称及编号)

2、编写处理函数。(将各种功能分解到函数中去)

3、将各种的内容整合到一起,准备开始测试。(建立程序的流程结构,调用函数及各种的素材)

精益求精的QA过程(Quality Assurance)。(QA过程中既包括软件的测试,同时也包含了软件的调整工作)在这个阶段,把你的游戏放到没有参与过设计的人面前,给他们一些普通的指导,然后让他们来运行你的游戏,从旁观察他们的反应。在生人手中通常可以轻易的找出几个软件设计中的Bug,在他们使用完之后请他们回答下面的问题:

1、系统的操作方法介绍的清楚吗?

2、你觉得这个游戏有意义吗?

3、这个游戏好玩吗?(要让人家敢说真话啊 :~)

4、它是否对你有吸引力?或者它是否能够引起你的注意?

5、哪些地方需要修改或是加强的呢?

6、有没有发生任何的错误呢?在哪里发生的错误?

7、有没有什么地方使你无法完成游戏?如果有是什么?(比如卡在某一步的操作上,不知道下一步该做什么)

8、提示音和音乐听起来怎么样?(是否情景相融)

  如果你没有收到任何关于声音和音乐方面的批评,这将是一个好的信号。当一个人全神贯注的投入到游戏中的时候,通常不会去留意里面的音乐。而当游戏本身缺少吸引力时,人们才会去注意音乐的效果,并且评论它。

  在得到这些问题的答案之后,你可以有针对性的对游戏进行修改。这一阶段工作可用正式或非正式的形式来进行(不至于一棒子被打死),QA的过程可以反复进行多次,直到你对自己的工作比较满意,并且有信心拿给你的测试组人员进行测试为止。

   提前制定好计划,最重要要的意义就在于 让你的工作可以平稳有序的进行。如果没有适当的计划,你很可能就会发现由于一些没有预见到的问题,导致你在花去了很多时间之后,不得不放弃一些想法。按照这一章节中讨论的开发流程,你将能够将你的游戏创意(课件创意)分解成一些逻辑片段,提前考虑好可能出现的问题(比如核心的算法,必须提前考虑好),并且解决这些问题,然后再将所有准备好的内容进行整合,完成你的游戏。

     以上内容是对书中第二章的翻译,括号中的内容是本人给出的注释及个人的意见,仅供参考。在做计划时,如果能将问题列举地细致周到,并且有一个初步的解决方案,那么代码实现阶段的工作就可以从容的进行,而不是把所有的问题都放到编写代码的阶段才开始考虑。

  祝大家: 学习愉快!

0

评论Comments