侧视
这种视觉类型告诉你从侧面看一个物体所见的东西。你可能看过用这种视觉的游戏,比说说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时就开始着手制作一个游戏。也许你对一个游戏的实现只有一个含糊不清的想法,或者你做这个游戏的时候老是出问题。这就告诉你:你有很强的创造性,有可能制作想法也不错, 但是你没有一个很好的游戏制作方法。按照你的方法来做的话, 你肯定会遇到越来越多的麻烦。我以前也碰到过这种情况,那时总是希望做在这个具体的事情前有一个计划。
这就是为什么我努力学习怎么拟定计划的原因。 是的, 也许学这个会很乏味, 但是它是游戏制作最大的秘决。一个好的计划可以让你预先想到以后会碰到的问题,然后你可以在问题发生之前提前避免或者解决这些问题。
在这一章里,我们将讨论一个游戏制作过程。它可以结构化你的游戏思想,使你的游戏制作得更合理,更有效。这个简单的游戏制作过程,将会在你以后的任何游戏制作中有所帮助。(当然,我也没有说这是制作游戏的唯一途径。其实上存在着很多种制作游戏的过程。这个制作过程只是对于我来说是最好的!)
[1] [2]
