1、站长专用!第一节 概述随着计算机技术的发展,计算机从高技术的神坛上走下来,走进我们的家庭,走进我们的娱乐生活中。在家用计算机的使用中,作为游戏机的使用率是很高的。同时对于游戏迷来说现有的游戏中总有很多不足之处,让人想一试身手作出一套更好的游戏(不过,这可不容易)。作为和亲爱的用户您一样的游戏迷,我也有相同的想法。这样便产生了这套游戏编程基础的教学软件。这套软件主要是面对有一定编程基础的用户,但考虑到很多游戏迷在 Windows 编程方面还是个新手,所以这套软件中还增添了一章“Windows 编程基础“。在基于Windows 的游戏大部分都是支持 Directx 的,故我用了较大篇副讨论了 Di
2、rectx 5.0,并使用基于 Directx 5.0 的例程来讲解游戏编程的思想和实现。由于,Directx 6.0 中的很多在功能只支持 VC,而且在诸多高级语言中 C 是最适合游戏编程的,所以这套软件中的例程及讲解都是基于 VC 的。相信,用户通过这套软件的学习将能有信心编出使自己满意的游戏来。自己满意的游戏是否是大部分人都喜欢的呢?是否能成为市场上成功的游戏呢?为此在本章的下面几节中我们将讨论一些非技术的关于游戏总体设计的话题。第二节 电脑游戏的发展史60 年代早期使用最原始的大型计算机,一小部分程序员开发游戏而其他人认为他们在做研究。在 MIT 的实验室里开发了 Space War
3、和其它早期的游戏。1973 年到 1975 年Nolan Bushnell 建立了 Syxygy。在市场上出售 SpaceWar 的“Arcade“版,但失败了。在 1975 年下半年,推出了 Pong,并使之成为一个非常流行的游戏,之后,他重新命名公司为 Atarh 他们始创了我们今天所熟知的游戏工业。1960 年后期到 1970 年早期更多的程序员使用大型计算机开发游戏;WilliamCrowther 开发了流行游戏Adventure。1976 年Rushnell 以2,600 万将 Atari 出售给 WarnerCommunications。1980 年其它游戏系统依次登台,象 Pll
4、illins 的 Oddessy 和 Mattel 的Intellivision,目标都是希望取代 Atari。一些小的个人计算机开始出现,但视频游戏仍处于领先位置。1977 年Atari 推出了 Atari2600VCS,家庭视频游戏行业兴起!一个名叫 Apple 的小公司出售一种计算机 Apple l,但没能引起人们的注意。1979 年Atari 公司的一些项尖的程序开发员从对 Atari 的意见不一致发展到公开的不满,成立了自己的公司 Activision,其它“第三方“开发公司相应出现。1981 年IBM 推出了 IBM PC。1982 年Atari 开始滑坡,视频游戏市场处于大萧条状
5、态。Atari 的主席 Ray Kassar 宣布销售已下跌了 50。个人计算机应时出现,许多新型计算机游戏开发者纷纷出现,其中有些成为了专业开发队伍,新出现的知名公司包括 Sierra OnLine 、 Broderbund、Synapse、Sirius 及 Strategic Simulations。Electronic Arts 成立,并成为现代游戏公司的楷模。1984 年Apple 推出新型计算机产品 Macintosh,但该系统缺点是启动馒,此时该系统的购买者和软件开发者的主要目的不是开发游戏。1983 年伟大的视频游戏跌至最低点,Mattel 宣布其 Intellivision 产
6、品损失22,500 万。1985 年Nintendo 由于投入一种新的视频游戏产品任天堂娱乐系统,而重新繁荣了家庭视膝游戏市场。16 位的计算机的革命继续,Atari 的产品 Atari ST 投入市场是对 CommodOre 一个沉重的打击。1986 年CommodOre 极力宣传并推出 Amiga 计算机,该计算机是由 Atari 硬件设计师 Jay Miner 设计的,最初是想作为下一代的视频游戏系统,但由 Commodore 投资的这种机型却成为机器 Commodore64 的继承者。不幸的是,巨大的市场打击和其它的开发埋没了该系统的远大前程。Sega 推出了 Sega Master
7、系统,在技术上要优于 Nintendo Enter。tainment系统。由于 Sega 忽视第三方开发者,没有征集足够多的软件支持该系统,所以没有取得足够大的市场支持而失败。1988 年计算机行业从 8 位计算机转向 16 位系统,新出现的视频游戏控制台引起了新的合并,Cine。maware、Epyx 等公司处于困难时期。1987 年游戏变得更复杂了,更多的公司转向集体开发,Electronic Arts 推出了第一个集体开发产品“Skate or Die1“IBM PC 系列,由于具有了好的图形适配器,开始成为可采用的计算机游戏平台。1989 年新的 16 位系统初次登台,最值得注意的是
8、Sega 的 Genesis。当 Sega 由于广告宣传和大量的 EA 运动游戏,占据控制台市场的领先地位时,任天堂(Nintendo)觉悟已晚,损失惨重。1990 年Amiga 和 ST 在市场上基本灭迹,PC 系列和控制台成为主要的游戏开发平台。Electromc Arts 开始成为主要的游戏开发和发行者。1992 年PC 游戏开始流行,在它迅速发展的几年里,其它一些计算机游戏平台被淘汰,把 PC 游戏市场推向一个新高度。1991 年Nintendo 的产品 Super 一 NES 首次推向市场,16 位之战的全面爆发促进了许多控制台系统的销售。1993 年 Pentium 芯片出现,Mi
9、crosoft 预先展示了它的新产品 Windows 操作系统,代码名为 Chicago。尽管 PC 迅速发展,Sega 和 Ninter1do 继续处于领先位置,控制台系统占领了世界游戏市场的 80。1994 年Panasonic 推出了 Real3Do 游戏机,预示着 32 位控制台系统的出现。Atati 推出 Jaguar 32 位游戏机。但饬礁霾 罚绕涫?DO)都不很成功。Id Software 推出了 Doom,使人们意识到可以使用共享软件发行方法。1995 年Sega 生产了 Sega 32 位控制台系统。Sony 推出了 Sony Playstation 32 位控制台系统。Mi
10、crosoft 推出了 Windows 95 和 windows Game SDK,使得大量的游戏开发转向Windows 乎台。Internet 和 Word Wide Web 流行,大量的用户上网。1996 年Nintendo 推出了 UItra64。大范围的多人游戏已经出现。多媒体、3D 和虚拟现实等取代 WWW 而成为热点,主要的新技术和产品包括 Java 1 ShockWare、JavaScript、Netscape 2 等等。1997 年至今Iintel 推出 MMX 技术,并基于此推出 Pentium MMX 和 Pentium处理器。AMD 和Cyrix 也基于 MMX 技术推出
11、了 K6 和 M2 处理器。游戏开始大量使用 MMX 技术。PC与其他的控制台系统在性能上已相差不大了。AMD 推出 3D-NOW 技术,使其基于 3D-NOW 的处理器 K6-3D 在图象处理的方面超过Pentium。第三节 游戏的组成要素游戏设计涉及一个置于所有其它要素的中心的东西这就是交互性,使游戏从其它的创造性的媒介(如艺术、电影、音乐和书等)中分离出来的这一要素可以在游戏者同游戏的交互中体现,对于游戏这种媒介的驱动力量来自于游戏者的决策,换句括说,是游戏者的行为,而不是媒介本身。你不要仅仅看或仅仅听一个游戏你应该控制它。设计者必须创造一个诱使人们去玩的产品,同时还要提供故事线索、情绪
12、感染、真实的声音和其它创造性的媒介给予的特性。这是比较高的要求,但是这就是使游戏开发如此有趣的一个原因。玩游戏就意味着决策。因此,我们的游戏需要创造让游戏者不得不决定做什么的情境,这样,他或者她才能执行所要求的行为。在一些情况下,决策越具有挑战性,这个游戏就越具有感染力。此外,游戏者越能够影响游戏的结果,这个游戏就越能够吸引他们参与。当坐下来设计一个游戏的时候,要努力创造有趣的交互,还要努力在创设的情坎中为游戏牙提供作出决策的容易的方式。然后,提供将进步引出新情境的有趣结果。这个完整的过程要一进一遍地进行,直到取得最终的结果。1.影响结果交互性的一个最重要方面就是游戏者能够影响游戏的结果,并对
13、结果具有最终的控制权,一个游戏者坐下来玩游戏时希望能够在过程中有所进步,或者能够挽救世界,或者能够达到最高的等级水平,因此,在设计一个游戏时,你必须一开始就让游戏者明白,他或者她能够对结果改变到什么程度。当然,你不需要预先告诉游戏者他们能够改变什么结果,或者他们怎样改变它;你只需让他们知道:他们的确能够影响结果。游戏设计者用于创建好的游戏的一个重要概念叫做多重结果。多年以前,大部分游戏只提供两种结果成功和失败,游戏者结束了这个游戏就是成功者,否则游戏者被消灭。然而,许多现在的游戏,尤其是交互式故事或者 RPGs,就可以有几个完全不同的结果,这些不同的结果可能让游戏者进入完全不同的新的冒险,或者
14、进入新的交互式故事。例如,如果你正在玩一个战争游戏,而且,你在某一场战斗中成功了,你将可能获得军衔的提升,到上尉、少将或将军。注意:在设计游戏时,给予游戏者通过他控制游戏来决定的各种各样的结果是十分关键的,只有这样才能让人们花时间去玩。2成就的角色。玩任何游戏的根本目标都是获得什么东西,不管怎样设计,在任何游戏中成就是一个基本要素,当然,成就有许多不同的形式。可以简单到是打败一个对手、得高分或达到较高的等级水平。当你在游戏中设计成就因素时,可以在许多不同的水平上进行,你可以提供多重的成就目标;你也可以提供渐进的成就水平,例如你可以在每隔三个等级之后的等级结尾以不同的“主要怪物”作为特殊对手,在
15、整个游戏的结尾则以“最大的物”,作为对手。不管你的游戏提供了什么形式的成就,成就是游戏过程最主要的转折点。当然,成就并不一定意味着赢,还应该是一个游戏逐渐走向最终结果的自然的前进,一些游戏提供了实际的结束作为成就,还有一些游戏成就是绝对的成功(特别是体育游戏),如赢得一场比赛或获得一个冠军。但它们也可以有不同的成就等级。重要的是游戏中成就的获得不应该有大的跳跃,而应该是进行一定的时间后发生的渐进的过程。另外,我觉得一个游戏应该有 34 的潜在游戏者能够获得 100的成就水平,毕竟,游戏不能因为太难而被认为违反一般潮流,游戏者喜欢的挑战是那些可以征服的挑战。人类的本性就是希望获得成就,如果人们去
16、做一些不能获得成就感的事情,这是不符合人类本性的。这就是说,不要设计一个游戏,而又故意过早发布提供线索的资料。3.失败的角色。“游戏结束(Game over)“大概是计算机游戏带来的最不好的一个短语,在这以前,基于竞争成绩或者简单成就的游戏都包含有各种各样的失败程度。4.改变情景许多游戏允许游戏者控制或改变玩的情景或者参数。游戏者经常喜欢或需要修正游戏的可玩性,这不仅包括简单地改变他们能够拥有的“生命(lives)“的数量,而且包括改变一个战争游戏中的所有数字、参数。通过改变情景,设计者应该提供游戏者如下特性:a.修正游戏难度的能力b. 改变玩的环境的能力c. 修正等级水平或游戏角色的能力5问
17、题解决。我们已经花了一些时间讨论成就和失败,这些原则的具体例子可以在问题解决中发现,而问题解决又经常与“智力难题类游戏(puzzles)“相联系,而且也是其它类游戏包括冒险游戏、RPG、策略游戏中的关键要素。问题解决是给游戏者清晰定义一些挑战,然后通过解决问题的方式来进行交流。这佯,游戏设计的一个主要工作就是创建一些有趣的和富有挑战性的问题,这些问题具有符合逻辑的解决方法,使游戏者能够最终通过玩游戏解决问题。如果方法太简单,游戏者将迅速完成,然后再去玩其它的一些游戏(也许,这些游戏还是你的主要竞争者)。另一方面,如果解决问题的方法太难,游戏者可能由于挫折而放弃。这听起来容易,但是,事实上许多游
18、戏对于游戏者仍就具有一些不合逻辑的方法,或者问题太难,游戏中间题解决直接与游戏的成功或失败相联系,人们不介意失败的危险(这是挑战的一部分),但是,如果不可能获得成功或者根本就不可行,这个问题就是无法解决的,也就不再成为问题,而是一个绊脚石。在游戏中一个与呈现问题相关的有趣的事情是创设问题情境。你创设的问题应该让游戏者把已有的知识运用到问题解决中来。许多游戏的问题解决知识仅仅限于游戏本身的知识,对于大多数游戏来说这是不错的。然而,还有许多游戏,尤其是冒险游戏或者“交互式故事”,你可以表现真实世界中的智力难题,一个简单例子是这样一个古老的智力难题,一个拿着一块木板和一块石头的人被陷在一个巨大的坑里
19、,还有一股水流向坑里,然后流到排水管里。游戏可以拿着石头来堵上排水管,当水填满坑以后就可以用木板漂上来。这是一个非常简单的例子,但是当你设计游戏时,尤其是你想对那些并不是劲头十足的游戏者构成挑战,就应该考虑运用这类智力难题。不论什么时候,都要努力把游戏者变成问题解决过程所不可或缺的部分,这样才难把游戏者吸引在你的游戏上面。这方面做得较好的一个例子是 slmCity。角色扮演和进入其他世界大概计算机和视频游戏的最基本的感染力就是能够逃避现实。大部分游戏是角色扮演游戏,把游戏者置身于一个想象的世界或情境中。玩游戏的人具有与看电影和看书的人一样的原因:人类具有想象,而且大部分的人需要给他们的想象以刺
20、激。电影和书这么做了,而游戏又更进一步,允许游戏者实际地参与。以游戏设计为立足点来看,这就意味着你的一个重要的职责就是要给游戏者传达一个思想,通过它游戏者能够进入另一个世界。在这方面游戏设计就需要创造不同的气氛。不论它就仅枪战游戏那样简单,还是和 Broderbund 的新的法庭素材的产品那样复杂,最为重要的是,其中的一个目标就是创造一个世界,游戏者被假设为里面的一个角色。6.幻觉状态(Suspension of Disbelief)我们刚刚讨论了进入另一个世界和人的想象力的独特本质,这种思想的最终体现就是在游戏界常听的一个术语“幻觉状态”。当游戏设计者谈到“幻觉状态”时,他们描述的是一种“想
21、象的状态”这是指游戏者的意识融人到游戏世界中,这样,他或者她就不是在玩游戏,而实际上在体验另一个世界。7.个人经验游戏设计的另一个核心因素是游戏者通过游戏所获得的个人经验。通过试验,我主要注意到游戏者在玩游戏时的三个核心的个人经验成分。1有趣“有趣”是一种主观体验,只有试着玩了以后才能决定产品是不是真的有趣。而且,游戏只是对于将要玩的人是有趣的,如果你专门为女士设计了一游戏,就不必要增加一些对年轻男孩子来说有趣的因素。2学习我想并不是所有的游戏都必须是:纯教育意义上的一个完整的学习经验。相反,我想所有好的游戏都要求你去学习以征服这个游戏,包括在游戏中学习对手的弱点和寻找智力难题解答案。在这两种
22、倩况下都需要你有计划地设计好这些活动。如果想让游戏者学习计算机的弱点,你就应该有意地计划这些弱点是什么。3探索超越有趣的最重要的因素是探索:现实的个人经验。我们去看电影或读小说的一个主要原因是:逃避现实。游戏通过把令人震惊的图形、人工智能、立体声音和狂野的想象一起融合在游戏的交互要素中,最终给人们提供了逃避现实的机会。我认为其中最重要的是探索原则。这就是游戏,当你玩它时,就逃离了你存在的世界,而假设一个生命在探索新世界。探索是一个关键的要素。最为重要的是,当你建构一个游戏时,在本质上你就在探索一个新世界。”8。还有什么除了这些基本概念,游戏设计还有更多的东西。游戏设计是非常主观的,到现在,你仅
23、仅了解了游戏设计思想的一部分。就像任了何好学生一样,你应该一直寻找和探索以扩展你的知识。此外,还应该懂得所有的游戏开发的材料并不仅仅来自于阅读有关游戏设计的书和玩其它的游戏,前面我所提到的许多开发者都往往从其它方面吸收新东西。游戏设计是信息时代的复兴艺术,一个真正的复兴艺术家是一些万能博士,他们从不同的渠道获得大量的思想,超越了少量特定的游戏设计材料来寻找有关游戏的设计思想和灵感。第四节 游戏的细节设计定是截然不同的。我所要求的那些内容可能与人们所的喜欢玩的内容不一致,从而导致人们认为 这个产品没有娱乐价值。当然,其中一些是市场决策,你必须尽早决定你想达到的市场方面的参数。并且应该提前考虑技术
24、和实现的问题。生产一个要让我喜欢的竞选游戏,需要先进行大量的研究并整理大量的统计数据。在设计你的游戏时,你必须预先确切地决定要用多少细节。一些游戏设计者把细节放在最需要的地方。例如,考虑一个潜水艇模拟,如果你想使一个区域非常详细,该是哪个区域呢?当然是“用鱼雷袭击的部分”,你可以把潜水艇在搜索攻击目标时的运动设计得简单,但是,一旦你发现了船只,游戏应该能够允许你最大限度地参与鱼雷攻击的过程,因为这正是潜水艇游戏的焦点。1什么时候一个任务会变得象日常琐事?在一些情况下,如果一个游戏涞孟嗟闭媸担 涂赡艿贾掠蜗分械娜挝癯晌 恍粘鍪隆壹堑玫挠姓饷匆桓鲇蜗罚 馐且桓隽钊四岩灾眯诺哪庥蜗罚 媚慵菔籉16
25、战斗机。这个模拟是如此真实,甚至要求游戏者去完成一个真正的飞行员在起飞之前要作的许多任务,这些任务是如此之烦琐,致使游戏的娱乐性大大减少。这方面的缺点在一些 RPG 游戏中也可以发现,与他们在真实生活中的所作所为相比,其中游戏者可能发现他或者她花更多的时间在为别人跑腿。当然这并不是说这些游戏不好,上面谈到的游戏就是一个非常让人吃惊的精确的模拟,许多模拟游戏迷们都喜欢这些精确的细节。但是,应该明白许多游戏在写实方面做得太过火了。对我来说最大的问题是什么时候“任务”变成了日常琐事。尽管我能够看到这些细节对游戏写实的贡献,但是,在我看来,它们更多地是玩游戏的障碍。所以说,这就是一个娱乐性和写实主义之
26、间的难问题。最优秀的游戏处理这个问题是通过增加一些可控的设置来让人们控制这些写实主义的因素,设置的值越高,则游戏就变得越真实。在游戏开发的过程中测试模拟游戏是十分重要的,要看人们对于你设置的任务的反应,如果你的任务太简单或者太复杂,你可以在测试阶段不断地进行调整。2.“任务瓶颈“在你的游戏中寻找“任务瓶颈”。任务瓶颈包括两种类型:必须的和隐藏的。必须的任务瓶颈是最糟糕的一种类型,它们是这样一些活动:游戏要求你一遍又一遍地执行以取得进步,这种类型的一个例子可以在冒险游戏中发现,其中增加了一些赌博的因素作为一种让游戏者增加钱财的方式,在这种情况下,你可能花一整天去玩各种各样的愚蠢的赌博比赛,其唯一
27、目的就是赚钱。这确切他说还不是娱乐,因而对于游戏的真正目廊来说就是一个瓶颈。隐藏的任务瓶颈是那些允许游戏者花大量的时间重复地作些事情以获得策略性优势的程序流程,甚至有时设计者并不是有意这么做。最后一关是评测产品,看看在什么地方游戏者发现了他们不喜欢的重复性任务或者发现其他各种各样的问题。大部分问题都比较好解决,以避免让游戏成为一系列“日常琐事式的”重复性任务。3.在游戏设计中运用市场研究的结果许多情况下,你的设计需要进行适当的改变以满足市场走向。当你设计一个商品化的游戏时,重要的是要记住你必须最大限度地满足市场,而不是为了取悦于你自己或者参与游戏开发工作的其他人。你自己不去购买你自己的游戏,而
28、是其它人购买,他们对你的游戏有和你不同的期望和要求。当把市场因素综合到你的设计中时,第一步是了解你面对的市场,这是一个本质问题:“谁是这个游戏的一般购买者?”然后,努力确保你充分考虑他们的要求。例如,让我们设计一个深海潜水游戏并考虑相关的市场因素:游戏概要:深海潜水:这是一个关于深海潜水和去寻找埋葬的金银财宝的游戏。目标是在水下的冤死鬼抓住你之前发现你能够找到的所有金钱。市场:喜欢潜水的人;喜欢冒险游戏的人;喜欢海洋的人。这里我作了一般性的假设,例如,这个游戏对于喜欢冒险游戏的人具有吸引力。这样这个游戏需要一个详细的故事一些冒险游戏的爱好者的基本要求。对于吸引喜欢潜水的人,我们最好确保给他们一
29、个有关深海潜水的令人心眼的模拟,因为既然喜欢潜水,可能就是这方面的专家,不会轻易被愚弄的。这里的意思是:在你设计游戏和推断你的潜在对象的大概情况时,要按照他们的要求来调整你的思想和设计,这将不时地把你的游戏引向不同的方向。也许你最初的设计不能算是一个故事,只是一个潜水的模拟,然而,冒险游戏的市场总体上却是很大的,因此,你将发现你自己被迫增加了一些详细的神秘而有趣的故事。在今天竞争激烈的游戏市场,许多游戏公司都在努力创作一些能够让更多的人们想玩的游戏。他们肯定都正在把市场研究和市场驱动的设计整合进来,用以帮助创建人们想要的软件。5.满足“铁杆儿“游戏者正面和反面的意见在你设计游戏时,你应该特别考
30、虑一个最重要的游戏群体铁杆儿游戏者。高技术市场学说告诉我们,一个最重要的规则就是满足那些游戏高手,他们也会反过来产生帮助销售产品的热情,他们可能把产品推荐给其他游戏者,并促进他们的购买决策。当然也要明白一点:你为游戏高手制作的游戏很可能对于哪些偶然玩游戏的人或不是高手的人来说很没意思。例如,人们可能不喜欢一个花 400 小时才能完成或者拥有 100 多种坦克的战争游戏,相反,他们可能喜欢一个真正好的、线性定向的游戏故事,或者一个关于人们之间友谊的游戏。当然也有折衷的办法,但是越来越多的开发者却在作在铁杆儿游戏者要求以外的很多事情,实际大部分游戏都这么做。这里没有真正正确或错误的方法,在你设计一
31、个游戏时,你应该描述谁是潜在对像,对于这个问题从两方面考虑是很重要的。如果你与其他喜欢游戏制作的人一样,就不太好办了,因为 99的热爱制作游戏的人他们本身就是铁杆儿游戏迷。因此,对于许多游戏设计者来说,必须有意识地考虑这些问题才不致于使他们按照习惯去设计制作游戏。如果你想真的突破铁杆儿游戏者所喜欢的游戏类型,就不要在游戏中加入一些会让铁杆儿游戏者和评论者注意到的一些关键特征。当支持调制解调器(Modem)fo 网络的游戏在市场上屈指可数时,有较大影响的评论家和铁杆儿游戏者会特别注意这类游戏的出现,这些人的挑剔和批评可能让你的游戏变得一钱不值,而如果不让他们注意到,你的游戏说不定会流行。总之,你
32、应该懂得如何满足游戏专家所喜欢的基本要素和特征,然后,有目的地决定在哪些地方实施这些特征。这里的关键是“有目的地”,不要猜想和假设,决定特殊的需要是什么,然后你就尽你所能去创建能够满足铁杆儿游戏者的游戏,也许同时能够吸引一些游戏高手之外的玩家。第五节 对手智能设计人工智能是个错误的名称,特别是与游戏联系起来时。我们真正的目的是要使用一些技术在游戏中加入“人”或类似智能的特征。这种技术越聪明越自然,它就越会被游戏者承认。我想对于这种技术更好的名字是“模拟智能” 大多数的游戏不需要非常前沿的技术,如神经网络。(而少数使用此种技术的游戏也都是AI 专家们感兴趣的那类,如国际象棋等等。你从没有见到哪个
33、打斗类游戏使用“神经网络“技术。)对于游戏中的 AI 我比较喜欢这个定义:一个非游戏者控制的对象在基于各种复杂因素时的决策行为就象时由真正的人作出的,这是通过使用 一个决策算法来完成的,这个决策算法根据设计者确定的规则和提供给程序的信息进行处理。这定义中,使用了三个需要进一步解释的术语:1决策一个“智能的”对象通过抉择来决定它的行动而不是随机地动作。你可以把随机性作为强调某一个特定的决策的权重,但最终的决策是在至少两个可能的结果中抉择产生的。对游戏者行为预测得越准确(包括更深层次的反应),对游戏者来说这个游戏就越具有智能。因而重要的是决策必须模拟人的本能反应。它一般由可观察的信息组成,这些信息
34、包括外部、内部的信息,例如敌人的数量、角色的肚子是否饿了等等。2多因素作为人类,你知道对一件事作出决策需要考虑许多因素。举个例子来说,到哪儿去吃饭就是一个颇费周折的问题,你是开车去还是走着去?是和别人一起去吗?想吃什么菜?花多少钱合适?如果时间紧张,是否去吃快餐呢?要不要预订?使一个物体具有智能也要考虑很多因素并能迅速作出决策。这些因素决定对不同的情况有不同的反应。你的算法能支持(或处理)的因素越多,你创建一个真实的环境的可能性就越大。例如,你要定义一个战争游戏中敌军将领的决策行为,你可以让他们根据军中坦克、飞机、舰船的数量来做出生产军备力量的决策。另一方面,你应该引进其它因素。例如,这些敌军
35、应该考虑一些军事基地建在岛屿上,所以要多生产舰船,少生产坦克,他们也要决定是进攻还是防守。你也应该加入一些感情因素。例如,一个好战的将军会在处于劣势时仍旧进攻,并生产进攻型武器:飞机,而实际上埋智的决策是应该防守并生产防守型武器,如坦克等,记住,一个“智能的”决策没有必要是最好的、最具有理性的决策。所以当你试图模拟智能时,先确定用于做决策的信息(多因素)。同样要考虑决策者评估信息时所具有的个性。3规则你也要确定在什么情况和规则下,一个对象可以获取作出决策所需要的信息。例如,在战争游戏中,计算机控制的对手是否可以观察全局,或只能得到本地信息?如果允许对手观察全局而不允许游戏者这做,那计算机就在作
36、弊。但由于人类玩家实在太聪明了,就扯平了。1913 重要的是表现在游戏者面前的是什么当然,AI 的目的不是创建一个在“作弊“方面表现良好的系统。但在游戏中,用“作弊“是使一个对手具有挑战性是最好的方法。不过这样做要小心,因为一旦游戏者发现计算机在“作弊“,他很可能再也不玩这个游戏了。对于大多数 AI 游戏开发者来说,他们的目的是创造出一个最好的计算机对手,这样做的结果就是:他们创造出的敌人太强大了、太聪明了。这就引发了一些矛盾。首先,游戏应该让大多数游戏者能成为胜昔。Al 开发者可能在努力创造一些能打败游戏高手的游戏敌人,但是我作为一个游戏者时,我不喜欢这样的游戏。我只希望我的计算机对手在我不
37、认真玩的时候打败我,只要我全神贯注地玩,我就应该能赢。第二,一个太智能化、复杂化的游戏会显得不真实。例如,在战争游戏中,一个AI 开发者会坚持把计算机对手做成世界上最伟大的将军,这就很不真实。让计算机对手时不时犯点错误或者让它模拟现实存在的某位将军的风格才能使游戏更为真实。AI 理论趋向于创造一个理想化的情景,而不是真实世界。所以,你需要做的只是让计算机对手具有真实的外在形象和性格特怔,而不是创遣一个世界上第一强大的对手。你可以用 AI 技术为游戏者表现游戏世界中的深度、挑战性,模拟异类世界的情形。不管你使用什么技术,最重要的是使用后的效果。如果有人对你说:“在你的游戏中加点人工智能吧”,他们
38、很可能是让你加一些真实画面和角色,而不是什么神经网络之类的技术。第六节 游戏的界面设计著名的游戏开发者 BilI Volk,曾经对游戏设计写下了一个等式“界面产品要素=游戏“。这个等式与著名的程序设计语言的设计者 Nicholas Wirth 的经典等式“算法十数据结构程序“是相似的。很明显,BilI Volk 的目标不是说建构游戏就是简单的加法,而是强调在游戏设计中界面的重要性。他的观点基本上是这样的:你的游戏就是你的界面。界面是游戏中所有交互的门户。不论你是用简单的游戏杆,还是运用具有多种输入设备的全窗口化的界面,你的界面是联系产品要素和游戏者的纽带。创建一个好的界面都需要什么素和技术呢?
39、下面我们将讨论一些建构有效的游戏界面时可能有用的一些基本问题。1.内务管理问题内务管理问题是指当一个人玩游戏时所必须的安装、准备等任务。这些问题包括初始安装、调用和保存游戏、游戏设置和在线指导或者一般文档。2.游戏者介人的问题游戏者介入的问题大概是与界面有关的最重要的因素。从根本上说,它将影响游戏者玩游戏的方法,是通过键盘、游戏杆、鼠标或者是这几种的结合?或者还运用其它类型的输入设备?在设计界面时,应该了解游戏输入设备的范围。还要充分考虑灵活性和能够能够运用到你的游戏中的设备的类型。3.让游戏者尽快开始游戏什么时候当你拿到一个新游戏后,在开始游戏之前一页又一页地阅读用户手册?如果你与大部分的游
40、戏者一佯,你大概是直接开始玩,井努力去了解如何通过用户界面进行交互,游戏者并不是典型的软件用户,他们没有兴趣学习大量新特征他们只是简单地想玩!所以,当你设计你的用户界面时,应该使它容易让人理解和接受。你的第一个目标应该是让游戏及其界面尽可能地符合直觉。当然,你可以提供一个手册,但是不要期望你的所有用户都去读它。下面让我们看看帮助你设计界面,以便于让用户能够正确入门的一些基本原则:1降低计算机的影响降低计算机的影响是交互性中比较抽像的一个概念,但又是“幻觉状态中的一个成分。当然,在我们坐下来用计算机时,我们意识到我们正在运用计算机。然而在设计一个游戏特别是设计界面时,应该尽量让游戏者忘记他们正在
41、使用计算机,这样会让他们感觉更好一些。尽量使你的游戏开始得又快又容易。游戏者进入一个游戏花的时间越长,越会意识到这是个游戏。2在你的游戏中加入帮助尽量把你的手册结合到游戏当中,避免把游戏者拉开屏幕让他们去看书面的文字口这方面通过优秀的设计是可以解决的,如果需要的话,把文本世结合到游戏中。例如,如果你有一幅让游戏者使用的地图,就不要让它成为文档的一部分,应该把它做成屏幕上的图形。3避免运用标准的界面对于大部分在 Windows 环境下设计的游戏都别去运用常规的 Windows 界面。如果你这么做的话,你就又在提醒他们正在运用计算机。应该运用其他的对像作为按钮井重新定制对话框,尽量避免菜单等可能提
42、醒他们正在运用计算机的对象。4,综合集成界面界面上关键的信息要简化。因为对于许多产品,界面绝对是产品特征的门户。对于游戏来说,目标就是要让界面越来越深入到游戏本身的结构中去。对于大量的游戏者来说,其中只有少部分人具有计算机经验,因而,界面问题就更加重要。第七节 基于可玩性的考虑之一可玩性不仅是测量游戏有趣程度或是图像如何“酷“的量度,它也是一个游戏的有趣程度,难易程度和坚固性等性能的总和,此外还包括音响效果、模拟图像等等。可玩性的关钟是为你的游戏的每个方面努力奋斗。虽说只有开发完毕后才能看出游戏的最终可玩性,而且开发期间的测试和调整也会起很大的作用。但是,每个细节的优化都可能大大提高可玩性。1
43、.最终的可玩性不到最后不会表现出来。在游戏完成之前你不会知道你的游戏如何好玩。首先,你要确定你能完成你的游戏,除非测试游戏的人“都”说你的游戏真的差劲。在完成所有的声音、图像等工作以前,你不会确切知道你的游戏到底怎样。其次,最终结果常常表明每个小细节都很重要。游戏者会注意到游戏的方方面面,从简介中错位的像点到不合适的音效。每个小的失误都会带来不良的影响,破坏了游戏者的整体游戏体验和游戏的可玩性。2.早期测试和经常测试中期调整当你的想法还停留在纸面上的时候,它可能看起来很神奇,但一旦你开始实现它,事情往往就变了,并且经常是变得很糟!因此,每个较大的游戏程序都需要很长的测试过程。当在屏幕上的某些东
44、西不是你最初想象的那样,或是你自认为设计很好的动画速度太慢或很难看。有时你的测试者会说:你的游戏太简单、太弱智、太烦人。所以即使你花几个月的时间停留在纸面设计上,你也不必感到沮丧。准备好根据意见反馈来改变你的游戏设计计划。有时批评会有帮助,他们可以给你实际的建议并帮助你,使你的游戏更具可玩性。但有时他们也没什么帮助,你还得自己作出判断。必须明白,你应该在开发过程中不断测试你的游戏的可玩性,而不要等到开发完毕,那时就来不及作重大调整了。3.设计内容:了解你的特定顾客增加游戏可玩性的最好办法是:确定游戏是面向特定顾客而设计的。由于年龄、性别和教育背景等原因,对某一个游戏者来说好玩的游戏不一定让另一
45、个游戏者喜欢。因此,在设计成功的游戏中,一个最重要的行动是调查研究需求和其它关于特定顾客的需要。第八节 基于可玩性的考虑之二让我们来看一下,如何针对不同年龄、性别来设计游戏。游戏的市场是非常广阔的。你可以为 24 岁的孩子、受过大学教育的成人或在此两者之间的任何年龄层的人设计游戏。1.年龄段:(1)学龄前早期阶段(24 岁):这一年龄段的孩子在控制鼠标、单独使用键盘或其他复杂的输入设备方面存在一定困难。因此,成人使用的标准游戏设备不适用于他们。他们不能打字也不能阅读文字。那么应如何为他们设计游戏呢了学前儿童可以使用光标键。他们能在键盘上找出单个的字母键。如果你设计的热区有较大的区域,那么使用鼠
46、标也是可以的。事实上,热区应不小于屏幕的 1/12。然而,语音最适合早期学前儿童游戏。下面是使用语音的一些规则:a.你的游戏应简单到不需要介绍,儿童立刻可以开始玩游戏。但是千万别用语音指导替代简单易懂的界面,可以使用简单的短语指导儿童玩游戏。b.当游戏中有一段时间没有用户输入时,播放一段短语告知儿童应该做什么,如“点一下猫“或“按 A 键“。c.把语音作为奖励使用。在儿童完成一个任务后可以说:“很好“或“干得好“等。d.讲故事采用播放语音的方式。e.让你游戏中的人物说话。犹乇鹣不短煺婵砂 纳 艉偷省?f.小孩子喜欢明亮的颜色和简单的图形,但不幸的是,出版商喜欢细化的、高解析度的图形。因为他们的
47、成人口味与孩子很不相同。成年人趋向于认为产品越复杂,质量就会越好。你作为一个游戏开发者应努力平衡这两方面的需求。不要让界面显得太杂乱。学前儿童的大脑还没有那么多经验来体验复杂的详细图片。使用醒目的提示方式如弹出式菜单、随机动画等等。记住你的游戏者是儿童。尽量避免令人害怕的图像。这个年龄段的儿童还处于没有准备接受诸如伤害、死亡、分裂、暴力、怪物、女巫和坏家伙等概念的阶段。事实上,大部分不友好的东西都应该避免。(2)学龄前阶段(46 岁):适用于早期学前儿童的定律同样适用于这个年龄组。这些儿童能认出单词。他们中的一些人成为使用游戏俸的专家,并能更好地控制鼠标。除游戏俸和鼠标之外,提供一个支持键盘的
48、界面不失为一个好主意。(3)小学早期阶段(58 岁):在这个年龄段,儿童可能喜欢怪物和其他坏家 伙,只要这些敌人是“安全的“。在游戏中敌人应当是友好而幽默的。暴力、伤害和流血仍然应该避免。(4)小学中学过渡阶段(711 岁):这些儿童已达到“理性的年龄“,他们开始发展自己的“同辈文化(Peer CuIture)“,并开始思考他们自己。在这个年龄段,孩子们开始注意到比他们大的群体。作为设计者,你一定小心不要用太“孩子气“的材料。你的游戏表现的特点应比这个年龄层稍大一点。这个年龄层的儿童能阅读文章,尽管有时并不流利。在使用恰好在儿童记忆范围内的词汇表还是范围稍大一点的词汇表方面是有争论的,你应该自
49、己拿主意。(5)青少年阶段(12 岁以上):这个年龄层的儿童被认为是最难以对付的顾客。针对他们的父母的市场策略是,非传统的教育题材的游戏可能最有发展前途。“酷”是这些孩子追求的终极目标。男孩子疯狂地玩像 Doom 和真人快打这样的游戏,因为在那里他们满足自己的强烈欲望。女孩子更感兴趣的是社会活动,坐在计算机面前并不总出现在她们的时间表里。这些十几岁的孩子从能力和脑力上讲已经是成人了。实际上他们可能比大人更会玩计算机。包含合作对抗玩法的游戏在这里可能最有市场。没错,用怪物、鲜血和暴力你一定可以取得成功!想想看,要是真人快打中没有这些它还会是什么?多人游戏和联机游戏同样也是很好的。(6)成人阶段(17 岁以上):这些游戏者大多是受到良好教育的成人,他们那种欣赏、处理复杂事物的能力允许你使用一些性、暴力成分较多的题材(在法律和道德的范围以内)。2.确定性别特征(1)游戏应该让男性和女性都作主角,而不是只让男性表现得特殊。有时可以允许游戏者选择不同性别的角色进行游戏。(2)不要把鲜血和暴力特别表现出来。(3)也不要特别表现打斗的场面。(4)避免传统的性别习惯。男性不应总是领导者,女性也不应总是被描绘成漂亮的陪衬角色。(5)可以试试加点幽默,但