http://www.watch.impress.co.jp/game/docs/20080910/cedec_mgs4.htm
「METAL GEAR SOLID 4」関連セッションレポート その1
戸島サウンドディレクターが明かす”戦場ストリーム”とは何か!?
一個發售到現在其實只過了3個月的第一線title,願意在CEDEC08上大規模地公開資料,而且和GDC不同,CEDEC的日程限制很多的關係,一款遊戲開到3個分開的時段絕對是異數。
願意拿出來講真的是有很大的衝擊。
先前CAPCOM的呼籲(希望日本廠商彼此之間能夠進一步共享技術資訊,以求彼此的互惠)是真的有帶來一些影響。
http://www.watch.impress.co.jp/game/docs/20080912/cedec_mgs.htm
「METAL GEAR SOLID 4」関連セッションレポート その2
次世代機という”理想”と、PS3という”現実”の狭間でもがくエンジニア達
CEDECの技術セッションとしてはこれ以上は望めない絶好のモチーフだが、どちらかといえばあまり外に出したくなかったはずであり、
それにも関わらずゲーム産業のために情報を提供してくれたKONAMIには最大限の讃辞を送りたい。
並不是「檢討後放棄實作」,而是「已經實作,但是PS3規格確定後不得不移除,而嘗試別的方法」這點是重點。
當然這一切都是因為PS3規格當時還沒有訂好,訂好之後又與初期SDK有落差。
1. FP16的話filltate不足所以換成int8下的encoding
2. 因為有encoding所以無法直接用alpha blending,所以又加了blend buffer、並且對buffer使用降低解析度的方法來減少負荷
3. 在人物打光技法上追加了「分離pre-lighting」的獨家手法,將部分的打光資訊寫進頂點資料,並在之後用shader合成,類似HL2的radiosity normal-mapping,和單純的lightmap相比可以減少材質解析度;但是和RSX的相性不好的關係,結果在打光上也得作一些限制。
4. 煙塵和積水之類的特效使用的是vector color。因為shader和材質容量其實是一體兩面,增加shader的話就是代表得增加材質。
5. 所有的demo都是real time。3D polygon demo全部real time之外,連2D都是靠flash。(!!)
辛苦的地方是motion資料增加的同時得追加角色關節、物件數量、連動態資料都有所壓縮。
2D動畫使用的flash上也要顧及容量,所以BD顯然也不是容量什麼多充足的東西。
「これは『MGS4』固有ではありますが。”違うシステム”の上に、無理矢理移植した関係で、かなり制限がありました。たとえば座標系の表現できる範囲とか、あとはサポートしていない機能とか。
実際にコンバートしてから、これはまずいかなと気づいて、制限に引っかかった場合は、データの修正を依頼して、これを回避しました。そこがちょっと今回、まずかったかなという点です」
我只能說小島工作室的人都超有愛的,辛苦了!
—
http://www.watch.impress.co.jp/game/docs/20080912/sonic.htm
セガ、新作「ソニック ワールドアドベンチャー」におけるライティング技法を公開
“次世代水準”の映像美を実現するグローバルイルミネーション
http://www.watch.impress.co.jp/game/docs/20080910/awards.htm
ゲーム開発者達が開発者を称える「CEDEC AWARDS 2008」を初実施
宮本茂氏が特別賞を受賞
http://www.watch.impress.co.jp/game/docs/20080909/imagire.htm
「IMAGIRE(今給黎) DAY」、国内ゲームグラフィックスの最新研究発表
http://www.watch.impress.co.jp/game/docs/20080910/nvidia.htm
GPUに秘められた膨大な計算力を活用。PhysXによる物理処理、CUDAによる超高速演算の可能性
—
http://www.watch.impress.co.jp/game/docs/20080911/cedlink.htm
「CESAデベロッパーズカンファレンス 2008」記事リンク集
eji兄你有用過1920*1080規格電漿/液晶接X360嗎?效果如何?
目前XBOX360的遊戲原生都只有到720p
使用1920*1080規格電漿/液晶接X360
訊號勢必要經過scaling演算過程才能顯示
那麼失真將是無可避免
如果是數位放大的話,我覺得不要差太多(比方說720p->1080p)的話就勉強啦….XD
如果是數位放大的話,我覺得不要差太多(比方說720p->1080p)的話就勉強啦….XD
沒錯阿
就是用720p訊號輸入到1920*1080規格的電漿/液晶
這樣要經過電漿/液晶內部的演算晶片up-scaling
印象中幾年前..那時的效果好像都滿慘的
像我這台數年前買的1024*768規格的老舊液晶用來顯示800*600訊號可以說是慘不忍睹
很久沒關心平面顯示器的發展了
這麼多年過去了
也不知道最近有沒有進步了
沒錯阿
就是用720p訊號輸入到1920*1080規格的電漿/液晶
這樣要經過電漿/液晶內部的演算晶片up-scaling
印象中幾年前..那時的效果好像都滿慘的
像我這台數年前買的1024*768規格的老舊液晶用來顯示800*600訊號可以說是慘不忍睹
很久沒關心平面顯示器的發展了
這麼多年過去了
也不知道最近有沒有進步了
MGS4開發團隊怎沒像當初龍穴開發團隊使用 共享記憶體 技術 使用XDR 分擔的類似技術….難道沒挑戰到嗎?
怪哩!
MGS4開發團隊怎沒像當初龍穴開發團隊使用 共享記憶體 技術 使用XDR 分擔的類似技術….難道沒挑戰到嗎?
怪哩!
>>1. FP16的話filltate不足所以換成
>>int8下的encoding
這完全可以預期….FP16在G70上,
沒多少遊戲跑的到720P.
如果有FP10就好了.
>>2. 因為有encoding所以無法直接用
>>alpha blending,所以又加了blend buffer、
>>並且對buffer使用降低解析度的方法來減少負荷
把半透明畫到另一個blend buffer再當成貼圖
合成回來,其實也是很浪費FillRate,
而且也浪費記憶體,所以用縮小buffer來省些資源.
如果有FP10應該就不用這樣事倍功半了.
還可以把encode浪費的shader能力用來做更多效果…
>>3. 在人物打光技法上追加了「分離pre-lighting」
>>的獨家手法,將部分的打光資訊寫進頂點資料,
>>並在之後用shader合成,類似HL2的
>>radiosity normal-mapping,
>>和單純的lightmap相比可以減少材質解析度;
>>但是和RSX的相性不好的關係,結果在打光上
>>也得作一些限制。
這裡寫錯了,
人物是不可能pre lighting的.
它是說”場景”的光照,
把部份光照pre-baked到頂點屬性資料中,
這樣就可以省下lightmap,
但是缺點是畫質比Lightmap差,因為頂點數量
通常比LM的texel數量少很多,資料量不足.
和RSX的相性不好的部份大概是–>(動的な変更が可能)
頂點屬性資料通常很適合即時修改,
因為頂點不多(和texel相比).
計算上不會太耗資源,可以做些即時效果.
但是這修改是由CPU進行,而RSX若把模型放在繪圖
記憶體,CPU(CELL)存取就有困難.
如果是X360的架構就很適合…..
因為CPU和GPU共用一個512MB.
>>4. 煙塵和積水之類的特效使用的是vector color。
>>因為shader和材質容量其實是一體兩面,
>>增加shader的話就是代表得增加材質。
繪圖記憶體不足的關係,一些角色上的效果,
只好延用上一世代的技法vertex color…..
放棄比較細致的貼圖做法.
不過水還是有heightmap貼圖,
用shader把它轉成normalmap來用.
那其實蠻耗shader效能.
鏡頭前的Fog大氣效果也還是得用貼圖,
同樣採用縮小的buffer, 1/16…畫到小buffer,
再當成貼圖合成回畫面上.
>>5. 所有的demo都是real time。3D polygon
>>demo全部real time之外,連2D都是靠flash。
>>辛苦的地方是motion資料增加的同時得追加
>>角色關節、物件數量、連動態資料都有所壓縮。
那個壓縮,似乎是指依據鏡頭視點和物體的距離來
決定用多細的模型….也就是事先決定好LOD而已.
因為即時demo時,過場動畫的分鏡都是事先安排好的,
所以有些物體不會近看,它們的頂點量和骨架數可以
用少一點.
過場動畫的同時物件數通常比遊戲時還多,所以這樣
可以節省資源….不然根本跑不動.
所以應該不是實質上的即時壓縮,而是他們把資料的
最佳化省資源說成一種壓縮了,
看不到他們有做任何形式的失真/非失真資料壓縮.
應該是運用BD的大容量全部丟進去而已.
而且他們也沒有真的用完,沒有壓縮的必要.
很多音樂甚至用linear pcm.
實在用的很奢侈….
其實遊戲因為有一堆音效混在一起.
遊戲時對單一檔案的品質的要求不是很高.
其他平台通常是adpcm和mp3
目前看起來MGS4那些東西都是GPU上的實作,
受限的都是GPU的性能.
其實沒有什麼是不能移植的,甚至到360上很有可能跑的
更有效率…..很多技巧都是為了克服RSX的缺點而且
多費功夫.
如果GPU強一點,也許MGS4不用做這麼久,甚至做更好.
360唯一不如的就只有光碟容量.
那部份就真的只能靠壓縮技術或硬碟安裝了.
>>1. FP16的話filltate不足所以換成
>>int8下的encoding
這完全可以預期….FP16在G70上,
沒多少遊戲跑的到720P.
如果有FP10就好了.
>>2. 因為有encoding所以無法直接用
>>alpha blending,所以又加了blend buffer、
>>並且對buffer使用降低解析度的方法來減少負荷
把半透明畫到另一個blend buffer再當成貼圖
合成回來,其實也是很浪費FillRate,
而且也浪費記憶體,所以用縮小buffer來省些資源.
如果有FP10應該就不用這樣事倍功半了.
還可以把encode浪費的shader能力用來做更多效果…
>>3. 在人物打光技法上追加了「分離pre-lighting」
>>的獨家手法,將部分的打光資訊寫進頂點資料,
>>並在之後用shader合成,類似HL2的
>>radiosity normal-mapping,
>>和單純的lightmap相比可以減少材質解析度;
>>但是和RSX的相性不好的關係,結果在打光上
>>也得作一些限制。
這裡寫錯了,
人物是不可能pre lighting的.
它是說”場景”的光照,
把部份光照pre-baked到頂點屬性資料中,
這樣就可以省下lightmap,
但是缺點是畫質比Lightmap差,因為頂點數量
通常比LM的texel數量少很多,資料量不足.
和RSX的相性不好的部份大概是–>(動的な変更が可能)
頂點屬性資料通常很適合即時修改,
因為頂點不多(和texel相比).
計算上不會太耗資源,可以做些即時效果.
但是這修改是由CPU進行,而RSX若把模型放在繪圖
記憶體,CPU(CELL)存取就有困難.
如果是X360的架構就很適合…..
因為CPU和GPU共用一個512MB.
>>4. 煙塵和積水之類的特效使用的是vector color。
>>因為shader和材質容量其實是一體兩面,
>>增加shader的話就是代表得增加材質。
繪圖記憶體不足的關係,一些角色上的效果,
只好延用上一世代的技法vertex color…..
放棄比較細致的貼圖做法.
不過水還是有heightmap貼圖,
用shader把它轉成normalmap來用.
那其實蠻耗shader效能.
鏡頭前的Fog大氣效果也還是得用貼圖,
同樣採用縮小的buffer, 1/16…畫到小buffer,
再當成貼圖合成回畫面上.
>>5. 所有的demo都是real time。3D polygon
>>demo全部real time之外,連2D都是靠flash。
>>辛苦的地方是motion資料增加的同時得追加
>>角色關節、物件數量、連動態資料都有所壓縮。
那個壓縮,似乎是指依據鏡頭視點和物體的距離來
決定用多細的模型….也就是事先決定好LOD而已.
因為即時demo時,過場動畫的分鏡都是事先安排好的,
所以有些物體不會近看,它們的頂點量和骨架數可以
用少一點.
過場動畫的同時物件數通常比遊戲時還多,所以這樣
可以節省資源….不然根本跑不動.
所以應該不是實質上的即時壓縮,而是他們把資料的
最佳化省資源說成一種壓縮了,
看不到他們有做任何形式的失真/非失真資料壓縮.
應該是運用BD的大容量全部丟進去而已.
而且他們也沒有真的用完,沒有壓縮的必要.
很多音樂甚至用linear pcm.
實在用的很奢侈….
其實遊戲因為有一堆音效混在一起.
遊戲時對單一檔案的品質的要求不是很高.
其他平台通常是adpcm和mp3
目前看起來MGS4那些東西都是GPU上的實作,
受限的都是GPU的性能.
其實沒有什麼是不能移植的,甚至到360上很有可能跑的
更有效率…..很多技巧都是為了克服RSX的缺點而且
多費功夫.
如果GPU強一點,也許MGS4不用做這麼久,甚至做更好.
360唯一不如的就只有光碟容量.
那部份就真的只能靠壓縮技術或硬碟安裝了.
來個空泛的想法:
小島工作室的人提到的是在PS3上有問題的部分,這些問題是因為SDK到實機是從G70改為RSX而產生的。
原文上面也有:「”違うシステム”の上に、無理矢理移植した関係で、かなり制限がありました。」
也就是說,關鍵是對小島工作室誇口說SDK和實機相同的SCE造成的。
我們可以把這些問題提出來,然後說”這些問題在360上不會有發生”,因為架構特性的關係;但是這並不代表說在”PS3上沒問題的部分”,上了360上會不會有問題。
比方說LinearPCM的部分,他是同時播放四個4ch、總計16ch的BGM,作法是直接調低不同軌的音量高低,以達到平順的轉換需求。
也就是說這和繪圖一樣,實質上是”設計需求”,如果說”奢侈”而去掉的話,那就和繪圖縮水一樣,即使如此實作也意義不大。
說起來720p和以前480p比起來何嘗不是奢侈?(轉頭某Wxx)
為什麼360沒做的功能就說用不到、奢侈,其他主機沒做的功能就是不合時宜、罪惡?這有點先入為主了吧?
為什麼解析度、材質改變的部分就會指指點點,聲音這方面的變更卻總是被視為”浪費容量”?
好吧,關鍵大概是因為實質上360硬體也無法輸出多channel的LinearPCM吧,所以”放了真的沒有意義”….
來個空泛的想法:
小島工作室的人提到的是在PS3上有問題的部分,這些問題是因為SDK到實機是從G70改為RSX而產生的。
原文上面也有:「”違うシステム”の上に、無理矢理移植した関係で、かなり制限がありました。」
也就是說,關鍵是對小島工作室誇口說SDK和實機相同的SCE造成的。
我們可以把這些問題提出來,然後說”這些問題在360上不會有發生”,因為架構特性的關係;但是這並不代表說在”PS3上沒問題的部分”,上了360上會不會有問題。
比方說LinearPCM的部分,他是同時播放四個4ch、總計16ch的BGM,作法是直接調低不同軌的音量高低,以達到平順的轉換需求。
也就是說這和繪圖一樣,實質上是”設計需求”,如果說”奢侈”而去掉的話,那就和繪圖縮水一樣,即使如此實作也意義不大。
說起來720p和以前480p比起來何嘗不是奢侈?(轉頭某Wxx)
為什麼360沒做的功能就說用不到、奢侈,其他主機沒做的功能就是不合時宜、罪惡?這有點先入為主了吧?
為什麼解析度、材質改變的部分就會指指點點,聲音這方面的變更卻總是被視為”浪費容量”?
好吧,關鍵大概是因為實質上360硬體也無法輸出多channel的LinearPCM吧,所以”放了真的沒有意義”….
>>關鍵大概是因為實質上360硬體也無法輸出
>>多channel的LinearPCM吧,
>>所以”放了真的沒有意義”….
的確是.
音樂品質比較少受注目了,因為即使WMA或OGG也已經
到了一般人覺得ok的程度.
所以這方面的取捨往往比較不在意.
大家會在意GPU是G90還是RV770,256或512bit bus
卻沒多少人在乎主機板上有無專屬的音訊晶片.
花成本在這方面不容易討好市場.
很難不先入為主.
360唯一不如的只有光碟容量也是IDSoft方面的看法.
…..事實不是如此,但是遊戲開發者現在目光焦點都是
3D繪圖技術,自然放大來看.
720P和480P太容易分辨了,所以很難類比到音效上.
甚至720P都還不夠高解析,因為人眼辨識力遠高於此.
>>關鍵大概是因為實質上360硬體也無法輸出
>>多channel的LinearPCM吧,
>>所以”放了真的沒有意義”….
的確是.
音樂品質比較少受注目了,因為即使WMA或OGG也已經
到了一般人覺得ok的程度.
所以這方面的取捨往往比較不在意.
大家會在意GPU是G90還是RV770,256或512bit bus
卻沒多少人在乎主機板上有無專屬的音訊晶片.
花成本在這方面不容易討好市場.
很難不先入為主.
360唯一不如的只有光碟容量也是IDSoft方面的看法.
…..事實不是如此,但是遊戲開發者現在目光焦點都是
3D繪圖技術,自然放大來看.
720P和480P太容易分辨了,所以很難類比到音效上.
甚至720P都還不夠高解析,因為人眼辨識力遠高於此.
> 的確是.
> 音樂品質比較少受注目了,因為即使WMA或OGG也已經
> 到了一般人覺得ok的程度.
> 所以這方面的取捨往往比較不在意.
> 大家會在意GPU是G90還是RV770,256或512bit bus
> 卻沒多少人在乎主機板上有無專屬的音訊晶片.
> 花成本在這方面不容易討好市場.
> 很難不先入為主.
專屬的音訊晶片倒還好,我並不反對軟體處理,SONY給VAIO用的SoundReality系列也證明,CPU夠猛+某種程度的電源好好做的話,HD-CODEC還是可以有一定程度的表現….更往上的話我覺得還是只有電源的需求,不見得一定要自備DSP。
不過360/PS3沒有類比多聲道,只有數位多聲道之外,360更只有lossy的多聲道,也就是說用光纖和用那個HDMI是完全一樣,這點是蠻可惜的;但是取捨這畢竟也是他們可以早推出的理由之一,PS3好不容易等到X.V.Color,還是只能做8ch LPCM,對消費性產品而言,數位是比類比好作一些,品質就不見得了。
—-
>720P和480P太容易分辨了,所以很難類比到音效上.
>甚至720P都還不夠高解析,因為人眼辨識力遠高於此.
應該說,繪圖能發展這麼快,當然是因為差距比音效來得明顯。
顯示器換了效果立見幾乎沒有其他環境因素,音效不只和擴大器與喇叭有關、還和房間有關係。
另外一方面,回頭用當初G70用的那些code來改、搬到360上應該會比拿ps3的code要來得有效率、效果也會比較好;但是debug之類的事情等於全部都要重來,整個開發過程重跑;但是販賣數量能兩倍嗎?好像說起來還蠻令人提心吊膽的。
> 的確是.
> 音樂品質比較少受注目了,因為即使WMA或OGG也已經
> 到了一般人覺得ok的程度.
> 所以這方面的取捨往往比較不在意.
> 大家會在意GPU是G90還是RV770,256或512bit bus
> 卻沒多少人在乎主機板上有無專屬的音訊晶片.
> 花成本在這方面不容易討好市場.
> 很難不先入為主.
專屬的音訊晶片倒還好,我並不反對軟體處理,SONY給VAIO用的SoundReality系列也證明,CPU夠猛+某種程度的電源好好做的話,HD-CODEC還是可以有一定程度的表現….更往上的話我覺得還是只有電源的需求,不見得一定要自備DSP。
不過360/PS3沒有類比多聲道,只有數位多聲道之外,360更只有lossy的多聲道,也就是說用光纖和用那個HDMI是完全一樣,這點是蠻可惜的;但是取捨這畢竟也是他們可以早推出的理由之一,PS3好不容易等到X.V.Color,還是只能做8ch LPCM,對消費性產品而言,數位是比類比好作一些,品質就不見得了。
—-
>720P和480P太容易分辨了,所以很難類比到音效上.
>甚至720P都還不夠高解析,因為人眼辨識力遠高於此.
應該說,繪圖能發展這麼快,當然是因為差距比音效來得明顯。
顯示器換了效果立見幾乎沒有其他環境因素,音效不只和擴大器與喇叭有關、還和房間有關係。
另外一方面,回頭用當初G70用的那些code來改、搬到360上應該會比拿ps3的code要來得有效率、效果也會比較好;但是debug之類的事情等於全部都要重來,整個開發過程重跑;但是販賣數量能兩倍嗎?好像說起來還蠻令人提心吊膽的。
blend buffer….
突然想到Larrabee.
其實這類似把ROP一部分功能軟體化了.
ROP主要負責Blending計算以及FP32轉Int8或FP16.
MGS4為了HDR只用後者,放棄免費的Blending計算線路.
用shader的ALU指令TEX指令,來取代ROP的Blending.
Blend用Shader基本指令就可以模擬了,
不過Pixel精度轉換就比較麻煩,
Larrabee應該是自己有特別的指令負責轉Int8或FP16.
blend buffer….
突然想到Larrabee.
其實這類似把ROP一部分功能軟體化了.
ROP主要負責Blending計算以及FP32轉Int8或FP16.
MGS4為了HDR只用後者,放棄免費的Blending計算線路.
用shader的ALU指令TEX指令,來取代ROP的Blending.
Blend用Shader基本指令就可以模擬了,
不過Pixel精度轉換就比較麻煩,
Larrabee應該是自己有特別的指令負責轉Int8或FP16.