主眼点をどこに置くか、で話は変わってしまう。

SCE「DMC4はPS3を極めた」、カプコン「何年経とうと他社には無理。ちなみに360版は10ヶ月の突貫工事」

ゲハ版不毛ないい争いはすでにかつてのアムド厨vsイソテル厨などメじゃないカオスな状況に。
これにwiiとオプーナが参戦するからもう意味が分からなくなる。


自作板なんかのAMDvsIntelはまだ分かりやすいんだ。
明確なクロック数競争という不毛な競争と、多段パイプライン、予測分岐、レジスタの使い方とマイクロコードの展開方式、そしてメモリアクセスのタイミングとCPU時間、キャッシングされる命令とオーダーされたコードの出し方。

これらが理解できていれば商業的な成功・非成功はともかくとして、そのコアの優劣と得意分野、適切な利用方法は頭に浮かぶはずだ。

ナニ? 浮かばない?ていうかそんなのしったこっちゃねぇ?
…それこそ俺の知ったこっちゃねぇよwwwwwww

クロック数だけを主眼に置いていたクロック競争は、あるとき「クロック数高い割にもっさりしてるよね?」という疑問から一気に主眼点が「利用時の利便性」にシフトする。
だけど、これが高クロックCPUの存在を否定しなければならない理由にはならない、というのはわかってもらえるだろうか。

高クロックCPUにはそれに適した利用方法があるんだ。そして、一般利用においてそのクロック数は必要ない、あるいはむしろ弊害になってしまった。それが、「もっさり感」の正体だ。
一番の原因は多段をさらに深く積み上げたパイプラインと予測分岐。その予測分岐の失敗時のリカバリーにおいて、多段パイプラインを逆に戻らないといけない、というオーダー処理においてのミス回復がidleしているよりも高いコストを要求したことによる。

さて、じゃあゲーム機だ。
ゲームってどう作っているか知ってるだろうか。まさかとは思うが、ゼロベースでコード書いてるなんて思ってないよな?

メーカーから提供される様々なファンクションや機能へのアクセスコード。これらは俗にライブラリとよばれる。Windowsの世界ならDLLの名前で知られているだろう。ダイナミックリンクライブラリ。
printfとかの単純な基本関数も、このライブラリの中にコードとして納まっている。
極端なことを言ってしまえば、四則演算記号だって関数だし、ifなんかの条件分岐だってその関数を呼び出しているんだ。

DLLはUNIXでのシェアードライブラリだね。リンカで静的にプログラムに収納してしまうのがスタティックライブラリというやつだ。

このあたりはもうなんというか、言語仕様に近い。オープン系ならあちらこちらからライブラリを集めてきて利用することもできるが、PS3などは基本メーカーライブラリ一本となる。
最近の言語でハードウェア叩くなんてやってることは組み込み系くらいだろう。組み込み系でもすでにライブラリ実装が多いんじゃないのかなぁ。

で、このライブラリのデキがPS3はあまりよろしくない、ってのがもっぱらの評判だ。
Cellをうまく使うにはこのライブラリのデキ、そしてCellの命令オーダーを意識しながらのプログラミングは必須となるはず。コンパイラ側でこれをより適切なマルチスレッドに振り分けてくれる、ってのがウリのはずだけど、正直そこまで賢いコンパイラが提供されているかどうかは疑問だろう。
PS3のプログラムが難しい、ってのはCellのそういう特色を理解しながら書くのが結構大変ってことだ。
ただ動くプログラムを書くだけならそれほど大変じゃない。

さて、対するX箱●は、というとこちらはそもそもDirectX10をベースにしたライブラリをベースに提供されている。こちらはそもそもがWindowsの基本ライブラリでもあるし、ステートメント記述がそれなりにすでに周知されている、というのもある。また、内部のアーキテクチャも普通のPCそのものだし、それほど大きな差異はない。
そのため、ノウハウとしては過去の資産が流用できる。だから、X箱の開発期間が短いのは当然でしかない。

さて。ちょろっとスレ内にも出てくるけれど、フレームワーク。

今は、ライブラリを叩くことすら基本的に少なくなっている。プログラムを書いていると分かるけど、プログラム自体内部の処理は似たようなことをやってることが多い。これを、ライブラリのような小さな機能単位ではなくて、もっと大きな機能単位、しかし、アプリケーションとして完成というにはずっと小さなブロックに分けてくみ上げるのがフレームワークという枠組みだ。

これにさらに汎用性や柔軟性を持たせるのがオブジェクト指向の考え方になるが、フレームワーク自体は決して手続きレベルの話の中で十分に理解できる範疇だと思う。
たとえば、このblogにしたってそうだ。MTってのはある種そういう名前のフレームワークでしかない。
この顕著な例はXoopsなんかがそうだろうね。コミュニケーションフレームワークを自ら名乗っているしね。

ゲームを作るにしろ、そういう枠組みってのはないといまどき開発なんてできやしないんだ。

そして、そのフレームワークは各社自社独自のを持っていたりする。
DirectX10上で動くスクリプトエンジン、だとか、グラフィカルエンジンだとか、あるいはツールチップの描画エディタ、マップ作成ユーティリティ。これらはそれぞれの会社で開発され(時にはそれを売ってるとこもあるね)、それらのフレームワークあるいはフレームワークベースユーティリティを利用してゲーム空間を創生する。

逆に言うと、その会社の利用するフレームワークが汎用性や幅の広い対応のとれないものである場合、同じようなゲームしか作れない、ってことにだってなる。
たとえば、フロムソフトウェアなんかもたぶん自前のフレームワークに近いものは持っていると思うけど、主観視点、あるいは客観視点的な3Dアクション系ばかり作ってるのは、それ以外に対応するようなフレームワークを持っていない、などの理由だってありうるわけだ。
アドベンチャーゲームみたいなものは作らないでしょう?

アドベンチャーなんかのフレームワークとしてはNScriptのようなスクリプトエンジンがフレームワークの主体だろう。アリスのSystem35なんかも自社開発フレームワークに当たる。
フレームワークってのはあくまで枠組みでしかないので、フレームワークが持つべき機能レベル、というのは要求されるものによって上下の幅が広いんだ。

さて、そういう意味でカプコンがここまで言える、ってのはDMCシリーズのようなフレームワークがほぼ完成しましたよ、って意味でもある。DMCなんかに使ってるのはたぶんバイオハザードなんかのTPSに使われたフレームワークだと思うけど、ここが完成すると後が速いんだ。
で、今までの作品でカプコンはもともとPS3もX箱も同じフレームワークを使ってた、という話らしい。
単にCell用にコンパイルし直した、程度だったんじゃないかな。

先にも言ったように、Cellのライブラリをうまく使いこなそうとすると、それ用のプログラミングスタイルってのがある。i386系のアーキテクチャとは一線を画しているアーキテクチャだけに、それに合わせて本来はフレームワークも書き直されていなければ十分なパフォーマンスが得られない。

まあ、それが完成した、ってんならそれはそれでめでたいことかなぁ、とは思う。
本来はそういうフレームワークはもっと速くに完成させておき、バージョンアップを重ねていくべきものだと思っているけれど。

PS3の環境的敗因というのがあって、PS3はこれらのライブラリの熟成が十分でなく、各メーカーはフレームワークの作成に手間取ってしまった。これは、SCEがハードウェア面でかなり終盤まで煮詰まってなかった事を示している。
こういったツールセットを用意するのにかかる期間が長くなる、また、それもCellでやる、というノウハウのない状態であったため、この結果各社はソフトウェアの提供に入るのに相当の準備期間を必要とすることになってしまった。このため、発売直後にラインナップをそろえることが難しくなる。

ここから先はみんな知ってのとおり。ただ、PS3で作るのが難しい、というのは確かにそうだけど、既存各社が作るだけのスキルがない、わけではない、ことも忘れちゃいけない。
基本的にアーキテクチャの差異、つまりCellだのなんだのってのは本来ライブラリとコンパイラが吸収してくれる。だから、今まで通りで作ろうとすれば十分に動くものは作れる(はず)。
そこから一歩踏み込んだものを作るか、つくらないかってのは会社ごとで判断は変わると思う。
スクリプトエンジンレベルで済むアドベンチャーにCellでのプログラミングスキルが要るとは思わないしね。

一方でこの部分はX箱は素直だった。ライブラリもDirectXベースだし、ノウハウもある。
逆にどうしてここまで現時点で差がついてないのか、って方がX箱にしてみれば問題。世界的には売れているのだけど、日本市場で勝てない、ってのは旧来からの海外製コンソールの運命をそのままたどっているようにも見える。
※コンソールゲーム機市場としては日本市場は異常なまでに大きい。

北米・ヨーロッパではしっかりと差をつけているけれど、国内ではPS3出荷数に負けてしまっている。
おそらくはPS3は海外での巻き返しを図るのにソフトウェアの投入が必要な段階だけど、カプコンが少なくともフレームワークを完成させた、ってのはある意味その点で大きな意味を持っている。
※カプコンのネームバリューは海外でも大きいからね。

どこまで巻き返せるのかはしらんけどなwwwwwwwwwwwwwwwwwwww
どーでもいいしwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

さてさて。どう転ぶのかね。
ちなみにWiiは正直次世代機競争してるって感がないんだよね。
なんでゲハ板で妊娠とGKがマジでやりあってんのか意味わかんない。ていうかまあそりゃシェアじゃWiiが圧倒ですからGKもムカつくんだろうけどw

正直言ってしまえば、WiiとPS3/XBox360ってゲーム機シェアって意味ではぶつかるんだけど。
PS2/XBoxが次世代機次世代機言われてた頃からGCやN64もそうだけど、家電コアとしての構想をそもそも持っていない。
家電コアという目標のシェアの中ではそもそも機能を果たせないんだよね。
家電コアって考え方そのものが次世代機に求められているのかどうか、ってのはべつにしてしまえば、ね。

機能的にも、どちらかというとPS2や初代×箱とやりあってる感が強い。映像がすべて、とは言わないけれど、現状の次世代機に要求されているのは家電製品の置き換え需要の創出だと思ってる。
HDMIを搭載しての1080pや720pの出力。これに伴う大型TV消費の創出、5.1chサラウンド出力に対応するサウンド空間機材消費の創出。
このとき、この空間は同時にホームシアターとしての機能を有するわけで、ここでさらにHD DVDやBDのプレイヤーを買うってのはちょっとキツい。

だから、それらの点はコンソールプラットフォームでカバーしますよ、ってのはPS2、X箱からの次世代機競争においては新しく見出された新規の市場開拓手法であることは明らかなんだ。
そういった裾野的な消費の創出は役割として持っておらず、Wiiを購入しても任天堂とそのサードパーティソフトメーカーが儲かるだけ、で終わってる感はある。
それはゲーム機メーカーなんだから、で終わる話なんだけど、コンピューターと家電の境がどんどん曖昧になっていく中、いつかは迎合していくモンだとは沙耶は思ってる。それが今かどうかはともかく、だw

そこにあえて逆行するWiiってのは少なくとも”次世代”のリビングプラットフォームの起爆剤としては機能しない。
既存のテレビで十分ですよ、サウンドもステレオですよ、DVDだけど見れませんよ。
あくまでコンソールとしての位置を動かない。それはゲーム機としては間違ってないし、そういう意味ではWiiの選択も決して間違ってはいない。だが、シェアとして次世代機、としての牽引力は感じない。

次世代機ってのはX箱にしろPS3にしろ家電のコアに近い位置を目指そうとしている感が強い。
PS3はもちろんSonyの家電部門からの期待もあるだろうし、MSにしたってMediaPlathomeとしてのMediaCenter系構想を捨てていない、というか推し進めている。

唯一、そういった構想を持たず、家電業界とは袂を分かっている感が強いんだよね、任天堂ってのは。
ゲーム市場ってパイは一定量しかない。その中での支配力があっても、そのパイはもう大きくならない。
それより大きなパイを見つけ出し、そこに消費を割り当てるには起爆剤じゃなきゃいけない。家電のパイに新しい需要を作れれば、もっと大きなパイにありつける。

これを別の分野でやったのがDSやPSPなんだけど、Wiiでは冒険しない。
携帯端末では携帯電話の浸透で需要が生まれていたが、据え置きプラットホームにその要素はない、って判断だ。
ないなら作ればいいじゃない、ってのがPS3やX箱の流れだろうけど、ないならスルーってのがWiiの立ち位置だろう。

家電コア構想ってのはいままで何度も浮かんでは沈んでは、って感じの夢物語だから現実路線をとるなら任天堂の立ち位置は決して間違いとは思わない。むしろ経営判断的には是とすべきだと思う。
しかし、そこに夢はないよなぁ…。

低迷し始めてる経済に消費の起爆剤としての次世代機に期待する風潮は少なからず、生まれ始めてる気はするなー…。

0 thoughts on “主眼点をどこに置くか、で話は変わってしまう。

  1. 私は外国語が全然駄目な人です。ですから本来偉そうなことは言えません。
    しかしながら。
    とりあえず、きちんと日本語教えましょうよ?
    これらの慣用句が大学入試に出るとは、悲しいではありませんか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です