《星海爭霸2》官方技術文檔解密
就在SIGGRAPH大會剛結束之後,AMD和暴雪在AMD官方網站上放出了《星海爭霸II》的官方技術文檔,通過遊戲引擎技術的展示讓星際迷們感受到越來越多的驚喜。
畫面優化給CPU帶來考驗
著色方面,在使用原型的基礎上利用3D Studio MAX讓程式員對整體效果做最大的優化,反覆的提煉使得整個作品就像被藝術家精心雕琢一樣,配合上8000個獨特的、不重複的線性著色渲染代碼,使得Starcraft II與早期的遊戲代碼相比增加了N倍。
在遊戲製作初期,暴雪就認識到GPU的強大性能,因此在設計的時候就採用了以GPU為主的優化和大幅度影像品質增加。
由於使用大量像素渲染操作,如果在遊戲中當你選擇了控制成百上千的zerglings或者marines等作戰部門集體行動,勢必造成CPU超負荷,即便是強大的GPU這也是一個考驗。
大量的視覺特效(Based Effects)
包括FP16 HDR、光線散射/反射效果(Diffuse and specular for lighting)、景深效果(depth of field)、體積霧(fog volumes)、動態環境遮蔽(dynamic ambient occlusion)、智能貼圖置換(smart displacement)等等,這些都是Starcraft II的“BT”之處。
然而,作為一個即時戰略遊戲,暴雪依然在“故事情節”的設定上下足了功夫,在遊戲引擎的影響下,延遲緩衝器的深度和平均值,包括著色組建都完全為了效果而服務。而照明管道和陰影的利用也讓深景效果等一些特效表現得淋漓盡致。不過,這些特效都還在討論中。
在早期的開發過程中,圖形引擎也作為一個重點中的重點進行設計:
可擴展性第一
對於遊戲引擎來說,一個主要的設計目標是擴展的引擎。暴雪的遊戲品質是人所共知的,不光是他們的能力,更重要的是經驗,從以前的一系列遊戲開發經驗來說,整個遊戲各種族之間能力的平衡問題非常重要,而且影像效果之間的兼容性也必須考慮到,這樣也是為了各種不同平台硬體之間搭配的玩家都能體驗這個遊戲的魅力所在,以確保遊戲有足夠的競爭力,因而從ATI Radeon 9800/NVIDIA GeForce FXs系列到ATI Radeon HD 4800s和NVIDIA GeForce G200s都可以輕鬆的進行遊戲。
相比之下,GPU的負載才是重點,像素著色單元往往會因為大量的部門同時出現而使得GPU難以承受,頂點著色單元的運用也必須合理,而先進的GPU才能體驗到最大限度的特效,而對於普通的GPU只能盡量減少使用率來保證遊戲的流暢度。
一個引擎,兩個“世界”(Dual Nature of the Engine)
這個雙重性質的引擎使得整個遊戲有更完美的體驗,其實就是說SC2具有兩個視角模式,一個是普通的RTS視角、一個是單人模式的RPG視角,當然在這兩個模式下呈現的畫面效果是有所不同的。具備兩個視覺模式的原因正是我們之前提到的故事模式,當切換到單人模式的RPG視角時,玩家將會體驗到暴雪對於整個遊戲設定的精妙之處,通過一系列互動,包括對話等手段,其實從某種感覺上來說更像是第一人稱射擊遊戲(FPS)。
暴雪還將對這些不同的設定做更為細致的討論,這樣才能讓玩家體驗到不同的技術效果的運用。
螢幕基礎效果
作為Starcraft II的另一個設計目標,照明環境模式讓遊戲的互動更多,之前在魔獸爭霸三中,每個部門有一個硬性限制,有多少亮度,可能會影響它在任何特定時間。出於這個原因,使用動態照明是相當微不足道的,但是在Starcraft II中每個部門有一個照明設備,當其中一個開啟之後其他也會開啟,這樣效果非常好,但是由此帶來的地圖的設計和繪製,包括地圖地形切片就成了相當複雜的問題。而即便是解決了這些,給GPU帶來的負荷也是巨大的。
針對於此,暴雪也做了很多限定 :
◆ 顏色組成部分,並不受當地照明,如發射、環境地圖和點燃前期的彩色組成部分;
◆ 深度;
◆ 每像素正常;
◆ 如果使用靜止環境閉塞,出口的環境閉塞的紋理被忽略,如果螢幕太空環境閉塞啟用;
◆ 亮燈的彌漫物質的顏色;
◆ 亮燈的鏡面材料的顏色。