ICO 開発者の話, redraw ポリシー, XNA の思想, PSX アップグレード第二弾
ICO 開発者の話
とても興味深かった。目指す「リアリティ」に到達できないフィーチャーはどんどん削っていく「サブトラクティング・デザイン」は、従来のソフトウェア開発現場から見るときっと目から鱗な話なんじゃないでしょうか。Unified Process を学んだ時にも、「ソフトウェアは自由度が非常に高いがゆえに、クライアントから次々湧いてくる要求をどう管理するかが非常に重要」という話があり、僕の経験上も開発期間中は主に機能を追加する方向にしか向かったことがないように思います1。
機能を削る方向へは、ソフトウェアをリリース後ある程度実働期間を経た後に、明らかに不必要な機能、冗長な機能などに対して行われることが多い気がしますが、「ICO」はたぶん、4年間という一本のゲーム開発としては長い期間の間に、何度か「擬似リリース」を繰り返し、内容を洗練させていったのではないかと想像します。
思い出してみると、ねおんさんはこの「サブトラクティング・デザイン」を結構意識されてたんじゃないかと思ったりして…。
他にも、節目節目でデモ・ムービーを製作し、自分達の目指す方向性を関係者に対して誤解のないよう継続的に示し続けた話などは、ゲームに限らずソフトウェア開発一般の話として、とても大事だと思いました。僕も今業務時間のほとんどを意識合わせのための資料作りに費やしていますが、「目指している方向性を継続的に資料化して関係者に示す」ことの重要性を日々実感している毎日です。
ところで、同じ GAME Watch のこちらの桜井氏の意見は、僕としてはイマイチ。クレヨンしんちゃんじゃないけど、「そーともゆー」って感じ(ワケワカ。
redraw ポリシー
僕は普段、KDE 環境で生活しているんですが、KDE/QT 環境の redraw ポリシーって微妙にダサい。ふとした拍子にチラチラとフリッカーが見られます。個人的に、そのことがなんとなーく信用できない感じに繋がっているような気も。Konqueror は Explorer と (File Viewer として) ほとんど変わらない機能を持っているんですが、どうも積極的に使う気にならないのはその辺に理由があるような…。
XNA の思想
あははははは。ねおんさんからのこのツッコミ、
XNAの彼は、ビジネスというものについてはイマイチなので、そのあたりの発言は許して上げるようにw
ねおんさんのつっこみより引用
は、個人的にとてもツボでした。まさにその点を突っ込もうかと思っていたので。
さて気を取り直して。僕もこの記事をとても興味深く読みました。この記事を読んで僕が思ったことは二つ。一つはねおんさんも指摘されているビジネス的な面、そしてもう一つは、やっぱり Microsoft はソフトウェアの会社であるのだなぁ、ということ。
この記事を読むと、Microsoft は、3/27 の僕の意見で言うところの「モデル規定者」の立場を明確に指向しているように見えます。現状、XNA について語られる言葉では、必要以上に「開発環境」というものが強調されているように僕は感じますが、その裏には「プログラミングモデル」自体を構築していこう、というソフト屋の意図がありありとうかがえます。
実は XNA の考え方は、Allard さんが Win32 API との対比を行っていることからも分かるように、Microsoft が昔から行ってきたことでもあるんですよね。かつて Microsoft は、Windows API (GDI やドライバモデル) を規定した上で、オープンな土俵でハードウェアベンダーに競争させることで、より最適化されたハードウェアの発展をドライブし、また DirectX によって同様に 3D グラフィックスハードウェアの発展をドライブしてきました。もちろん、彼らはそれぞれと並行して (それら下位レイヤーからのフィードバックを受けて) モデル自体のブラッシュアップも精力的に行ってきました。この手の物事の進め方についてはお手の物なのでしょうね。
さて、XNA のスコープにおける直接のライバル、SCEI の場合はどうか、というと、実はそういう「モデル発展のフィードバック」を作ることがすごく下手なんじゃないかと思うんですよね。PS の時は SGI という先行者がいたために、プログラミングモデル的には単にそれをなぞればよく、成功の要因は主にタイミングと思い切りのいいハードウェア設計、それに流通改革にありました。PS2 の時も基本的な方向性は PS のころと変えずに単にそれをスケールアップしただけで、PS2 ならではの新しい方向性の提案 (eDRAM による超広帯域 framebuffer とか、VU とか、ある種特異なメモリモデルとか) も、結果的に見るとどうもあさっての方向を向いていたようです。外し具合がたまたま致命的なものではなかったためになんとか成功している、という状況でしょう。
僕が気になるのは、Microsoft が PC の世界というオープンな環境で自らのモデルを提案し、日々ブラッシュアップしていっているのに対し、SCEI はそうしていないように見える点です。そのことは、基本的にオープンな DirectX ベースのプログラミングモデルが載せられることがはっきりしている Xbox2 と、IBM と共に完全な密室で作成していてどんなものになるのか見当もつかない次世代 PS (Cell マシン) の違いを見ても強く感じます。
プログラミングモデル、なんていうものは、「いかに多くの人に理解してもらい、使ってもらえるか」が勝負なわけで、開かれた環境で広く議論され、叩かれた方が良いものが出来ることは明らかだと思うんですが、SCEI にはそういった議論を起こそうという方向性は見えません。出て来るのはなんだか抽象的な話ばかりで、とても議論に耐えうるような情報ではありません。これはうまくない。
確かに、「モデルの実装」という世界ではパテントが全てを支配し秘密主義にも意味があるでしょう。しかし、こと「モデル」の構築を考えた時には、秘密主義は百害あって一利なしなように思えます。
その実装面にしても SCEI は分が悪い状況にあります。秘密主義を取っている SCEI は、全てのイノベーションを SCEI 内で起こす必要があります。ところが Microsoft は、自らの提示したモデルをもっとも良く実装したハードウェアベンダーの製品を選んで使うことが出来ます2。開発者の量が桁違いです。
そういう状況を考えると、次世代 PS が成功するには、そうとう天才的な人が現れて革新的なモデルを提案するか (Cell の伝えられている極めて特殊な構成を見るとこちらを期待したくなりますが、PS2 の時のように思いっきり外す可能性も高いよなぁ…)、または技術面とは全く別のところで相当うまく立ち回る必要があるんじゃないかなぁ、と悲観的になりますね。「PC の世界に深く入り込んでしまっているがゆえに見えなくなっている点」というのもなさそうだしなぁ。そういうモノがあったとしてもたまたま今はまだ注目されていないだけだろうし…。
ビジネス面について一点だけ。Allard さんの言う「開かれた開発環境」を実現するには、現在のコンシューマゲーム機におけるクローズドライセンスモデルではないものを考える必要がありますが、Microsoft はもうずいぶん前からもっと開かれたモデル、つまりオープンな規格の上で、他より価値の高いものを提供することで利益を得る、というよりシンプルなモデルを指向してきているように僕には思えます。ので Allard さんの今後の行方には結構期待!
p.s. マネージャとしてのご忠言、どうもありがとうございます。とても参考になりました。
PSX アップグレード第二弾
今回はノーエラーで無事に終わりました。1.3倍再生はなかなか面白い。またしばらく様子を見てみます。