開心遊戲館

位置:首頁 > 單機圖文攻略 > 

《上古卷軸4,湮沒》前瞻

2002年最好的CRPG除了《地牢圍攻》和《無冬之夜》就是Bethesda的《晨風》了。《晨風》有着先進的引擎,雖然系統要求非常高,但是玩家會覺得很值當。此遊戲得過衆多獎項,還先後推出兩作擴展包。現在Bethesda就要完成上古卷軸最新一作——《上古卷軸:地獄》,如果你降低畫面細節的話,連今天的怪物級顯卡都可以應付的了。對於這款PCXbox雙平臺遊戲,我們對開發者進行了一次訪談來揭示一下畫面以外的人工智能和物理系統等等。Gavin Carter很慷慨的爲Beyond3D的讀者回答了下面的問題。

《上古卷軸4:湮沒》前瞻

能談談你們使用的動態陰影技術麼?他們看起來像是某種陰影貼圖。

他們確實是一種陰影貼圖,不過和我們在E3看到的那種很不一樣。在最開始的陰影測試中我們在遊戲中每個表面都用上了立體貼圖(cube maps),不過在時候的進一步測試中我們發現這並不是一種實用的解決方案,速度太慢了!我們改變了方法開始給每個角色直接使用陰影貼圖(shadow maps)。系統支援完全的自陰影,我們使用了多重取樣(multiple samples)和深度檢測(depth comparisons)來提供柔和陰影效果(soft-shadowing effect 譯者:在有些遊戲中,我們看到的陰影邊緣都非常銳利,這不符合顯示,因爲現實中沒有真正的點光源,而且還存在大量的環境反射,真實世界中的影子邊緣都是模糊的。)。最終我們達成了一個可以在同時保證效率和效果的前提下普遍支援地獄中多種環境的系統。

《上古卷軸4:湮沒》前瞻 第2張

是不是我們在各種等級的機器上都可以看到動態陰影效果?即使在低端機器上效果稍稍有些縮水。還是說動態陰影只是給高端機定製的效果?和3代相比有什麼質的飛躍?

所有等級的系統都可以看到動態陰影效果。使用低端機的玩家可以透過取消自陰影和柔和陰影或者調整角色接受陰影的數目來提高速度。和晨風相比飛躍是顯著的。我們不再使用模板陰影了(stencil shadows ),我們現在的的系統可以以更小的代價獲得更好的效果。而且,陰影改爲使用世界座標系而不是晨風中的屏幕座標系,這樣我們就可以加入一些新的效果像是淡出和隨着距離而模糊的陰影邊緣。

你們對一些靜態陰影使用了預計算陰影技術了麼?(譯者:比如說,在CS中,因爲太陽是不動的,而且那些箱子什麼也是不動的,所以我只要預先計算出陰影,然後“畫”到貼圖上就好了)如果用了,他們和動態陰影結合的如何?

我們沒有使用任何預計算陰影。主要理由是預計算陰影貼圖和我們的動態陰影技術結合的不好。而且完全使用動態陰影方案還有一個好處就是我們的藝術家可以在一個更靈活的全所見即所得的環境中創造他們喜歡的環境。

《上古卷軸4:湮沒》前瞻 第3張

在最近的一篇訪談中你提到地獄中物體表面使用了各種光照效果(法線貼圖和平行貼圖,舉個例子)你是如何處理平行貼圖的交界和曲面變形問題的?

在高端顯卡中,我們透過以每象素爲單位兒不是每向量爲單位進行可見向量計算(eye vector calculation)來避免貼圖扭曲的問題。有些貼圖扭曲問題是固有的,你用什麼卡也解決不了。不過一般來講這不是什麼問題,除非你把鏡頭緊緊的貼着貼圖看,否則你肯本看不出來。我們的藝術家很快就學會了怎麼樣看起來好,怎麼樣看起來不好。T形貼圖匯合邊緣在進行任何光照計算的時候總是有問題,所以我們在藝術設計階段就透過避免構造那些會出問題的東西來避免這個問題了。

《上古卷軸4:湮沒》前瞻 第4張

地獄貌似是第一個在發售之時就帶有完整HDR特性的遊戲了。你能講講你們具體的實現方法麼?是否使用了浮點混合(fp blending ),可否在象素渲染下進行混合?地獄使用了浮點貼圖麼?

《地獄》裏的HDR使用了浮點貼圖以帶來更好的精確度,同時還使用了浮點快取混合(floating point buffer blending)。我們的場景太複雜了,如果使用在象素渲染下進行混合硬件需求太高。

你們打算使用多少的渲染引擎(Shader Model )?在最近的訪談中你提及使用到了渲染引擎3.0;你們只是使用渲染引擎3.0來提高速度還是使用到了其中特別的內容,比如說在定點渲染中的貼圖獲得(texture fetches )?

我們打算使用渲染引擎2.0到3.0。對於渲染引擎3.0效果,使用渲染引擎3.0編程可以使用分支和循環,這點很有好處,不過主要還是爲了提高效率。在3.0中我們可以在一道處理中完成所有的光照,其中包括混合物件的光照。

請談談在不同版本的渲染引擎中處理同樣效果的感受。

大部分上,我們的渲染是最初先在腦子裏用2.0的規格寫好。在3.0裏,因爲我們可以讓效率提高,講不同的處理過程合併,寫代碼就更有趣了。雖然有時候我們需要做一些完全相反的事情,那很痛苦,不過在大多數情況下我們儘量避免那樣。

在截圖中看到世界真是細節豐富,確定能見度一定非常重要。你們使用了什麼先進的技巧麼?比如說入口裁剪(portal culling )?

我們主要依靠LOD模型,當一個物件距離足夠遠或者清晰度足夠低的時候他的面數就會減少,這樣光照,幾何和渲染負荷就會降低了。我們同樣使用了簡單快捷的隱藏面剔除(occlusion culling)。重申,我們的目標是在不影響藝術家的自由的情況下最優化系統。

《上古卷軸4:湮沒》前瞻 第5張

之前的訪談中你提到了使用多線程技術來加速新區域的載入速度。在這點上你覺得其他不那麼顯著的設備比如說內存速度,CPU L2快取,AGP/PCIe速度有多重要?

優化是一件綜合性的工作。比如我們花了一些時間來優化代碼防止L2快取錯失並提高效率。我們試着在沒個硬件上進行優化,綜合起來速度就能得到很大的提升。

《上古卷軸4:湮沒》前瞻 第6張

我們很好奇平均每屏幕包含多少三角形和定點?遊戲大約會有多少定點渲染,你們平均使用了多少象素和定點渲染指令?

我們的三角形和定點數偏高,但是符合微軟和主流顯卡公司對下一代開發的推薦值。對於象素渲染,如果你計算因爲不同顯卡組合導致的不同情況的話,有上百種。在一般情況下大概有25種主要的渲染效果。對於不同的渲染模型我們用到了不同數量的指令,所以在快速的顯卡上低端2.0渲染和3.0光照渲染可以結合的非常緊密。

你能概述一下對於製作mod的,地獄和晨風比起來有什麼不同麼?

編輯器有着大大小小的各種變化。有許多全新的工具,比如說高地產生器,還有可以給大片地方快速填滿物件的區域產生器。對話和人物系統經過了重新制作以提高工作效率,還加入了用來讓Havok物件在編輯器裏能更好操作的工具。做mod的還可以直接修改全部的AI配置。

《上古卷軸4:湮沒》前瞻 第7張

作爲PC、Xbox雙料開發者,你們如何評價微軟的XNA?其他的開發者對於他的(profiling tools )壓型工具很是讚揚,對其多平臺融合也是印象深刻。你最喜歡哪個?

XNA工作室尚未發佈,不過他們提供給開發小組的工具和Xbox360壓型(profiling )非常出色。其中對於執行效率的PIX壓型工具最棒了,在這裏每日的基本工作都要使用到它。

今天在PC和Xbox 360上開發遊戲和以前在PC和Xbox上開發《晨風》時有什麼不同?

因爲Xbox的架構和PC非常相像,所以和今天的情況非常不同。360更像傳統的家用機,其配置都是爲遊戲而定製的。像是一元化內存架構和多核心架構對於設計來說是一大挑戰,不過對於所有的跨平臺遊戲製作都會有如此情況。我們從微軟得到了極大的幫助,比在原xbox上開發遊戲時還大。

《上古卷軸4:湮沒》前瞻 第8張

現在都流行物理系統,在地獄這麼豐富的環境中,你們是怎麼平衡物理計算和其他CPU需求的?(比如說AI或者渲染)你是否覺得現在的開發者過於注重物理系統了?他們應該麼?

我們使用了Havok來保證物理系統的最優化。我覺得凡是玩過半條命2的人都會覺得物理系統可以給遊戲帶來很強的遊戲性。現在的開發者確實發現了物理系統在遊戲中的重要性,不帶物理系統的遊戲已經很少見了。我很其他它們可以帶來的更多的遊戲性。

雖然你提到過你很陶醉於Havok,但是在《地獄》發行之後會有提供PhysX(就是前些日子出現的物理卡)和Novodex的補丁麼?

我們當然保持着對新技術的關注,這樣我們纔可能爲遊戲找到一些新玩意。對於物理系統,Havok是市場的先鋒,它已經被100多款遊戲所使用,而且它能給我們提供的大量技術支援對於將其融入到《地獄》中以及最優化非常重要。還有,我覺得在提供對全新物理系統的支援超過了一個補丁的容量。

《上古卷軸4:湮沒》前瞻 第9張

《地獄》最棒的內容之一就是AI。你們是如何減少AI的運算量的?和可視性有關沒麼?(比如當動作者不在視線範圍之內時減少計算量,或者是基於距離如此)?

主要是根據玩家能否見到動作者來決定,還有就是和他們於玩家的相對區域有關。對於玩家看不到的角色的AI我們做了大量的優化。

《上古卷軸4:湮沒》前瞻 第10張

你能揭示一下你們製作AI的祕密麼?每個角色都有24小時的動作表,並且有着如此巨大的世界,引擎還不卡死?你們是不是在區域的邊緣使用了快照式更新?(可能就是說遊戲中分成很多區域,如果玩家不在一個區域裏,那麼那裏的NPC的AI就會非常粗略,然後隔一段時間重新載入一次而不是進行精細的計算。)

關於這點,我們主要是根據距離來調整處理時間的。我們有着複數的進程層來控制行動的範圍和數量,NPC也受此影響。對比在玩家旁邊的角色,遠離玩家的角色的行爲複雜度會降低,也會以更長的週期進行重新載入。