30年间游戏图形技术进步史与游戏画面迭代【上:1996-2009】

不瞒你们说,笔者今年刚好30周岁了。作为一个图形学狂热爱好老登,想着做一期文章盘点一下从30年前的1996年到今年,游戏业界每一次重要的图形技术进步。不仅是单纯的放几个游戏截图或者片段,我决定把这期文章的内容扩充到从硬件到技术到影视追求的方方面面,还融入了一些行业趣闻,希望大家能够喜欢。

文章比较长,不得已拆分成上下两个部分,下半部分预计在下周发布,感兴趣的盒友们可以点个关注~不关注的话双击页面点个赞也可以,老韭我会很开心,球球大家了!废话就到这边,下面进入正篇。

*本文长约6000字,阅读大约需要15分钟*

我们选择1996年作为起点。在那个年代,3D游戏一直是开发者追求的终极目标。虽然早期也有一些类似于《VR战士》之流的3D游戏问世,但这些游戏多数只能在街机上运行,且游戏本身往往比较简陋,对于性能更弱的家用机和还未成为主流游戏设备的PC来说,3D游戏更是个难以企及的目标。

雷神之锤重置版

当然《雷神之锤》的3D剔除也不是一蹴而就的,卡马克早在《毁灭战士》中就已经探索了基于二叉树结构剔除的伪3D射击游戏,这给后续的《雷神之锤》打下了基础。不同于《毁灭战士》中使用的BSP技术,《雷神之锤》中搭载的PVS更进一步,其使用的Quake引擎在BSP空间划分基础上,在开发时就预计算所有可见集合并记录于表中,使用时直接查表,大幅降低硬件负担。

BSP

PVS的出现深刻的影响了3D游戏的发展,直至今日仍在被广泛使用,光线追踪BVH某种程度上也与其有相似之处,可谓意义重大。值得一提的是,1996年还有一件影响深远的大事。

1996年11月,3dfx发布了Voodoo显卡,这是历史上第一款成功普及的消费级3D加速卡,《雷神之锤》后来推出的GLQuake版本首次支持这款显卡的API,让玩家第一次体验到了硬件加速带来的流畅画面。

Voodoo 1 加速卡

这直接催生了独立的3D显卡产业,也为英伟达后来的崛起埋下了伏笔。就在次年,游戏界迎来了一个方向与《雷神之锤》完全不同,但同样改变了游戏业发展的传奇游戏。

1997年,在大洋彼岸的日本,Square公司放弃与任天堂长达十年的合作关系,将新一代的《最终幻想》转投PS平台,这毫无疑问是一场豪赌,但他们别无选择。

当时,Square在开发《最终幻想7》的同时,协助索尼制作了一款名为《妖精战士》的RPG,这引起了任天堂的不满。为了惩罚“叛徒”Square,任天堂在发售其制作的《圣龙传说》时,将所有库存一次性强行压货给经销商,导致市场瞬间饱和,价格崩盘。这场制裁让Square直接亏损了34亿日元,公司一度濒临破产,这也导致了Square与任天堂决裂。但抛开这个原因,Square也有不得不放弃任天堂的理由。

圣龙传说

在那个年代,N64和MD都采用卡带作为存储介质。这种介质容量较小,价格却很昂贵,也正因为这些限制,游戏的体量始终无法迎来突破,主打电影化叙事的《最终幻想7》自然无论如何也是装不进64MB的卡带的。同期世嘉土星虽然采用了便宜管饱的CD ROM,但是由于其商业上的失败,根本吸引不了理智的开发商,最后也只剩下了刚刚起步的PS平台(当然索尼的资助也是一方面)。

PS使用的CD ROM

但是,由于PS1的CPU多边形处理能力很有限,坂口博信团队专门开发了一套混合渲染管线,使3D角色能够通过深度缓存和遮罩与2D背景完美混合,使游戏过场动画表现力上升了一个维度。不过即便如此,要想达到影视级的表现力,在那个年代除了使用CG别无他法。

2D背景+3D角色

为了演出质量,《最终幻想7》用了超过60分钟的高质量CG。即便CD ROM单张最大有650MB的容量,《最终幻想7》也足足用了3张光盘才装下,这也是《最终幻想7》为数不多的重大缺陷。不过,仅一年后,这个缺陷就迎来了终极的解决方案。

无论在游戏图形技术还是电影化表达方面,1998年都是如假包换的超级大年。在那一年,任天堂带来了对游戏业界产生深远指导性影响的《时之笛》,同年另一位传奇制作人则在《最终幻想7》的基础上更进一步,将游戏图形推向电影化的高潮,这个游戏就是小岛秀夫的《合金装备Solid》。

MGS

不同于我们刚刚提到的《最终幻想7》,《合金装备Solid》完全抛弃了传统的CG播片,转而采用了全3D即时演算过场动画,“即时演算”一词也正是在这个时候被发明出来。即时演算带来的沉浸感是其他任何形式都难以媲美的,同时也将宝贵的储存资源从CG中解放出来,这为后来《战神》等作品的无缝叙事奠定了基础。小岛秀夫因此被称为电影狂人,当然他自己也是这么认为的就是了。

小岛秀夫

说来也是巧合,《合金装备Solid》与《时之笛》都殊途同归地定义了“相机”的概念。以往除了第一人称的FPS游戏,其余游戏多是俯视角或是第三人称固定视角的,《最终幻想7》也是如此,而《合金装备》则采用了非常有创意的混合视角。

时之笛

当角色穿过特定区域时,镜头会自动切换到预设的固定角度,这使得玩家看到的内容能被很大程度上控制。这种动态相机的概念也是《合金装备》电影化质感的重要来源。这种“运镜”的思路也将游戏影视化带上了一个新的台阶。

混合视角相机

1998年还诞生了一项重要技术:LoD。首次搭载这项技术的游戏《家园》将RTS游戏彻底带入3D时代。在《家园》中,当玩家将视角拉近时,引擎会将焦点模型自动切换为几千个面的高精度模型,而视角拉远时,模型精度则会相应的降低,甚至进一步降为几十个面的Billboard。

家园重制版

虽然《家园》中的LoD和现代游戏(尤其是RPG)中的LoD应用方式有所不同,但两者的理念却是高度一致的,即便放在28年后的今天,绝大多数游戏仍然需要依赖此技术,其重要性不言自明。

LoD

随着LoD的引入,3D游戏集齐了最后一块拼图。自此,3D游戏迎来了井喷式发展。1999年发布的《莎木》也成为了3D开放世界沙盒游戏的先驱作品,奠定了包括实时天气变化,NPC自主行动轨迹,真实时间系统等多项现代开放世界的标准,使其成为了当时独树一帜的真实向游戏。

莎木1

要实现这一目标也离不开强悍的硬件,1999年发布的世嘉DC功不可没。其采用的日立SH-4处理器浮点运算能力高达1.4 GFLOPS,比当时流行的奔腾II快4倍,“显卡”上也强过当时的Voodoo3。但是,当时的世嘉一方面缺少像样的第三方支持,更重要的是不久后索尼公布PS2半路截胡,导致开发商提前进入观望阶段,DC很快就陷入没游戏可玩的地步。

DC

不过PS2也的确不是虚张声势,这台机器的硬件规格在2000年的当时堪称怪兽级别。其CPU主频比DC高了近50%,内存也翻了一倍,但它的显卡就很极端了。

在PS2之前,行业普遍认为3D图形的瓶颈在于显存容量。PS2搭载的图形处理器总线带宽高达48GB/s,显存却仅有4MB,这意味着必须用“流式传输”而非“缓存”的思路来开发游戏,这无疑对开发者很不友好。但事实证明这个思路是正确的,也正因如此《GTA3》等无缝读盘的开放世界游戏才得以问世。

PS2

同年,PC这边也发生了一件大事,英伟达收购了曾经风光无限的3dfx,正式登上了游戏行业的王座。谁也不会料到,这位图形界的新秀在未来将成为图形界乃至整个计算机领域的霸主。

英伟达

收购完成后的第二年,英伟达推出了GeForce 3—-世界首款支持可编程着色器的GPU。此前,在固定功能流水线时代,显卡的每一个处理单元都只能执行预设的操作。此刻随着顶点和像素着色器的引入,开发者可以自己编写程序,针对每一个顶点编写变换和光照操作,大大解放了开发者的束缚。

GeForce 3显卡

不过,英伟达并非唯一的玩家。就在GeForce 3发布后不久,ATI推出了Radeon 8500,这是首款支持DirectX 8.1的显卡,像素着色器版本提升到1.4,在部分特效上甚至领先于英伟达。

Radeon 9700 Pro

2002年,ATI又发布了全球首款支持DirectX 9.0的显卡:Radeon 9700 Pro。它的像素着色器2.0版实现了更高的精度和更复杂的数学运算,浮点精度也提升至32位。这款显卡在性能上全面超越了英伟达的同代产品,一度成为发烧友的首选。而英伟达则推出GeForce FX系列匆忙应战,虽然口碑不佳,但这场激烈的竞争极大地加速了图形技术的发展。从此,图形界进入了红绿双雄并立的时代,再看今天已几乎失去全部独立显卡市场份额的AMD,只能说令人唏嘘。

25Q4AMD市场份额已小于10%

如果2001年是可编程时代的起点,那么DirectX 9.0就是其终极形态。2004年,一家名不见经传的德国公司带着被后世称为“显卡杀手”的游戏走进了公众的视野—-它就是《孤岛惊魂》。

孤岛惊魂

《孤岛惊魂》所使用的CryEngine的渲染管线可以用丧心病狂来形容。它通过地形分块和渐进式LoD实现了超远视距渲染。其单一植物面数就高达几百个,还能随着风场动态弯曲,独立投射阴影,体积光“达利园”效应也在此时正式在游戏中登场。

惊人的植被

不仅如此,《孤岛惊魂》还为业界带来了BRDF应用的早期探索—-即物体反射率会随视线夹角变小而增大,Crytek也因此实现了当时业界最佳的水面效果。即便放在今天,BRDF也仍然是一项性能损耗巨大的技术,乃至许多开发者都认为吃力不讨好,很难想象2004年的《孤岛惊魂》是多么超前。

BRDF

这也带来了一个问题,《孤岛惊魂》发售后,玩家们发现即便是当年最先进的显卡6800GT也跑不动全特效。Crytek的创始人Cevat Yerli后来承认,他们故意把画质标准定得远超当时的硬件水平,因为“未来总会追上来”。事实证明他是对的,《孤岛惊魂》的出现直接奠定了未来几年硬件测试的基准。

2005年,一家叫AGEIA的公司发布了PhysX物理加速引擎,这是图形硬件发展史中的又一个里程碑。

PhysX加速卡

在PhysX之前,重力/布料/流体模拟与碰撞检测等物理计算全部由CPU负责。这些计算极其繁琐,既无法发挥CPU的长处,还会占用大量宝贵的运行资源。AGEIA的方案是用一块专用PPU(物理处理单元)来分担这些任务,原理和后来的GPU加速如出一辙。

刺客信条4中的PhysX

PhysX的出现使得刚体的重力效果飞跃式进步,视觉上不再像轻飘飘的海绵块,甚至连之前想都不敢想的物理破坏效果也成为可能,将这些发挥到登峰造极的游戏则是2008年EA发布的《镜之边缘》。同年,英伟达收购AGEIA,将PhysX整合进自家显卡,PPU自此成为历史,但“物理引擎”这个概念从此深入人心。

镜之边缘玻璃破坏效果

时间线未免跳的有点过快,让我们把时间拉回2005年。这一年还发生了一件为玩家津津乐道的事情。

此时时值新一代主机推出前夕,索尼为了炫耀下一代主机PS3的性能,展示了一段《杀戮地带2》于PS3上的实机演示,其绝佳的画面品质令市场哗然。发布会结束后,有媒体质疑这段演示并非实机画面而是预渲染的CG,索尼与开发商游骑兵自然是矢口否认。尽管存在争议,但这部预告片极大地提升了公众对PS3机能的期待,有效平息了当时关于PS3机能不如Xbox 360的传言。

而随着次年Xbox 360和PS3的相继亮相,这款被寄予极大期待的作品却没有如约发布,取而代之的仅仅是一段DEMO演示。玩家和媒体此时发现,DEMO画面与2005年的预告片存在明显差距,画质缩水严重。对此游骑兵后来承认,2005年的预告片并非实机画面,而是预渲染的CG动画。索尼之后对此事三缄其口,《杀戮地带2》也因此成为了玩家最为津津乐道的画质诈骗事件之一。

虽然主机这边的画质令人遗憾,但PC这边就不一样了。2007年,《孤岛危机》发布,开发商同样是此前著名显卡杀手《孤岛惊魂》的开发商Crytek。在本作Crytek再次带来了一系列将引领游戏画面革命的技术。

噔噔咚

此前,大多数游戏依赖光照贴图(Lightmap),也就是预计算光照。而《孤岛危机》引入的动态光照系统使得游戏的画面被推向了另一个高度。不过,如果说动态光照是时代的必然,那么另一项影响深远的技术—-SSAO,则是时代抄的一个小捷径。

SSAO效果对比

SSAO全称“屏幕空间环境光遮蔽”,由英伟达在2006年首次提出。它利用屏幕空间每个像素与其邻近像素之间的深度信息来计算被遮挡的比例,按照这个比例给这个像素增加一个暗调。这项技术的出现使得引擎可以用较低的代价模拟物体相互接触部分的阴影。虽然在物理上这种阴影并不准确,但在硬件有限的时期,这项技术的出现大大提升了画面的质感。此后业界逐步发展出了HBAO,GTAO等多种AO技术,Crytek家也在后续将此技术迭代到SSDO。在光追问世之前,GTAO一直是最接近真实物理世界的AO技术,但这一切都因光追的出现而完成了它们的历史使命,不过这都是后话了。

《孤岛危机》同样支持PhysX,近乎夸张的硬件需求使得其再次成为业界衡量显卡性能的指标,它也因此留下了一句流传至今的名言:“But can it run Crysis?”

同时,次世代主机的上市也正式拉开了HD时代的序幕,但高清化也给游戏业界带来了重大的考验。

在PS2时代,一款大作可能只需要几十人团队,而到了PS3/Xbox 360时代,团队规模动辄上百人。这种架构的变化使得开发周期和成本也开始剧烈膨胀,游戏开发开始迎来了第一次失控,最具代表性的事故,就是《最终幻想13》。

雷霆归来也是PS3画质最好的游戏,也许没有之一

Square Enix为了这款游戏开发了Crystal Tools引擎,但由于架构混,工具链不成熟,开发过程一度陷入停滞,甚至不得不抽调其他项目人员救火。最后04年就已立项的《最终幻想13》一直跳票到了2009年才上线,成本也高达半部《泰坦尼克号》。游戏公司开始衡量投资的风险和回报,游戏的商业化味道也是从这个时期开始愈发浓厚。

为了尽可能摊薄开发成本,一些公司开始逐步对外授权自己开发的引擎,其他公司也因此可以省下自研引擎的成本。第一批商用引擎中,除了上面提过的Cryengine外,就是大名鼎鼎的虚幻3了。

虚幻引擎

UE3毫无疑问是一款极其出色的商用引擎,它也因此相当长寿,2014年发布的《蝙蝠侠阿卡姆骑士》再一次向世人展现了这款有些老旧的引擎所能达到的画质天花板。又扯远了,时间线再次回拨。

这是虚幻3你敢信?

UE3的代表作品就是作为Xbox 360的看门作品《战争机器》,而它真正改变行业的并不是新主机带来的多边形数量的指数级提升,而是法线贴图的全面普及。

战争机器

在此之前,想要表现精细的表面细节,必须依赖多边形来构建,即便放在今天这种思路也是不可行的。而法线贴图的出现解决了这一难题。法线贴图的核心是将高精模型的凹凸细节预烘焙至法线贴图中,然后再将其应用于低模上。当光线照射时,引擎会根据法线贴图计算每个像素的光照角度,从而让低模在视觉上拥有高模的凹凸质感。这项技术极大地解放了多边形预算,并成为之后的行业标准。

法线贴图技术简介

自研引擎向商用引擎的转变乃现代游戏开发的无奈之举,但因其缺乏自定义功能,很难符合一些有创意的工作室的需求。一些有经济条件的大厂为了不被商用引擎“卡脖子”,仍然选择自研引擎,寒霜绝对是这点的代表引擎。

寒霜引擎

2008年,DICE推出了《战地:叛逆连队》。这款基于寒霜引擎的游戏的最大卖点便是可破坏的环境,这个卖点直到今天依然是这个系列最坚实的护城河。

叛逆连队

在传统游戏中,所谓的“破坏”大多是通过预置脚本实现的,《叛逆连队》的破坏系统虽然也是这个思路,但更为动态。建筑物的每一个部分都由独立的物理单元构成,不同部分会根据受击方向,威力大小而实时破碎。这种预分割的物理破坏模拟是当时硬件条件下实时破坏的最优解。即便放在今天,《叛逆连队》的破坏效果仍有可圈可点之处,其2010年发售的续作《叛逆连队2》的破坏效果甚至仍然领先于业界绝大多数其他方案。

由于篇幅原因,让我们用刚刚提到的诈骗游戏收尾。直到2009年,一度轰动游戏界的《杀戮地带2》才千呼万唤始出来,其画质也自然没有2005年时预告片中那样震撼。但也不是说它一无是处,抛开宣发问题,《杀戮地带2》本身的画面在当时仍属一流。

杀戮地带2

它最大的技术亮点是延迟渲染的成熟应用—-传统的正向渲染需要为每个光源单独绘制一遍场景,而延迟渲染先将场景的颜色/法线/深度等几何信息存入多个缓冲区(G-buffer)中,再统一计算光照。

这种方案在处理大量动态光源时效率极高,光源数量不再几何级地影响性能了。但延迟渲染有一个致命的缺陷:它难以处理半透明物体。玻璃,水和粒子等需要混合颜色的效果,在单纯的延迟渲染管线里无法实现。

游骑兵的解决方案也很简单,将延迟渲染处理不了的物体退回到前向渲染,最后再将两层叠在一起不就好了。不过,由于PS3的RSX显卡在规格上比较弱,为了实现延迟渲染中的部分效果(如MSAA),游骑兵不得不将这些计算转移给Cell处理器中专为浮点运算设计的SPU单元处理,后者虽然无法独立完成程序,但在处理并行运算时效率很高,这种异构计算的思路这和英伟达的CUDA如出一辙。

由于篇幅的限制,本文不得不在此按下暂停键,后续的内容我也会尽量赶制,当然后半的内容会更加精彩,在枯燥的技术外,我也会尽可能把一些有趣的开发小故事穿插在其中,希望大家能够喜欢!我们下篇再见~

(看到这里还不点赞关注一下吗,不要逼我跪下来求你们!)

原文链接:https://www.he6.net/1403.html,转载请注明出处。
0
没有账号?注册  忘记密码?