水花四濺:GameWorks 如何將洶湧而來的水特效帶進你的遊戲中?

作者 Brian Burke

在我貼出有關GameWorks 的最新部落格文章後,有讀者提出了一個很值得思考的問題: NVIDIA 過去僅提供遊戲特效的範例程式給開發人員,現在為何要提供被稱為 GameWorks 的中介軟體?

為了回答這個問題,讓我先快速地回顧一下電玩遊戲中水特效的歷史。逼真的水效果在現今已是稀鬆平常,但是這一路以來是如何達到的?

在我所玩過的一些早期遊戲中,水效果只是藍色斑點,毫不吸引人,也無法取信於人,就只是背景的一部分而已,它的互動性非常有限,你只能進去或出來。但是如果你看過《險境逃脫 (Pitfall)》,這是一款在 1982 年發行的冒險遊戲,你會知道是遠離鱷魚,或是站在鱷魚的頭上。

在 1999 年,我第一次看到開發人員能利用渲染的水效果完成一些事情。當時NVIDIA 推出了全世界首顆 GPU – GeForce 256。這顆 GPU 搭載轉換和照明引擎,用來進行幾何運算,讓開發人員得以製作出更多互動物件,例如水。

NVIDIA 發表了兩部影片來演示可能的效果。泡泡 (Bubble) 演示影片顯示一個會做出反應的泡泡,被戳到時,這個泡泡會出現波動。水晶球 (Crystal Ball) 演示則顯示一個透明的泡泡,是另一種很棒的水效果。

但是真正的突破直到 2002 才出現,GeForce 4在當時利用第二代可編程的頂點及像素著色器建構場景,DirectX 8 隨著這些新型可編程渲染器的出現而有所進展,我們也開始投入資源來推動遊戲開發商計畫。

在那一年,《上古捲軸 3:魔捲晨風(The Elder Scrolls III: Morrowind)》針對水增添了環境反應效果。我們在一潭泉水中展示這個效果,你甚至可以在水中製造出波浪。

在Novalogic 的《超級卡曼契 (Comanche 4)》這個直升機戰鬥遊戲的一個演示影片中,來自直升機螺旋槳的風會攪動水面並形成漩渦,你甚至可以看到螺旋槳的倒影。

在高爾夫球場裡,水是很重要的,所以我們和美商藝電 (EA) 一起合作《老虎伍茲 2002 (Tiger Woods PGA Tour 2002)》。當你打出一個壞球,要讓你的高爾夫球飛濺過水坑並引發漣漪,這是一個大工程。

那些都是 2002 年的偉大技術進展,而從我們的演示影片來看,我們至少在1999年就已經能做到這些效果,然而,為何這些逼真的水效果花了這麼長的時間才普及至業界?

這些日子以來,YouTube影片顯示逼真的水效果已出現在許多主流遊戲中。水效果是這些遊戲的亮點,包括《末日之戰 (Crysis)》系列、《生化奇兵(BioShock)》系列、《帝國:全軍破敵 (Empire: Total War)》、《刺客教條4:黑旗 (Assassin’s Creed: Black Flag)》及《上古卷軸5:無界天際 (Elder Scrolls V: Skyrim)》等。

出現了什麼變化?我們改變了向開發人員推廣尖端新特效的方式。

遊戲界的光影魔幻工業(ILM)

我們將這樣的努力稱為 GameWorks。GameWorks 涵蓋我們多年來所發明及發展的遊戲相關技術。這是一套強大的工具和繪圖技術,來自於超過 300 名視覺特效工程師的貢獻,他們致力於創建資料庫、開發者工具及樣本範例。他們和開發人員密切合作,更常在現場協助開發商強化遊戲。

回到1999年,我們撰寫成堆的編碼並提供給開發商,讓他們加到他們的編碼中,但是這樣的作法會增加開發人員的工作負擔。隨著我們處理的視覺特效問題日益棘手,僅提供編碼範例已被證明效率不佳。

所以,我們採用一種更生產導向的方式,將我們的特效資料庫轉化為中介軟體。你可以把我們想成是遊戲界的光影魔幻工業特效公司 (Industrial Light & Magic)。

結果就是,開發人員現在只要將中介軟體放進他們的遊戲中,就能使用最新的技術,這是個已被證明的成功方程式。PhysX,這是我們的重要GameWorks技術之一,現在已成為這個業界最常使用的中介軟體之一。

四年以前,我們推出名稱為 NVIDIA Turbulence 的中介軟體。不到一年的時間內,NVIDIA Turbulence就出現在《黑暗虛空 (DarkVoid)》這款遊戲中。然後我們新增對於Unreal Engine 3、Unreal Engine 4 及 CryEngine 的支援。

Turbulence 特效現在已常見於遊戲中。你已能在多款 Unreal Engine 3 遊戲中看見這種效果,這些遊戲包括《蝙蝠俠:阿卡漢始源 (Batman: Arkham Origins)》、《Hawken》及《戰甲神兵 (WarFrame)》。Unreal Engine 4 遊戲,像是《曙光 (Daylight)》也採用 Turbulence此一效果。CryEngine遊戲《戰爭前線 (Warface) 新加入了這些效果。甚至是採用專有遊戲引擎開發的遊戲,例如《刺客教條4:黑旗 (Assassin’s Creed 4: Black Flag)》、《決勝時刻:魅影 (Call of Duty: Ghost)》、《戰慄深隧:最後光芒 (Metro: Last Light)》及《行星邊際2 (Planetside 2)》也已新增Turbulence。

隨著中介軟體就緒,以及內建於重要遊戲引擎的支援,現在開發人員要將這些效果加入遊戲的工作難度已降低許多。將Turbulence 整合至《曙光 (Daylight)》只花了四星期的時間,加入《蝙蝠俠:阿卡漢始源 (Batman: Arkham Origins)》也只花了六個星期。

簡而言之,我們不再是告訴開發人員能做到什麼,我們現在是向他們展示如何做到。這樣的方式能縮短新技術被遊戲採納的時間,進而加速創新步伐。這正是GameWorks 的意義所在。