ページ

2013年10月16日水曜日

次世代ゲーム機はOS戦争? その3

なんかスゴい天気ですねぇ。久々に台風が関東に上陸したとか何とか。今の所、我が家は大雨って感じで済んでますが……。えっと、この前はAMDが独自の低レベルAPI「Mantle」を発表したって話を書きました。未だに詳細は謎のままですが、何かMSの中の人がWindows8とXbox Oneのグラフィック技術についてブログで書いていたので引用させてもらいます。
The Xbox One graphics API is “Direct3D 11.x” and the Xbox One hardware provides a superset of Direct3D 11.2 functionality. Other graphics APIs such as OpenGL and AMD’s Mantle are not available on Xbox One.
何かそのものズバリな答えが書かれてますね……。XBoneのグラフィックAPIは「Direct3D 11.x」で、XBoneのハードウェア仕様は「Direct3D 11.2のスーパーセット」を使用出来る? 他のグラフィックAPI「OpenGL」や「AMD’s Mantle」は(現在の所)使用できない?

うーん、まぁマイクロソフトの言い分は至極正しいとは思いますけどね。ソニーのPS4は、よくも悪くもゲーム機であり、またその使用対象も「PS4」のみ(今の所)な訳なので、悪く言えば、PS4のみ互換性が取れればいい訳ですし。変わってMSは、世界中で使われている汎用OS「Windows」が主力の会社ですので、いくら売れているとはいえゲーム機に過ぎない「Xbox」に、仕様を合わせるのは本末転倒ではありますし……。

ましてXBoneはWindowsの主要アーキテクチャである「x86」を使用したゲーム機で、いずれはWindows8.xでも、同じゲームタイトルが動作出来るようにしたいという思惑もあるのかもしれませんしね。またWindowsOSでは、AMDのみならずNVIDIAやIntelといったハードウェアメーカーとも取り引きしている訳で、出来れば汎用APIであるDirect3Dの枠内で完結させたいというのもあるでしょうしね。

これは単に取り引きの話だけじゃなくて、例えば「Xbox Two」のような次世代機の選定の際に、AMD寄りの「Mantle」のような独自APIに囚われ過ぎると「互換性」の問題が付いて回りますからね……。恐らくPS4も「PS5」あるいは「PS4.x」を作る際に独自API「GNM」の取り扱いが多少問題になると思いますし。まぁ後継機もAMDのGPUを選択する事になるだろうと思いますけどね……。

自分なりに今の状態をまとめるとこんな感じですかね。まぁあくまで素人の意見ですが……。
Windows 8 (PC) = Direct3D 11.2
Xbox One = Direct3D 11.2+(superset)
PS4 = GNM, GNMX
これに今出てきている「SteamOS」の情報を足すと、こんな感じですかね。
Windows 8 (PC) = Direct3D 11.2
Xbox One = Direct3D 11.2+(superset)
PS4 = GNM, GNMX
SteamOS(PC) = OpenGL+(extensions) with SDL2.0?
あくまで私の妄想ですが、Valveも、どちらかというとソニー(SCE)よりも、MSに近い考え方であるのではないかと思っています。まぁSteamOSは、WindowsOSのような汎用的なOSというよりも、汎用OS(Linux)ベースのValveのSteamクライアント(あるいは幾つかアプリ)のみが起動するゲームに最適化されたOSだと思いますが、Steamクライアントは、既にWindowsやMac上で使用されている訳で、ある意味3社の中では一番汎用的なゲームプラットフォームな訳でして……。

もしSteamがSCEのように、完全に新規で据え置き機のゲームプラットフォームを構築するのならば、PS4のようにWindowsOSからの移植がし易いような「x86」アーキテクチャ上の汎用OS「Linux」や「FreeBSD」を使う迄は同じでしょうが、無理にOpenGLだけに拘る必要もないで、PS4のように高レベルなAPIもDirect3Dからの移植を第一に考えた独自APIとGNMのような低レベルAPIの導入も決めるでしょうし、そもそもIntelのCPUとNVIDIAの複数のGPUから選択するような事はせずに、AMDの「APU」一本に絞り込んだでしょうね。既に動作しているWindows向けのゲームなんて気にしなくて言い訳ですから。SCEでさえ、PS3との互換性をバッサリ切っちゃってる訳ですし:-(

そういう事情もあって、ValveとしてはPS4のように「一世代一機種」の強みを最大限活かす「低レベル(独自)API」路線ではなく、逆に「抽象度」が非常に高い「OpenGL」や「SDL」といったクロスプラットフォーム前提のライブラリーやAPIを前面に押し出したゲームプラットフォームを模索しているのだと思います。その分、性能という面では大きく? 劣る訳ですけど……。

そこに登場したのが、この「Mantle」です。今の所、まだ全貌が見えていないので妄想話になってしまいますが、この低レベルAPIのターゲットは「WindowsOS」で汎用API「Direct3D」と併用する事が前提らしいです。PS4やXBoneと違い、WindowsOSはAMDのGPU、それも最新の「GCN」が100%が前提のハードウェア環境で動いている訳ではないので、Mantleのような独自APIは、ほとんど役に立たない(今の所)ので、WindowsOS向けにゲームを作っているデベロッパーからしたら、あんまり魅力的な訳でもないのですが、前述のように、主要な次世代機のうち2つが、AMDのGCNアーキテクチャを搭載しています。

MantleとPS4の低レベルAPI「GNM」、あるいはXBoneの「Direct3D 11.2+(superset)」のスーパーセット部分が、どの程度の互換性があるプログラミングが出来るのか謎ですが、少なくともGNMの方は、何らかの互換性がありそうな気がします……。そうなるとPS4向けのAAAタイトルを開発しているデベロッパーは、PS4向けに作った部分をMantleを使ってWindowsOSに持っていく事が可能になる(かも)しれませんね。まぁどちらかというと、「Unreal Engine」や「Unity」といったゲームエンジン屋の仕事だとは思いますが……。

で、ここからが本番。この前の投稿でAMDのOpenGLドライバーが、Mantleベースの拡張を備えている事と、WindowsとLinuxのドライバーの約90%が共有化されている(かも)という話を書きました。そうなるとLinuxがベースであるSteamOS向けのドライバーも、ほぼ同じ条件になる訳で、OpenGL拡張という形でMantleの一部を使用出来る可能性が高い上に、もしOpenGLドライバーに追加される形でMantleドライバーも導入可能だとしたら、Windows上でのMantleドライバーと、ほぼ同じ条件でSteamOSでもMantle APIが使える(かも)しれません:-) 仮にMantle APIがSteamOSでも使えるようになるとしたら、以下のような状況になると思います。
Windows 8 (PC) = Direct3D 11.2, Mantle
Xbox One = Direct3D 11.2+(superset)
PS4 = GNM, GNMX
SteamOS(PC) = OpenGL+(extensions) with SDL2.0?, Mantle
そうなると、もともとPS4やXBone向けに大金を投じて制作されたAAAタイトルのSteamOSへの移植が比較的簡単に行われる「可能性」が出てくる訳です。少なくともグラフィックAPIに関してはDirect3D版をOpenGL版に変換(Valveの「TOGL」のような)するよりも、Windows向けMantleからSteamOS向けMantleの移植の方が手間暇、性能的にも良い結果が得られる可能性がありますしね。

まぁValveと現在のパートナーであるNVIDIAとしては、SDLのような抽象化の高いライブラリーを使った方が、後々の「ARM」環境への移行(少なくともNVIDIAは高性能ARMとGPUの統合を視野に入れていますし)も考えると嬉しいのでしょうが、正直言って、現状のSteamOSのハードウェア戦略は、据え置きゲーム機として考えれば「ナンセンス」なレベルでコスト高ですし……。この辺りについては、また後日駄文を書くかもしれませんが。

最後にもう一つ情報を。前述のXBoneのMantle非採用の話ですが、Mantleの中の人がこんなツイートをしていました。

さて、このツイートをどう読み取ればいいのか……:-) 何か反論があるみたいですが、現時点では「何も言えない」って感じですね。単に文句なのか、それとも11月中旬に行われるMantleの詳しい説明の時にでも、XBoneの隠し玉として低レベルAPIに関して、何らかのお披露目があるとか? うーん、でももしそうなら、この段階で無視するって事に何の意味も無さそうですしねぇ。まぁ大人しく来月の中旬まで待つしかないですかね:-(

#外部リンク
Raising the Bar with Direct3D
http://blogs.windows.com/windows/b/appbuilder/archive/2013/10/14/raising-the-bar-with-direct3d.aspx

AMDがグラフィックスAPI「Mantle」を発表。次世代機を制したAMDによる「ゲーム開発者囲い込み&NVIDIA排除システム」の正体に迫る - 4Gamer.net
http://www.4gamer.net/games/234/G023477/20130927061/

4Gamer.net ― ValveはなぜSource EngineをLinux+OpenGL環境へ移植したのか。GTC 2013のValveセッションレポート
http://www.4gamer.net/games/107/G010729/20130322107/

#内部リンク
BLOG.MINAWA.NET: 次世代ゲーム機はOS戦争?
http://blog.minawa.net/2013/07/os.html

BLOG.MINAWA.NET: 次世代ゲーム機はOS戦争? その2
http://blog.minawa.net/2013/07/os-2.html

0 件のコメント:

コメントを投稿