容量的問題姑且是解決了。
但擺在面前的問題卻一點兒都沒有變少。
當然,這是對暴雪的麥克他們來說。
畢竟這種大型項目,一年到頭也做不了幾次。
「要是能用novareadeon的庫就好了……」
亞倫薅了把頭髮,略顯無奈地跟一旁的麥克訴苦道。
按照林立新的要求,這次的項目會首發在nx和赫爾墨斯上,隨後才是ibm兼容機的移植。
這倒是沒什麼,畢竟是自家平台,有一兩個月甚至是半年的獨占都是很正常的事。
但赫爾墨斯也就罷了,在nx上開發遊戲,可不是那麼容易的事。
放在以前16位機還沒普及的時候還好,那時候nx的性能獨步天下,隨便做做都能擁有超越時代的質量。
但現在不同了。
隨著時代的發展,玩家對遊戲品質的要求越來越高,在nx上做東西就開始變得有些棘手了。 尤其是考慮到《紅色警戒》系列需要用到的大量演出特效。
比如爆炸、煙霧、火焰,以及各種亂七八糟的科技單位,像是隱形單位和鐵幕之類的東西,當然還有陰影效果。
這些效果看似千奇百怪,但實際上都離不開同樣一個技術。
alphablend,透明混合。
在計算機的世界,透明其實是很難處理的。
通常來說,現代的硬體來做這些其實非常容易。
在rgb三色通道的基礎之上,再額外添加一條a通道,也就是alpha透明度通道,組成rgba。
假設50%的紅色覆蓋在50%的藍色上,系統就可以直接通過顏色混合計算,得到紫色的結果。
這個思路並不複雜,理論上來說不應該直到現代才被普遍適用。
八九十年代用不了這套技術的原因其實非常簡單。
硬體跟不上!
cpu羸弱的性能根本不可能支撐這麼大規模的運算。 讀取前景色、讀取背景色、讀取透明通道,嘗試rgb混合運算,返回結果,渲染。
這一整套流程,幾乎每一個像素都要跑一遍。
假如疊加的層數更多,這樣的計算也會翻倍地增長。
這壓根就是不可能的。
如果有novaradeon顯卡的參與還好。
畢竟這玩意兒原生就有完整的透明混合運算支持。
用它來開發,很多東西其實一行代碼就能搞定了。
但這也不現實。
於是乎現在一幫開發者們便被卡在了這裡,進退不得。
在有限的硬體上雕花啊!
他媽的,次世代主機快來吧,真的受不鳥了!
「如果咱們找前輩定製一顆專用的asic呢?」 「專門處理透明混合的外接晶片嗎?呃……我有種預感,肯定會被林先生罵死的。」
麥克使勁兒搖了搖頭。
聽到他這麼說,一幫開發者也都深以為然地點了點頭。
他們都熟悉林立新的風格。
林是很喜歡搞專用電路沒錯,但通常都是給街機用的。
而且需要林親自出手設計asic電路的遊戲都是什麼規格的存在?
那是《鏡之邊緣》這種完全超越時代的產品才需要的。
「那現在怎麼辦?我們總不可能為每一種背景都單獨繪製半透明的版本。」
真要那麼干,每種地形貼圖的變體加起來,那得是多少張?
分兩張盤怕是不夠哦。
但他們手頭這個引擎在功能上又非常匱乏,根本沒有那麼多的原生圖形能力。
正爭論著,屋門被林立新『砰』地一聲推開。 他抱著幾盒披薩走進,手上還卷著一塊兒正往嘴裡塞。
「唔,吵什麼呢這是?」
「林!謝天謝地,我們碰到了一個*小小的技術問題*。」
……
一番說明過後,林立新無語地扶額。
暴雪這幫人哪裡都好,就是總喜歡把簡單的問題複雜化。
這一點上他們跟動視簡直是兩個方向的極端。
「也罷,等未來硬體條件上來了,這也未嘗不是一種優勢。」
精益求精嘛!
等到未來硬體性能嚴重溢出的時候,他們這種追求就有價值了。
「如果只是這樣的話,其實解決辦法非常簡單,不需要任何額外的硬體,從軟體層面就能解決了。」
林立新說著,一屁股坐到開發機跟前。 請收「藏「」小」說」唯」一址」:「w「w」w」.」d」e「q」i」x」s」.」「o」r」g,「站」「長」只「有這一個網「站,其它網「站隨「時斷「更。」
八九十年代比起現代,在顯示上有一個非常大的區別。
顯像管電視占據絕對主導。
九成九的用戶都在使用crt顯像管電視機。
液晶屏的普及已經是很之後的事了。
想要做到顯示器這個尺寸的規格,以現在的工藝水平液晶屏的良率根本無法保障,難以大規模商用。
即便做得出來,價格也會遠超顯像管。
這……嚴格來說是一種劣勢。
因為crt顯像管電視機畫麵糊,混亂,畸變嚴重,亮度不理想,對比度差,功耗爆炸,發熱嚴重,體積也巨大,重量更是沉的要命……
它的缺點一籮筐,說上一天一夜也說不完。
相較起來,液晶屏才是現代該有的樣子。
優雅、高效、穩定、苗條。 兩台顯示器放在一起,就像是一個胖成個球的大嬸和一位年輕貌美的苗條小姑娘。
但!
顯像管大嬸也絕對不是一無是處的。
比起液晶屏來說,它有一個非常嚴重的缺陷,但這缺陷,卻也同樣是它得天獨厚的優勢。
糊!
像素邊界非常的糊!
由於顯示原理的差異,顯像管不像液晶那樣由無數個動態控制顏色的像素點構成。
取而代之的,是由射線槍打出的電子束激發螢光粉,由螢光粉來顯示顏色。
屏幕上的每個像素點,都像是一顆燈泡,不斷地向周圍輻照著微弱的光。
這讓顯像管電視機的像素邊界並不那麼稜角分明,而是更加柔和,更加模糊,甚至是融合在一起。
軟體層面上,讓光融合在一起需要複雜的計算。
但現實世界本就是一台性能狂暴的超級計算機。 讓兩束光源融合在一起,根本不需要消耗計算機自己的算力。
尤其是vga規範本質模擬信號,甚至能從硬體層面控制電子束的強度,讓螢光粉發出不同強度的光照,進而得到更加細膩的效果。
那麼……這個特性要怎麼用在透明上呢?
「雖然按照我的估計,這套技術應該用不了幾年了,但我覺得姑且還是可以給它集成到引擎里。」
林立新說著,開了個臨時項目寫了幾行簡單的測試代碼,隨後運行。
屏幕上出現了一副獨特的畫面。
一紅一藍兩個方塊,在屏幕中央重疊在了一起。
重疊的部分清晰顯示出來了混合後偏紫的暗色,其餘部分則是保持它們原本的顏色。
只在融合的部分出現了微弱的過渡邊界。
整個透明混合的效果非常自然,自然到不像是16位該有的效果。
「dithering(抖動),抖動融合技術,雖然只能用在顯像管上,但效果絕對不輸真正的透明混合。」
「what?how?」 麥克他們本就不以技術見長,這幫人都是策劃口的人才,干開發完全是為了林立新為了給他們修身養性鞏固基礎。
此時此刻這般表演,落在他們眼裡,無亞於是一場魔術。
「我們在重疊部分應用藍噪聲採樣的均勻隨機模板,按照比例為重疊的雙方分別減少部分像素。」
藍噪聲能確保隨機的結果足夠均勻可靠。
在這種情況下,重疊的雙方便會出現各自缺少一部分像素的情況。
如果是液晶屏,這樣的像素缺失會非常明顯。
但在顯像管電視機里,這種缺失卻會被像素本身的自發光給柔化掉。
兩個紅色像素之間空缺了一格,在人眼中會得到更暗一些的紅色,而非斷裂開的兩個像素點。
而如果是用重疊的另一方來填充這裡呢?
它們的光源會互相干擾混合,融合成為本不該成為的顏色。
軟體層面,顏色始終還是那些顏色,但在人眼的視覺看來,遊戲卻憑空創造出了新的顏色。
創造出了真正的透明混合。 而只要對雙方的光源強度再進行一點點客制化的小改動……
理論上來說,nx能創造的色彩數量是無窮無盡的。
「要學會利用自己的弱點,麥克,有的時候弱點也可以成為我們有力的兵器。」
——《林語》.1991
對於現代的玩家來說,很多老年間的電子遊戲都會有一個非常奇怪的現象。
截圖下來沒有實機上好看。
總感覺圖像表現上怪怪的。
像素鋸齒也不舒服,顏色的設計也很詭異。
這就是顯示終端的差異了。
那個時代的電子遊戲,本就是為顯像管電視機設計的。
在圖像真正傳到玩家眼睛裡之前,它實際上已經經歷過了一次技術美術工作者們精心設計的小騙局了。
「抖動好啊,抖動得多用,好好發揮像素藝術的優勢,有的時候能創造比高清貼圖還優秀的視覺效果。」 林立新補充了一句。
像素畫這方面,gamenova也算是權威了。
《合金彈頭》的畫面質感能這麼強,跟它的像素藝術是脫不開干係的。
尤其是nasca的主美akio,在林立新的草圖之上進一步發揮,把像素藝術做到了極致。
「如果你們需要這方面的協助,可以讓聯繫一下小智,把nasca工作室拉過來。」
重新檢查了一下項目的進度過後,林立新這才起身來到門口。
接下來的事他們自己就能搞定了。
好萊塢那邊也該開足馬力準備宣傳片和過場動畫了。