`
xsuo
  • 浏览: 123541 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

未来游戏设计的十大技术挑战

阅读更多
courtesy IBM,图片:PS3的Cell处理器
1.硬件处理能力 processing power
用神奇处理器重绘西斯廷教堂的天花板

问题:如果电脑的运算速度跟不上游戏指令,画面会跳帧,彻底毁掉玩家的游戏体验。计算能力的限制始终是游戏制作中最令人头痛的问题。此外,它跟本文提到的其他问题都有关系,从实现人工智能到创造真实的物理引擎。

现状:多核技术同时使用多个处理器或者图形处理单元来提高计算能力,可以加速游戏的运行。但是现在的程序员还没有掌握多核处理器上的编程技术——使他们无法有效地利用这项技术。(PS3的包含8个3.2GHz处理器,可惜现在很少有程序员掌握了相应的编程技术)传统的程序设计思维是如此的根深蒂固,程序员还是习惯用会计师的语言(啊!这个雨的特效消耗资源太高啦)来表述问题,并未掌握已有的工具。

未来:摩尔定律——芯片上集成的晶体管数目每两年翻一番——意味着未来将会有更强的计算能力。(图形处理芯片巨人Nvidia宣称一直以超过摩尔定律的速度更新它的芯片,在不到一年的时间内使芯片的处理能力翻倍)但是程序员的雄心总是走在硬件发展的前面,正如一位设计师指出的:“我们的能力越强,获得的成功越大,我们期望也越大” 对更强计算能力的渴求将永远伴随着CPU和GPU处理能力的快速发展。


vgames_ss_2.jpg
Courtesy Sony,图片:龙潭虎穴(Lair)中,真实的水面效果让玩家体验到身临其境的驭龙飞行效果。水特效是一个主要的计算难题
2. 水
描绘出流动的海水

问题:数学方法已经能奠定了计算最精细的液体流动的基础,比如一毫米见方以内的水面特效。游戏必须通过所有这些细节组合成整个海洋的效果。“不到一年以前,硬件的处理能力还不足以让我们动态生成游戏中水的运动效果,”Lee Bamber(李.巴姆博)说,他是游戏创造者(The Game Creators)公司的创始人,一位有20年从业经验的程序员。

现状:“黏度是关键,”罗恩.法第奎(Ron Fedkiw)表示。罗恩是斯坦福大学计算机科学系的助理教授(associate professor),他致力于电影特效的研究,像星球大战前传三:西斯的复仇,以及现在的变形金刚。现在他正在与工业光魔公司合作。“高黏度”——类似于固体之间的摩擦——“比较容易表现,黏度稍微降低,表现会变难;而对于水,难度更大。”数学模型能够描述水的运动,法第奎承认,但是只有超级计算机才能满足其运算需要。

未来:游戏开发者正在试验粒子系统,一种由一组颗粒组合而成的系统,所有粒子都以特定的规则对外界做出反应。然后,随着处理器性能的慢慢地增强和算法的改进,使用湍流模型——计算物理学中模糊预测(BallPark Estimate)的等价模型——能够绘制出更加真实的液体飞溅、气泡和波浪效果。——J. W.



vgames_ss_3.jpg
Courtesy Bioware,图片:Bioware大作《质量效应》中人脸的逼真程度已经接近引起“深谷效应”的程度。
3. 人脸
用提线木偶模仿活人

问题:分析和重现人类最熟悉同时也是最微妙的面部表情已经困扰了艺术家和科学家数百年时间。现在,游戏制作者为了创造更加可信的游戏角色,正试图改进前人的成果。如果角色的面部过于真实,玩家会感到难以接受,这种现象被称为“深谷效应”:由于人眼对熟悉的物体观察更加细致,导致拟真的人物在极像人类的阶段引起观察者的强烈反感。“太真实的物体让人起鸡皮疙瘩,”比尔.范.伯恩解释道,比尔是Valve的半条命2(half-life 2)的制作人员,“你会注意任何一个微小的细节(让人不适)。”

现状:Valve的开发人员希望给出一套规则,按照这套规则来产生游戏角色的表情,以表达真实的情感。心理学家保罗.艾克曼(Paul Ekman)和沃勒斯.佛莱森(Wallace V. Friesen)在研究解剖学和人类交流时定义了人类面部活动的分类,包括60中基本的面部活动。Valve的开发人员以此为基础来构建人类的面部表情。他们发现,恰当的眼部活动对生成逼真的人脸至关重要。“如果眼睛不对劲,人物看上去就像死人,”Valve的资深软件工程师肯.波德维尔(Ken.Birdwell)指出。他曾经花一年时间来研究眼球的生理结构、学习相关的知识,比如角膜的弧度如何影响光的反射,以及为何瞳孔偏心不是4度会使人被认为是斜视。

未来:克服“深谷效应”相当困难。程序员正致力于增加人脸表情的多样性,赋予不同部位的面部皮肤以不同的光泽(sheen of skin stretched across facial muscle)。当然,在游戏开发商钻研心理学和仿真机器人的同时,处理器的速度必须跟上新技术的需求。



vgames_ss_4.jpg
Courtesy Ubisoft,图片:游戏《刺客信条》中的行人独立活动。发生冲突时不同的人会有不同的反应:大打出手或者胆小畏缩。
4.人工智能
让1000个孩子一夜之间学会独立思考

问题:曾经,游戏中的坏蛋仅仅是毫无目的地漫游,在快要被你打死的时候才开枪射击。现在玩家对此已经不再满足啦,他们希望对付更狡诈的敌人,还要有可以协助他们的可靠的同伴。尽管当前的人工智能已经复杂到能够满足这样的需要,但是处理器速度限制了它们的应用。“我们只能尽量让角色看起来聪明一些,”马修.梅泽罗(Mathieu Mazerole)说,他是育碧《刺客信条(Assassin’s Creed)》的首席工程师。

现状:赋予游戏角色像人一样的决策能力需要使用高级的逻辑理论。顶尖的机器人工程师使用这种理论,包括决策树、可变巡航(Mobile Navigation)和有限自动机模型。这些技术使游戏中的敌人更加智能,比如在《刺客信条》这样的游戏里,追踪你的敌人会形成小队、爬楼、越过屋顶。“有时候电脑自己找到了我们都没想过的路径,”马克.布莱斯纳(Mark Bresner)说,他是该游戏的首席人工智能程序员。“产生真实的射击偏斜效果真的很难,”尼尔.约翰逊(Neil Johnson)说,他是二战游戏《战火兄弟:地狱之路》的程序员。“电脑自动瞄准视线中的目标,百发百中。我们不得不让他们每次都瞄准玩家的脚开火。只能用这种‘蹩脚’的办法”

未来:马泽罗尔(Mazerole)预测下一代的人工智能将能够独立地与游戏中的角色进行动态的交互。“两个‘人’走路撞在一起,正好他们脾气都比较‘暴躁’,这时候他们应该打起来——这就是我们将来要达到的效果。”——J. W.


vgames_ss_5.jpg
Crvtek/EA,图片:战斗场景增加了《危机》(Crysis)这类游戏的复杂性,但是光影效果才是真正需要花大量时间和人力解决的问题。
5.光影效果
重现上帝造物——要有光

问题:穿越丛林需要强健的身体——而生成逼真的丛林对游戏开发人员来说同样是一个难题。为了生成数英里布满浓密植被的游戏场景,第一人称射击游戏《危机》(Crysis)的开发商Crytek需要为不计其数的多面体添加光影效果。而且为了实时计算,开发小组必须把运算量维持在处理器能承受的范围内。不同于电影特效师,能够花大量的时间绘制一帧图片,然后由计算机在一天之内生成最终的画面。Crytek的首席执行官凯渥特.耶利(Cevat Yerli)说:“通常,真实的画面和生产它时间是互斥的。”

现状:解决办法是Crytek公司开发的工具Polybump2。它能将复杂的物体表面转化成少量多面体组成集合体。此外,开发者进还提出了使画面表现更加真实的新技术。“我们能够根据光线的强度模拟人眼的活动,”耶利(Yerli)说。游戏画面会模拟游戏角色的视觉体验。当走进阴暗的区域,画面会表现出游戏角色的适应过程。反之从暗处冲出,画面将是一片空白,因为角色被阳光致盲。准备开火吧。

未来:Crytek已经使更好的视觉效果称为可能,但是特效极限受处理器运算能力的限制。随着处理器速度的提升,游戏将展现令人叹为观止的视觉效果:透过冰的光线、雨水甚至是广阔背景中掉落的物体。



vgames_ss_6.jpg
Courtesy D3 Publisher,图片:《黑暗教派(Dark Sector)》这样的游戏非常需要逼真的火焰——最难以表现物理真实性的效果。
6.火焰
用你的双手控制空气

问题:在游戏中表现火焰是一项严肃的问题。用程序生成火的行为跟水很像,区别在于:a) 火焰移动更快,也更复杂;和b) 火要烧毁其他东西。过去的游戏中用实景动画来表现火焰,现代游戏则着重于通过火焰的变形和粘性来表现动态的烟雾和焚烧效果。

现状:程序员在谈火焰效果的时候,不可避免地会涉及硬件——它代表了程序员所能达到的极限。所以,当前游戏中的火焰大多的是短暂或爆炸的效果。大火熊熊燃烧的景象难以通过程序实现。“我们仅仅是没有足够强大的处理能力来准确地表现它,”游戏创造者(Game Creator)的李.巴姆博(Lee Bamber)说。他提到近几年图形处理单元开始从中央处理器接管一些资源消耗极高的任务,比如生成火焰效果。他以Nvidia的Quad SLI——一种整合4颗图形处理单元的图像系统——为例子指出硬件工程师通过改进硬件来满足程序员的需求,。

未来:斯坦福大学的罗恩.法第奎(Ron Fedikiw)已经设计出一种算法,有助于表现各种火焰的变形和粘性:浓烟滚滚的汽油燃烧,纸,甚至是漂在水面上的油的燃烧等等。“未来5年内我们将拥有更优秀的视觉效果,”巴姆博说,“但是要真正改进火焰效果则需要更长的时间。”——J.W


vgames_ss_7.jpg
Courtesy Lucasarts/Pixelux,图片,使用DMM表现一堵墙倒塌的过程,图像非常真实。图中右侧的战士决定了引擎的特性。
7.材质物理特性
预测沙子应该怎样从破损的沙漏里漏出来

问题:仅仅让建筑物具有真实的外观已经不能满足现状了,必须让它们能够真实地倒塌。在设计新的摩天大楼时,设计师正在思考如何改进大楼的损毁效果(已有的方法用事先设计好的大楼残片表现倒塌的大楼;或者播放已经录制好的大楼倒塌动画),并且实时呈现在游戏中。

现状:Piexelux娱乐开发名为数字粒子(Digital Molecular Matter)物理引擎,可以模拟物体粉碎、破裂、扭曲和撕裂的效果。它首先将建筑物转化为数百个微小的西面体。在模拟石块撞击时,射向建筑物的石块在碰撞点替代了那里的四面体;接着,引擎根据材料的密度、强度和质量来演算碰撞点周围的四面体如何相互碰撞、移位,制造出受损部位的连锁反应效果。“我们第一次仿真玻璃破碎时,把人扔向窗户然后观察玻璃以真实的方式变成碎片,足足搞了半小时,”Pixelux的软件工程师维克.索哈(Vik Sohal)说。

未来:所有使用数字粒子引擎表现的物体都必须遵守一些列物理规律,如杨氏模数,决定物体的硬度;还有泊松比,描述了气球和苏打水这类东西的弹性。数字粒子引擎还决定了物体的内力如何聚集,在超过阀值之后使物体在最脆弱的位置破裂。树长出新枝就是这样的过程。索哈说数字粒子引擎还可以用于公路场景;它可以构造一个300磅重的令人厌恶的线路维护员,并表现他鸭子一样的姿态。——Bjorn Carey


vgames_ss_8.jpg
Courtesy LucasArts,图片:凭借Euphoria系统,卢卡斯艺术的暴风突击队员可以完成真实的谄媚、蜷缩和跌倒动作。
8.真实的运动
教布娃娃学会躲闪皮球

问题:你操纵着绝地武士面对成群的暴风突击队,挥舞着光剑杀出重围。但是敌人倒地的方式都一模一样,像蜥蜴或者某种爬行动物一样,显然这无法让你感受到面对敌人时的战栗。原因是缺少足够强大的计算能力实时生成图像,另一方面许多制作人员相信录制动画能够满足需要。游戏人物的动作根本不真实。

现状:软件开发商NaturalMotion基于人工智能引擎生产了一种生成人物行为的引擎——Euphoria。它能让游戏人物在面对危险、受伤时做出动态的反应。Euphoria赋予人物虚拟的人体结构——神经、肌肉、骨骼及重量,这些“特点”使得人物能对外界刺激产生不同的响应。面对飞来的箱子,有的人会躲开,另一些则会热烈地迎接它。当箱子碰到人物,虚拟身体结构做出相应的反应。“这都是基于一个描述人类生理结构的算法,”海顿.布莱克曼(Haden Blackman)说,他是卢卡斯艺术公司的新作《终极力量(The Force Unleashed)》的项目经理,这是第一款使用Euphoria的游戏。实时仿真免除了使用动画的需要,开发者可以利用节约的内存增加更多的视觉效果,以前这会导致人物动作呆板缓慢。最终游戏能提供多样的游戏效果。

未来:我们需要更好的虚拟神经系统。两个暴风突击队员从火车上掉下来,其中一个抓住火车边缘,另一个紧紧抓住他的脚。“这种场景将提高游戏的真实性,增加游戏的乐趣,”布莱克曼说。有了Euphoria这样的虚拟系统,开发商将持续推出更激动人心的游戏体验。
分享到:
评论

相关推荐

    游戏架构与设计 新版

    《游戏架构与设计:新版》不仅是一本详尽的游戏开发指南,也是对未来游戏设计和开发趋势的深刻洞察。它适合所有对游戏开发感兴趣的读者,无论你是初学者还是经验丰富的开发者,都能从中获得宝贵的启发和实用的技能。...

    Python游戏设计案例实战课件.zip

    《Python游戏设计实战课程概述》 Python语言以其简洁明了的语法和强大的库支持,成为了初学者和专业开发者青睐的游戏开发工具。本课程"Python游戏设计案例实战课件"是一份详细的教学资料,旨在帮助学习者掌握Python...

    Java游戏设计

    在本项目中,我们主要探讨的是“Java游戏设计”...以上就是“Java游戏设计”项目中涉及的主要技术点,通过学习和实践,开发者不仅可以掌握Java编程,还能深入了解游戏开发的全过程,为未来的手机游戏开发打下坚实基础。

    大型多人在线游戏设计

    未来的研究方向可能会集中在进一步优化持久化策略,以支持更大规模的游戏环境,并探索更多创新技术来提升整个游戏行业的技术水平。 ### 参考文献 [1] Zhang K, Kemme B, Denault A. Persistence in Massively ...

    2048游戏设计_课程设计报告.pdf

    【2048游戏设计】是一门以编程和软件开发为核心的课程设计,旨在让学生通过实践了解游戏开发的基本流程,掌握Windows程序设计的核心技术,并提升问题解决和创新思维能力。本报告将详细介绍游戏的设计思路、需求分析...

    安卓android游戏设计开题报告

    ### 安卓Android游戏设计开题报告知识点梳理 #### 一、项目背景及意义 **1.1 问题的提出** 随着科技的进步和社会的发展,智能手机的功能日益强大,并逐渐成为人们生活中不可或缺的一部分。尤其是在休闲娱乐方面,...

    常见手机游戏的界面和交互方式研究

    随着技术的不断进步,未来的手机游戏界面设计和交互方式将更加注重个性化和沉浸感。例如,增强现实(AR)和虚拟现实(VR)技术的应用,将允许玩家与游戏环境进行更加直观和真实互动;AI和机器学习算法则有望提供更加智能...

    vc++课程设计麻将游戏

    【VC++课程设计:麻将游戏】 在VC++环境中进行课程设计,开发一款麻将游戏是一...通过这样的课程设计,学生不仅可以巩固和提升编程技能,还能锻炼解决问题和团队协作的能力,对于未来进入软件开发行业具有很大的帮助。

    c语言毕业设计地空对战游戏.rar

    这样的游戏设计不仅要求开发者具备扎实的C语言基础,还需要了解游戏设计的基本原理,包括游戏规则设定、状态机的构建、碰撞检测以及随机事件的处理等。 【标签】"毕业设计"表明这是学生在毕业前完成的一项重要任务...

    2021中国移动游戏行业报告十大趋势完整版-CTR-2021.10-38页.pdf

    9. **大数据与AI应用**:通过数据分析和人工智能技术,游戏公司能更好地了解用户需求,优化游戏设计和服务。 10. **绿色可持续发展**:行业关注环保,倡导绿色游戏理念,实现经济、社会和环境的和谐共生。 综上所述...

    经典游戏程序设计

    通过学习和实践这些经典游戏的程序设计,开发者不仅可以掌握C++编程基础,还能深入理解游戏设计原理,为未来开发更复杂的游戏奠定坚实基础。同时,提供的连连看外挂代码也是一个有趣的延伸,让开发者了解游戏外挂的...

    有关平衡性 历史策略游戏英文版文档

    ### 相关知识点 #### 一、人工智能与游戏发展历史 - **早期探索:** - 1950年,Claude Shannon发表了...- 未来的研究将继续探索如何更好地利用人工智能和其他先进技术来优化游戏设计,提供更加沉浸式的玩家体验。

    微信HTML5在线朋友圈游戏源码带安装部署教程-冰桶挑战赛.rar

    在这个案例中,“冰桶挑战赛”的源码包含了游戏的所有逻辑和设计,可以让有经验的开发者理解其工作原理,或者根据需要进行定制和优化。 【安装部署教程】通常是一系列指导步骤,帮助用户将软件或应用设置在特定环境...

    网络游戏-一种裸眼3D动感游戏装置.zip

    10. **教育与研究价值**:这样的装置对游戏设计、计算机图形学、人机交互等领域具有很高的研究价值,可以推动相关领域的教学和学术研究。 综上所述,这个压缩包提供的资料对于了解和研究裸眼3D动感游戏装置的设计...

    云计算行业:云游戏关键技术研究报告(2020年).zip

    云游戏服务需要设计出适应大规模并发的服务器架构,包括负载均衡、动态扩展和数据持久化。例如,使用软件定义的网络(SDN)和网络功能虚拟化(NFV)来提高网络性能和可管理性。 ### 5. 云游戏平台 云游戏平台如Google ...

    5G移动通信技术及未来发展趋势研究.pdf

    《5G移动通信技术及未来发展趋势研究》 随着科技的飞速发展,通信技术日新月异,其中5G移动通信技术成为了当前研究的热点。5G,即第五代移动通信技术,它不仅代表着更高的标准,更宽的带宽,更快的速度,而且是未来...

    云游戏产业发展白皮书(2019年).rar

    这可能导致游戏设计的创新,如开放世界、多人在线协作等复杂类型游戏的普及。 7. 用户体验:云游戏简化了游戏获取和更新过程,用户可以即点即玩,无需下载和安装。但同时也需要考虑网络延迟对游戏操控感的影响,...

    Android应用源码之高仿安卓捕鱼达人游戏-IT计算机-毕业设计.zip

    该压缩包文件“Android应用源码之高仿安卓捕鱼达人游戏-IT计算机-毕业设计.zip”包含了一个Android应用的源代码,旨在帮助学生进行...同时,这个项目也适合作为论文研究的实例,探讨移动游戏开发的技术挑战和解决方案。

    网络游戏-基于近场通讯技术实现网络名片交换的方法.zip

    在当前的数字化时代,网络名片交换已成为商务交流和社交互动中的常见现象。本文将深入探讨如何利用近场通信(NFC,Near Field ...随着NFC技术的普及,我们有理由相信这种技术将在未来的游戏设计中扮演更重要的角色。

Global site tag (gtag.js) - Google Analytics