点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > flash>详细内容

揭开flashMX游戏开发神秘的面纱

添加时间:2010-1-5
    相关阅读: 网页 设计 软件 开发 技术 网络 程序

第一部分 flash游戏设计的准备 第一章 第一步 你想要做flash游戏吗? 好的, 让我们开始吧。如果如你完全是一个游戏设计新手的话,这些主意对你来将是无法抵挡的。你也许有一个很好的游戏想法, 但是做一个实际的游戏比如说建立一个多用户的, 三维的游戏却是另外一回事了。不要担心你不行,我们会为你揭开游戏神秘的面纱. 在你真在开始投入游戏设计之前, 我觉得有必要学习一下游戏世界里的一些概念和术语。 在这一章里,为了指引你进入游戏的世界,我们将讨论一下当今flash游戏的主要类型,它们的一些术语,以及flash作为游戏开发环境的能力. 1.1灵感的启发
flash是一个令人难以置信的制作工具。你可以用它建立活泼的网页,高级应用,当然还有游戏。作为一个游戏开发者, 你可以建立一个像tic-tac-toe(AOL:就是在3*3的格子里画叉和圆)这么简单的游戏,也可以建立一个实时多用户这样复杂的游戏。 想像一下怎么样才是一个富有吸引力的游戏(也许你已经想到了),想好了之后就开始你的游戏制作了。用flash来做游戏, 工序是很简单的,你不需要什么计算机科学的知识.
你将学到怎么用ActionScript语言怎么实现游戏的逻辑判断和运用. 这里有几张游戏的图, 你将会学到怎么来做这些游戏。 九球(AOL:现实生活中司诺克才是我的强项)
按此在新窗口浏览图片 寻找单词
按此在新窗口浏览图片 什么类型的游戏才是flash可能实现的呢?看一个这本书的第三部分(还没译),在那里会把
游戏分为几个细节来讲清楚。(这本书的游戏配套资源在附赠的CD里面,当然我给出的网址也可以下载到)所有的做游戏的信息和技术要领都包括在这本书里面了。你可以很快地做出属于你的游戏来了! 不要掉下去
按此在新窗口浏览图片 弹珠台
按此在新窗口浏览图片 冰雪世界
按此在新窗口浏览图片 1.2 术语学(这个是最难翻译的了)
你怎么理解这几个词: isometric, Tile-based, Avatar? 不要担心,你没有必要去翻阅你的字典。走进游戏开发的世界,你会发现就像其它的特殊领域一样,许多描述性的术语会在讨论游戏中经常用到。当你阅读这本书的时候, 理解一个词的意思,或者至少你知道这代表什么东西,对你来说是很重要的。许多术语会在今后的各章节中详细地说明, 这里有一个初步的说明。
游戏视觉
一个游戏者在玩游戏时所看有的视觉,它是通过游戏中的角色的眼睛来反映你的视觉的.不同的视觉类型有不同的名称, 在游戏当中一般是一个点透视.
3d
这是一个很通用的术语, 它包括了所有不属于二维游戏的视觉。特殊类型的流行3d游戏有着它自己的术语(以后会列出来)绝大多数流行的像Unreal Tournament(虚幻竞技场)电脑游戏就用了3d视觉。当然我们不会运用传统的3d引擎,我们当运用一个特殊的3d视觉:isometric(正等测平行透视),看下图. 按此在新窗口浏览图片 跟随
这是一个3d镜头视觉类型,主要运用在运动游戏中, 比曲棍球和足球。
镜头(就是你所看见的)随着角色或者动作摇动取得最好的视角。不过这种游戏视觉不会在这本书上运用到。(AOL:老外就是这样,废话真是多,不用也提) . 第一人称
这是从角色的视觉来决定你在这个环境中能见的东西。第一人称视觉游戏现在在射击游戏中非常流行,像Quake(雷神之锤),Half-life(半条命)和Unreal Tournament(虚幻竞技场).我们也不会在这本书上用到这种视觉。 正等测(也就是大家常讲到的等矩视)
它在3d视觉中运用最广泛。你可以从Diablo(暗黑)或者Electrotank网站的迷你高尔夫球这种技术运用得比较频繁,主要是因为你可以通过图形欺骗来减少程序员和图形师的工作量。我们将会在第八章详细地讲“正等测视觉".

按此在新窗口浏览图片 侧视
这种视觉类型告诉你从侧面看一个物体所见的东西。你可能看过用这种视觉的游戏,比说说Super Mario Brothers(超级马丽奥兄弟)和Donkey Kong(大金钢).侧视在平面游戏上运用得非常广泛,它们一般是二维的。这种视觉类型运用在以后将在第15章细讲的冰雪天地这个游戏上面。 第三人称
这个术语是用来描述所有不属于第一个称和从角色眼睛角度观察的视觉。这些视觉,像正等测,就属于第三人称视觉.
按此在新窗口浏览图片 俯视
俯视表明你在游戏上方看到游戏的区域,就像鸟看地面上的物体一样。这种视觉在像 original Zelda(初始的泽尔达)这样的游戏,和一些智力游戏,像Minesweeper(扫雷艇), 还有下面的 Pac-Man(吃豆子)游戏中比较流行。
按此在新窗口浏览图片 总的术语
这里有一些你必须知道它们的意思的常用游戏开发术语。 算法
算法是解决一个问题或者决定一件事物的逻辑过程.一个算法可以用一种编程语言来表达.
但是比程序来得更抽象。比如说你可以建立一个按名物排序的过程。这个过程是一个算法并且这个算法可以用ActionScript或者其它的编程语言来表达. 人工智能(AI)
这是决定一个逻辑方法的一个算法或者一个算法集合.比如说,AI程序可以算出游戏的对方(电脑控制的)怎么才能计算出找到你的路径.另一个AI用得比较广泛的领域就是计算机自动解决一个迷宫问题。 化身
有的时候一些聊天室被设计成可以让在这些聊天室里的人们具有一个具体的图片形象。它们被称做为化身,这种聊天方式也被称为化身聊天。(AOL:化身就是用户在虚拟现实游戏中的数字形象代表). 碰撞检测
碰撞检测是记录两个物体交集的行为.它有简单的情况,比如检测鼠标是否在在一个按钮上面;也有复杂的情况,比如检测两个运动着的物体是否重迭. 碰撞作用力
这是在检测完碰撞后发生的事。这个术语一般用在物理方面,就像两个台球碰在一起,然后又弹开。 游戏机
一种专门为玩游戏设计的电脑。游戏制造商有名的有任天堂和世嘉等。 地图
一个在游戏中描述世界的区域 实时
不像轮流制的游戏,在一个实时游戏中你可以随时移动。 渲染
在屏幕上画出一个物体。这个术语一般用在3d游戏的参考:3d引擎计算出哪里有一个物体然后画出它来。 源代码
也称做源文件。源代码是开发者原始的作品.源代码可以被编译,发布,形成另外一个文件.这个被编译好的文件就是用户所看到的文件,而不是源文件本身。在Flash中,源文件是指一个 .fla文件,它发布之后的文件格式是.swf. swf文件只包含了fla文件的一小部份信息。它使得作者的作品受到保护,别人不知道里面的东西。这本书附带的光盘里面有很多游戏的源文件。 轮流制
这是一个游戏对游戏者移动时间的限制。比如说,在下棋游戏里面,你不能在任何时刻想移就移,你必须等到轮到你下了,你才能移动你的棋子.许多多用户游戏都采取这种形式, 你将会在这本书上看到的。 矢量图
值得注意的是它们的小容量和可测性,矢量图是用数学方法表示的点的和点的关系的集合。Flash用这种图形格式有着非常大的优势。 世界
游戏的环境 1.3 游戏类型
(AOL:由于这节大家都已经很清楚所以不翻译) 就像电影一样,游戏也有游戏类型,它们难以区分。因为有许多游戏是由几种不同的游戏类型构成的。这里有现在流行的游戏类型列表:

1.动作类
2.冒险类
3.娱乐类
4.教育类
5.第一人称射击类
6.智力类
7.运动类
8.角色扮演类
9.策略类 1.4 Flash的局限性
就像所有的软件运用一样, Flash游戏也有它的局限性。Macromedia公司每发布新版本的Flash时都增加了许多新的特性。在这一节里我将介绍用Flash制作游戏的优点和缺点,当然也说一下哪些类型的游戏在flash中是很难实现的。
Flash游戏和非Flash游戏的比较
flash是最好的游戏开发平台吗?答案是否定的.有很多原因选择flash做为游戏开发环境, 也有很多原因不选择它。在这一节里, 我们将讨论一些主要的原因。 flash开发游戏的优点
我花了很多时间在flash游戏开发上面, 所以我首先得说一下它的有利之处。
网页支持 flash文件是设计为在网页上浏览的,在网上发布游戏的一个很好的选择。
小容量 flash一般使用矢量图和压缩声音文件的形式,所以最终的flash游戏会比其它游戏开发平台做出的游戏小非常多。
插件的突破 现在最主要的几种网页浏览器都带有flash文件浏览插件。有98%网上用户可以观看flash动画。最大的突破就是各种版本的插件都可macromedia公司的网站上下载到。(网址www.macromedia.com/software/player_census).
后台支持 flash游戏可以和后台实现无缝的对话。使用flash的内嵌的特点,你可以结合后台程序来实现聊天室、多用户游戏和积分榜等功能。(AOL:昨天就和古老大用flash做的游戏边聊天边打桌球)
程序员和美工人员的文件共享 用flash美工人员可以和程序员可以在使用同一个文件里合作,这在游戏开发环境中是比较罕见的。
简单易用 恐怕这就是flash做游戏开发的最具吸引力的原因。你可以在很短的时间里学会和开始做游戏。而用其它的语言,你也许要花上几年的时间。
flash作为游戏开发环境的缺点
就像我刚才提到的那样, 也存在着许多不选用flash作为开发平台的强有力的原因.在你惊讶地碰到一些不愉快的问题的之前,你必须知道这些。
执行速度 Macromedia公司花了大量的时间来使得flash网页插件变得最小的程度,这样发布在网上有大多数人都可以很容易地下载到这个插件.但是导致了很多的牺牲,首当其冲的就是执行速度。flash在代码执行和图片渲染的速度上比起其它的游戏开发平台都是令人感到失望.另一方面,像Macromedia公司的Director这样的游戏开发平台或者WildTangent这样的平台执行速度都很好,但是它们的插件却太庞大了。这样的话, 只有少数的人被迫使下载这些庞大的插件来观看这些执行得更好的游戏。
3d支持的缺乏 flash不提供三维引擎所必需的材质(简单的说就是把图片贴到一个多边形里)功能。
缺乏系统操作 当你运用把一个游戏当做一个工程文件运行的时候,flash不能很容易地访问本地操作系统来做一些像浏览硬盘的工作。(但是这种类型的工作可以用像Northern Codeworks'''' SWF Studio 这样的软件实现,网址是http://www.northcode.com) 许多选择flash作为游戏制作工具的开发者都是因为他们希望他们的做出的游戏能够使很多人在网上很容易的看到。假如意图是希望不在线的时候访问CD-ROM来玩游戏的话, flash仍然是一个选择,但不是最好的选择。 不可行的游戏因素
说出flash很难实现的东西比说出flash可以实现任何东西来得容易些。这里我们将接触一些flash很难实现的东西,或者因为一些其它的原因不可行的东西。我不想说flash对所有的这些东西都是不可能实现的,因为很多富有创造力的人可以用一些比较巧妙的欺骗方法来实现看上去很像这些的效果。
3d图形材质很多人用ActionScript语言做出了3d引擎。一个3d引擎就是可以使三维的坐标放到幕上显示。(AOL:不太专业的说法,这只是三维投影变换而已)。这些引擎实际把三维空间坐标变换到二维的屏幕上,它存在着三个局限性:
材质 你不能将一个位图贴到flash的一个物体上去。就像我刚才提到的那样, 有一些人做了一些创造性的尝试, 把一组位图组合起来造成假三维的效果。这是一种方法。有一些人成功地贴一些图到物体模型的表面,但是这仍然有局限的。在很多特定的情况下贴图是很难实现的。
Z-sorting(深度排列) 这就关系到哪个物体应该显示在哪个物体前面的空间顺序问题。在真三维的游戏里面,深度排列可以实际地显示在表面的物体,深度排序没有受到限制,而在flash里面因为movie-clip(影片剪辑)的level原因深度排序受到了限制。
速度 用flash做出的三维引擎只能做出代表性的简单的形状来,这样可以保持比较快的帧速率。而复杂的场景经常是非常占CPU运算量的,这样帧速率会很慢.(AOL:感受很深啊~~)
实时多用户游戏 建立这样一种游戏绝对是可行的, 但是由于许多原因使得这不是很容易实现的。其中最重要的一个原因出自于游戏本身。由于网络延迟,虽然按理论可以实现,但是很难实现一个像Mortal Kombat(终级致命快打)的实时多用户游戏。但是,像scavenger hunt(残酷的猎杀)这样的各个游戏者交互很少的多用户游戏还是切实可行的。我们将在17章里面详细地介绍,一个Tic-Tac-Toe(画圈和叉)的游戏,你的第一个网络游戏。
实时运算 我知道这个是一个含糊不清的局限。当你制作一个游戏的时候,预测到游戏的实时运算的繁琐度是很重要的(虽然这是很难的)。举个例来说吧,一个有很多敌人的游戏,你必须设计好敌人在持续移动中判断下一步的动作,这是一个很大量的运算过程。你就将做很多次尝次,直到使计算机可以承受到多少敌人作出动作判断的运算量,而且执行得比较流畅为止。
  这一章告诉你什么游戏才适合用flash来做。在这本书里面你将学到做一个游戏的各方面知识,从图片到声音, 你也可以看到所有的这些东西运用在一些游戏成品里面。看完这本书之后,你就可以真正地开始做属于你的游戏了。 1.5 要记住的几点: * flash不是一个强大的专业游戏制作工具,它不适合极其复杂的游戏。
* Flash的长处和局限性使得它做一些类型的游戏显得很完美,而做另一些类型的游戏却不如其它的开发工具。
* flash中的ActionScript语言将是你获得游戏成果的主要工具。
* 因为这几方面的原因:方便性、可扩展性、综合性、文件大小和容易实现性,flash是开发网络游戏(AOL:这不特指多用户游戏)的一个很好的选择。flash是一个在很短的时间就容易地掌握进而开发游戏的工具。
* 因为文件大小和易实现的原因而导致的牺牲使得用flash开发游戏的执行效率比用其它开发平台差,这是flash和这些开发平台的本质区别。
* flash不是一个真三维引擎。
第一章完. 第二章 从游戏思想到游戏设计的策划
如果你像我一样, 你可能曾经开启Macriomedia Flash时就开始着手制作一个游戏。也许你对一个游戏的实现只有一个含糊不清的想法,或者你做这个游戏的时候老是出问题。这就告诉你:你有很强的创造性,有可能制作想法也不错, 但是你没有一个很好的游戏制作方法。按照你的方法来做的话, 你肯定会遇到越来越多的麻烦。我以前也碰到过这种情况,那时总是希望做在这个具体的事情前有一个计划。

这就是为什么我努力学习怎么拟定计划的原因。 是的, 也许学这个会很乏味, 但是它是游戏制作最大的秘决。一个好的计划可以让你预先想到以后会碰到的问题,然后你可以在问题发生之前提前避免或者解决这些问题。
在这一章里,我们将讨论一个游戏制作过程。它可以结构化你的游戏思想,使你的游戏制作得更合理,更有效。这个简单的游戏制作过程,将会在你以后的任何游戏制作中有所帮助。(当然,我也没有说这是制作游戏的唯一途径。其实上存在着很多种制作游戏的过程。这个制作过程只是对于我来说是最好的!)

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册