1.硬件处理能力 processing power
courtesy IBM,图片:PS3的Cell处理器
用神奇处理器重绘西斯廷教堂的天花板
问题:如果电脑的运算速度跟不上游戏指令,画面会跳帧,彻底毁掉玩家的游戏体验。计算能力的限制始终是游戏制作中最令人头痛的问题。此外,它跟本文提到的其他问题都有关系,从实现人工智能到创造真实的物理引擎。
现状:多核技术同时使用多个处理器或者图形处理单元来提高计算能力,可以加速游戏的运行。但是现在的程序员还没有掌握多核处理器上的编程技术——使他们无法有效地利用这项技术。(PS3的包含8个3.2GHz处理器,可惜现在很少有程序员掌握了相应的编程技术)传统的程序设计思维是如此的根深蒂固,程序员还是习惯用会计师的语言(啊!这个雨的特效消耗资源太高啦)来表述问题,并未掌握已有的工具。
未来:摩尔定律——芯片上集成的晶体管数目每两年翻一番——意味着未来将会有更强的计算能力。(图形处理芯片巨人Nvidia宣称一直以超过摩尔定律的速度更新它的芯片,在不到一年的时间内使芯片的处理能力翻倍)但是程序员的雄心总是走在硬件发展的前面,正如一位设计师指出的:“我们的能力越强,获得的成功越大,我们期望也越大” 对更强计算能力的渴求将永远伴随着CPU和GPU处理能力的快速发展。
2. 水
Courtesy Sony,图片:龙潭虎穴(Lair)中,真实的水面效果让玩家体验到身临其境的驭龙飞行效果。水特效是一个主要的计算难题
描绘出流动的海水
问题:数学方法已经能奠定了计算最精细的液体流动的基础,比如一毫米见方以内的水面特效。游戏必须通过所有这些细节组合成整个海洋的效果。“不到一年以前,硬件的处理能力还不足以让我们动态生成游戏中水的运动效果,”Lee Bamber(李.巴姆博)说,他是游戏创造者(The Game Creators)公司的创始人,一位有20年从业经验的程序员。
现状:“黏度是关键,”罗恩.法第奎(Ron Fedkiw)表示。罗恩是斯坦福大学计算机科学系的助理教授(associate professor),他致力于电影特效的研究,像星球大战前传三:西斯的复仇,以及现在的变形金刚。现在他正在与工业光魔公司合作。“高黏度”——类似于固体之间的摩擦——“比较容易表现,黏度稍微降低,表现会变难;而对于水,难度更大。”数学模型能够描述水的运动,法第奎承认,但是只有超级计算机才能满足其运算需要。
未来:游戏开发者正在试验粒子系统,一种由一组颗粒组合而成的系统,所有粒子都以特定的规则对外界做出反应。然后,随着处理器性能的慢慢地增强和算法的改进,使用湍流模型——计算物理学中模糊预测(BallPark Estimate)的等价模型——能够绘制出更加真实的液体飞溅、气泡和波浪效果。——J. W.
3. 人脸
Courtesy Bioware,图片:Bioware大作《质量效应》中人脸的逼真程度已经接近引起“深谷效应”的程度
用提线木偶模仿活人
问题:分析和重现人类最熟悉同时也是最微妙的面部表情已经困扰了艺术家和科学家数百年时间。现在,游戏制作者为了创造更加可信的游戏角色,正试图改进前人的成果。如果角色的面部过于真实,玩家会感到难以接受,这种现象被称为“深谷效应”:由于人眼对熟悉的物体观察更加细致,导致拟真的人物在极像人类的阶段引起观察者的强烈反感。“太真实的物体让人起鸡皮疙瘩,”比尔.范.伯恩解释道,比尔是Valve的半条命2(half-life 2)的制作人员,“你会注意任何一个微小的细节(让人不适)。”
现状:Valve的开发人员希望给出一套规则,按照这套规则来产生游戏角色的表情,以表达真实的情感。心理学家保罗.艾克曼(Paul Ekman)和沃勒斯.佛莱森(Wallace V. Friesen)在研究解剖学和人类交流时定义了人类面部活动的分类,包括60中基本的面部活动。Valve的开发人员以此为基础来构建人类的面部表情。他们发现,恰当的眼部活动对生成逼真的人脸至关重要。“如果眼睛不对劲,人物看上去就像死人,”Valve的资深软件工程师肯.波德维尔(Ken.Birdwell)指出。他曾经花一年时间来研究眼球的生理结构、学习相关的知识,比如角膜的弧度如何影响光的反射,以及为何瞳孔偏心不是4度会使人被认为是斜视。
未来:克服“深谷效应”相当困难。程序员正致力于增加人脸表情的多样性,赋予不同部位的面部皮肤以不同的光泽(sheen of skin stretched across facial muscle)。当然,在游戏开发商钻研心理学和仿真机器人的同时,处理器的速度必须跟上新技术的需求。
4.人工智能
Courtesy Ubisoft,图片:游戏《刺客信条》中的行人独立活动。发生冲突时不同的人会有不同的反应:大打出手或者胆小畏缩。
让1000个孩子一夜之间学会独立思考
问题:曾经,游戏中的坏蛋仅仅是毫无目的地漫游,在快要被你打死的时候才开枪射击。现在玩家对此已经不再满足啦,他们希望对付更狡诈的敌人,还要有可以协助他们的可靠的同伴。尽管当前的人工智能已经复杂到能够满足这样的需要,但是处理器速度限制了它们的应用。“我们只能尽量让角色看起来聪明一些,”马修.梅泽罗(Mathieu Mazerole)说,他是育碧《刺客信条(Assassin’s Creed)》的首席工程师。
现状:赋予游戏角色像人一样的决策能力需要使用高级的逻辑理论。顶尖的机器人工程师使用这种理论,包括决策树、可变巡航(Mobile Navigation)和有限自动机模型。这些技术使游戏中的敌人更加智能,比如在《刺客信条》这样的游戏里,追踪你的敌人会形成小队、爬楼、越过屋顶。“有时候电脑自己找到了我们都没想过的路径,”马克.布莱斯纳(Mark Bresner)说,他是该游戏的首席人工智能程序员。“产生真实的射击偏斜效果真的很难,”尼尔.约翰逊(Neil Johnson)说,他是二战游戏《战火兄弟:地狱之路》的程序员。“电脑自动瞄准视线中的目标,百发百中。我们不得不让他们每次都瞄准玩家的脚开火。只能用这种‘蹩脚’的办法”。
未来:马泽罗尔(Mazerole)预测下一代的人工智能将能够独立地与游戏中的角色进行动态的交互。“两个‘人’走路撞在一起,正好他们脾气都比较‘暴躁’,这时候他们应该打起来——这就是我们将来要达到的效果。”——J. W.
5.光影效果
Crvtek/EA,图片:战斗场景增加了《危机》(Crysis)这类游戏的复杂性,但是光影效果才是真正需要花大量时间和人力解决的问题。
重现上帝造物——要有光
问题:穿越丛林需要强健的身体——而生成逼真的丛林对游戏开发人员来说同样是一个难题。为了生成数英里布满浓密植被的游戏场景,第一人称射击游戏《危机》(Crysis)的开发商Crytek需要为不计其数的多面体添加光影效果。而且为了实时计算,开发小组必须把运算量维持在处理器能承受的范围内。不同于电影特效师,能够花大量的时间绘制一帧图片,然后由计算机在一天之内生成最终的画面。Crytek的首席执行官凯渥特.耶利(Cevat Yerli)说:“通常,真实的画面和生产它时间是互斥的。”
现状:解决办法是Crytek公司开发的工具Polybump2。它能将复杂的物体表面转化成少量多面体组成集合体。此外,开发者进还提出了使画面表现更加真实的新技术。“我们能够根据光线的强度模拟人眼的活动,”耶利(Yerli)说。游戏画面会模拟游戏角色的视觉体验。当走进阴暗的区域,画面会表现出游戏角色的适应过程。反之从暗处冲出,画面将是一片空白,因为角色被阳光致盲。准备开火吧。
未来:Crytek已经使更好的视觉效果称为可能,但是特效极限受处理器运算能力的限制。随着处理器速度的提升,游戏将展现令人叹为观止的视觉效果:透过冰的光线、雨水甚至是广阔背景中掉落的物体。
6.火焰
Courtesy D3 Publisher,图片:《黑暗教派(Dark Sector)》这样的游戏非常需要逼真的火焰——最难以表现物理真实性的效果。
用你的双手控制空气
问题:在游戏中表现火焰是一项严肃的问题。用程序生成火的行为跟水很像,区别在于:a) 火焰移动更快,也更复杂;和b) 火要烧毁其他东西。过去的游戏中用实景动画来表现火焰,现代游戏则着重于通过火焰的变形和粘性来表现动态的烟雾和焚烧效果。
现状:程序员在谈火焰效果的时候,不可避免地会涉及硬件——它代表了程序员所能达到的极限。所以,当前游戏中的火焰大多的是短暂或爆炸的效果。大火熊熊燃烧的景象难以通过程序实现。“我们仅仅是没有足够强大的处理能力来准确地表现它,”游戏创造者(Game Creator)的李.巴姆博(Lee Bamber)说。他提到近几年图形处理单元开始从中央处理器接管一些资源消耗极高的任务,比如生成火焰效果。他以Nvidia的Quad SLI——一种整合4颗图形处理单元的图像系统——为例子指出硬件工程师通过改进硬件来满足程序员的需求,。
未来:斯坦福大学的罗恩.法第奎(Ron Fedikiw)已经设计出一种算法,有助于表现各种火焰的变形和粘性:浓烟滚滚的汽油燃烧,纸,甚至是漂在水面上的油的燃烧等等。“未来5年内我们将拥有更优秀的视觉效果,”巴姆博说,“但是要真正改进火焰效果则需要更长的时间。”——J.W
7.材质物理特性
Courtesy Lucasarts/Pixelux,图片,使用DMM表现一堵墙倒塌的过程,图像非常真实。图中右侧的战士决定了引擎的特性。
预测沙子应该怎样从破损的沙漏里漏出来
问题:仅仅让建筑物具有真实的外观已经不能满足现状了,必须让它们能够真实地倒塌。在设计新的摩天大楼时,设计师正在思考如何改进大楼的损毁效果(已有的方法用事先设计好的大楼残片表现倒塌的大楼;或者播放已经录制好的大楼倒塌动画),并且实时呈现在游戏中。
现状:Piexelux娱乐开发名为数字粒子(Digital Molecular Matter)物理引擎,可以模拟物体粉碎、破裂、扭曲和撕裂的效果。它首先将建筑物转化为数百个微小的西面体。在模拟石块撞击时,射向建筑物的石块在碰撞点替代了那里的四面体;接着,引擎根据材料的密度、强度和质量来演算碰撞点周围的四面体如何相互碰撞、移位,制造出受损部位的连锁反应效果。“我们第一次仿真玻璃破碎时,把人扔向窗户然后观察玻璃以真实的方式变成碎片,足足搞了半小时,”Pixelux的软件工程师维克.索哈(Vik Sohal)说。
未来:所有使用数字粒子引擎表现的物体都必须遵守一些列物理规律,如杨氏模数,决定物体的硬度;还有泊松比,描述了气球和苏打水这类东西的弹性。数字粒子引擎还决定了物体的内力如何聚集,在超过阀值之后使物体在最脆弱的位置破裂。树长出新枝就是这样的过程。索哈说数字粒子引擎还可以用于公路场景;它可以构造一个300磅重的令人厌恶的线路维护员,并表现他鸭子一样的姿态。——Bjorn Carey
8.真实的运动
Courtesy LucasArts,图片:凭借Euphoria系统,卢卡斯艺术的暴风突击队员可以完成真实的谄媚、蜷缩和跌倒动作
教布娃娃学会躲闪皮球
问题:你操纵着绝地武士面对成群的暴风突击队,挥舞着光剑杀出重围。但是敌人倒地的方式都一模一样,像蜥蜴或者某种爬行动物一样,显然这无法让你感受到面对敌人时的战栗。原因是缺少足够强大的计算能力实时生成图像,另一方面许多制作人员相信录制动画能够满足需要。游戏人物的动作根本不真实。
现状:软件开发商NaturalMotion基于人工智能引擎生产了一种生成人物行为的引擎——Euphoria。它能让游戏人物在面对危险、受伤时做出动态的反应。Euphoria赋予人物虚拟的人体结构——神经、肌肉、骨骼及重量,这些“特点”使得人物能对外界刺激产生不同的响应。面对飞来的箱子,有的人会躲开,另一些则会热烈地迎接它。当箱子碰到人物,虚拟身体结构做出相应的反应。“这都是基于一个描述人类生理结构的算法,”海顿.布莱克曼(Haden Blackman)说,他是卢卡斯艺术公司的新作《终极力量(The Force Unleashed)》的项目经理,这是第一款使用Euphoria的游戏。实时仿真免除了使用动画的需要,开发者可以利用节约的内存增加更多的视觉效果,以前这会导致人物动作呆板缓慢。最终游戏能提供多样的游戏效果。
未来:我们需要更好的虚拟神经系统。两个暴风突击队员从火车上掉下来,其中一个抓住火车边缘,另一个紧紧抓住他的脚。“这种场景将提高游戏的真实性,增加游戏的乐趣,”布莱克曼说。有了Euphoria这样的虚拟系统,开发商将持续推出更激动人心的游戏体验。
9. 模拟真实世界
Courtesy Crytek/Electronic Arts,图片:真实的测试数据被用来呈现极品飞车:职业赛车中的每一次起火和碰撞。
让游戏手柄给你方向盘的感觉
问题:Pole Position的时代已经过去了,需要消耗全部的资源来绘制汽车前脸,才勉强看起来像是一辆汽车。现在,程序员希望提供更多的真实体验——拟真的武器、细腻的飞行控制——甚至是在游戏中提供快餐,好让“你”在饿的时候填饱肚子。
现状:为了达到在风中狂飙的真实效果,开发者正在研究汽车工程学。在美国艺电的《极品飞车:街头狂飙(Need for Speed: ProStreet)》中,开发小组花费了大量的心思收集车辆的参数,为了取得保时捷的相关数据,他们甚至亲身来到保时捷在德国的试车场收集行驶数据。借助全球定位系统和保时捷公司的软件的帮助,艺电的开发小组记录了车辆状态(方向盘角度、刹车、离合器、刹车、闸门等)如何影响车辆的行驶(位置、速度、加速度、偏航)。这些数据直接输入游戏,使游戏中碰撞和驾驶员的动作产生与实际驾驶类似的结果。
未来:我们需要精炼相互对立的经验。艺电同时研究了驾驶员的行为,据此设计的人工智能使游戏中的追捕者具有不同的驾驶风格,而不是千篇一律的“完美驾驶”。做比说要难:“开保时捷的可不愿意因为事故毁了爱车,”贾克斯.科纳(Jacques kerner)说,他是艺电的软件工程师,“所以我们得让汽车工程师帮我们取得必要的数据。”——D. C.
10.动作捕捉
Organic Motion,图片:旧的动作捕捉系统需要转着特殊的服装,而Stage系统不需要这种东西。
让电脑学会像人类一样观察世界
问题:通过穿着动作捕捉服来获得人类真实动作的方法已经过时了。这种方法需要花数小时训练电脑准确识别人体的运动模式。但是长时间的运动会让衣服上的捕捉器脱落。更糟的是,如果捕捉过程中某些捕捉器的信号减弱,电脑就不能有效捕捉对应人体的动作,最终会导致这部分的动作缺失。为此必须花高价雇佣工程师来重绘缺失的部分,往往还要花更多时间。
现状:在Organic Motion的Stage系统中,摄像机录制镜头前人物的动作,同时电脑实时生成捕捉到的图像。这个系统不需要被观察者携带捕捉器。该系统通过由10到14个摄像机生成的图像合成三维数据云。电脑将相邻的数据点三角化,进而形成人体的轮廓、动作。然后被填充的三维材质送入动画软件进行进一步的处理,这一步相对简单。“不会丢失任何细节,”开发者和首席执行官安德鲁.茨诺克(Andrew Tschesnok)说,“即使人体某部分被挡住了我们仍然知道它在哪里。”
未来:新技术的使用使游戏变得更加真实。过去的动作捕捉系统过于昂贵,开发者只能先捕捉几位主要演员的动作,然后将他们的动作移植到所有其他角色上。“现在我们可以令人信服地记录每一位演员的动作”茨诺克说。使用stage这样的系统来捕捉人体动作,游戏人物将跟实物没什么区别。——B. C