“不到一年以前,硬件的處理
1.硬件處理能力 processing power
用神奇處理器重繪西斯廷教堂的天花板
問題:如果電腦的運算速度跟不上游戲指令,畫面會跳幀,徹底毀掉玩家的游戲體驗。計算能力的限制始終是游戲制作中最令人頭痛的問題。此外,它跟本文提到的其他問題都有關系,從實現人工智能到創造真實的物理引擎。
現狀:多核技術同時使用多個處理器或者圖形處理單元來提高計算能力,可以加速游戲的運行。但是現在的程序員還沒有掌握多核處理器上的編程技術——使他們無法有效地利用這項技術。(PS3的包含8個3.2GHz處理器,可惜現在很少有程序員掌握了相應的編程技術)傳統的程序
未來:摩爾定律——芯片上集成的晶體管數目每兩年翻一番——意味著未來將會有更強的計算能力。(圖形處理芯片巨人Nvidia宣稱一直以超過摩爾定律的速度更新它的芯片,在不到一年的時間內使芯片的處理能力翻倍)但是程序員的雄心總是走在硬件發展的前面,正如一位設計師指出的:“我們的能力越強,獲得的成功越大,我們期望也越大” 對更強計算能力的渴求將永遠伴隨著CPU和GPU處理能力的快速發展。
2. 水
Courtesy Sony,圖片:龍潭虎穴(Lair)中,真實的水面
描繪出流動的海水
問題:數學方法已經能奠定了計算最精細的液體流動的基礎,比如一毫米見方以內的水面特效。
現狀:“黏度是關鍵,”羅恩.法第奎(Ron Fedkiw)表示。羅恩是斯坦福大學計算機科學系的助理教授(associate professor),他致力于電影特效的研究,像星球大戰前傳三:西斯的復仇,以及現在的變形金剛。現在他正在與工業光魔公司合作。“高黏度”——類似于固體之間的摩擦——“比較容易表現,黏度稍微降低,表現會變難;而對于水,難度更大。”數學模型能夠描述水的運動,法第奎承認,但是只有超級計算機才能滿足其運算需要。
未來:游戲開發者正在試驗粒子系統,一種由一組顆粒組合而成的系統,所有粒子都以特定的規則對外界做出反應。然后,隨著處理器性能的慢慢地增強和算法的改進,使用湍流模型——計算物理學中模糊預測(BallPark Estimate)的等價模型——能夠繪制出更加真實的液體飛濺、氣泡和波浪效果。——J. W.
3. 人臉
Courtesy Bioware,圖片:Bioware大作《質量效應》中人臉的逼真程度已經接近引起“深谷效應”的程度。
用提線木偶模仿活人
問題:分析和重現人類最熟悉同時也是最微妙的面部表情已經困擾了藝術家和科學家數百年時間。現在,
現狀:Valve的開發人員希望給出一套規則,按照這套規則來產生游戲角色的表情,以表達真實的情感。心理學家保羅.艾克曼(Paul Ekman)和沃勒斯.佛萊森(Wallace V. Friesen)在研究解剖學和人類交流時定義了人類面部
未來:克服“深谷效應”相當困難。程序員正致力于增加人臉表情的多樣性,賦予不同部位的面部皮膚以不同的光澤(sheen of skin stretched across facial muscle)。當然,在游戲開發商鉆研心理學和仿真機器人的同時,處理器的速度必須跟上新
4.人工智能
Courtesy Ubisoft,圖片:
讓1000個孩子一夜之間學會獨立思考
問題:曾經,游戲中的壞蛋僅僅是毫無目的地漫游,在快要被你打死的時候才開槍射擊。現在玩家對此已經不再滿足啦,他們希望對付更狡詐的敵人,還要有可以協助他們的可靠的同伴。盡管當前的人工智能已經復雜到能夠滿足這樣的需要,但是處理器速度限制了它們的應用。“我們只能盡量讓角色看起來聰明一些,”馬修.梅澤羅(Mathieu Mazerole)說,他是育碧《刺客信條(Assassin’s Creed)》的首席工程師。
現狀:賦予游戲角色像人一樣的決策能力需要使用高級的邏輯理論。頂尖的機器人工程師使用這種理論,包括決策樹、可變巡航(Mobile Navigation)和有限自動機模型。這些
未來:馬澤羅爾(Mazerole)預測下一代的人工智能將能夠獨立地與游戲中的角色進行動態的交互。“兩個‘人’走路撞在一起,正好他們脾氣都比較‘暴躁’,這時候他們應該打起來——這就是我們將來要達到的效果。”——J. W.
5.光影效果
Crvtek/EA,圖片:戰斗場景增加了《危機》(Crysis)這類
重現上帝造物——要有光
問題:穿越叢林需要強健的身體——而生成逼真的叢林對游戲開發人員來說同樣是一個難題。為了生成數英里布滿濃密植被的游戲場景,第一人稱射擊游戲《危機》(Crysis)的開發商Crytek需要為不計其數的多面體添加光影效果。而且為了實時計算,開發小組必須把運算量維持在處理器能承受的范圍內。不同于電影特效師,能夠花大量的時間繪制一幀圖片,然后由計算機在一天之內生成最終的畫面。Crytek的首席執行官凱渥特.耶利(Cevat Yerli)說:“通常,真實的畫面和生產它時間是互斥的。”
現狀:解決辦法是Crytek公司開發的工具Polybump2。它能將復雜的物體表面轉化成少量多面體組成集合體。此外,開發者進還提出了使畫面表現更加真實的新
未來:Crytek已經使更好的視覺效果稱為可能,但是特效極限受處理器運算能力的限制。隨著處理器速度的提升,游戲將展現令人嘆為觀止的視覺效果:透過冰的光線、雨水甚至是廣闊背景中掉落的物體。
6.火焰
Courtesy D3 Publisher,圖片:《黑暗教派(Dark Sector)》這樣的
用你的雙手控制空氣
問題:在游戲中表現火焰是一項嚴肅的問題。用程序生成火的行為跟水很像,區別在于:a) 火焰移動更快,也更復雜;和b) 火要燒毀其他東西。過去的游戲中用實景動畫來表現火焰,現代游戲則著重于通過火焰的變形和粘性來表現動態的煙霧和焚燒效果。
現狀:程序員在談火焰效果的時候,不可避免地會涉及硬件——它代表了程序員所能達到的極限。所以,當前游戲中的火焰大多的是短暫或爆炸的效果。大火熊熊燃燒的景象難以通過程序實現。“我們僅僅是沒有足夠強大的處理
未來:斯坦福大學的羅恩.法第奎(Ron Fedikiw)已經
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.動作捕捉
Courtesy Crytek/Electronic Arts,圖片:真實的測試數據被用來呈現極品飛車:職業賽車中的每一次起火和碰撞。
Organic Motion,圖片:舊的動作捕捉系統需要轉著特殊的
讓電腦學會像人類一樣觀察世界
問題:通過穿著動作捕捉服來獲得人類真實動作的方法已經過時了。這種方法需要花數小時訓練電腦準確識別人體的運動模式。但是長時間的運動會讓衣服上的捕捉器脫落。更糟的是,如果捕捉過程中某些捕捉器的信號減弱,電腦就不能有效捕捉對應人體的動作,最終會導致這部分的動作缺失。為此必須花高價雇傭工程師來重繪缺失的部分,往往還要花更多時間。
現狀:在Organic Motion的Stage系統中,攝像機錄制鏡頭前人物的動作,同時電腦實時生成捕捉到的圖像。這個系統不需要被觀察者攜帶捕捉器。該系統通過由10到14個攝像機生成的圖像合成三維數據云。電腦將相鄰的數據點三角化,進而形成人體的輪廓、動作。然后被填充的三維材質送入動畫軟件進行進一步的處理,這一步相對簡單。“不會丟失任何細節,”開發者和首席執行官安德魯.茨諾克(Andrew Tschesnok)說,“即使人體某部分被擋住了我們仍然知道它在哪里。”
未來:新技術的使用使