birdICO 開発者の話, 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 は、327 の僕の意見で言うところの「モデル規定者」の立場を明確に指向しているように見えます。現状、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倍再生はなかなか面白い。またしばらく様子を見てみます。

コメント

ねおん (Wed, 31 Mar 2004 14:24:48)
あはは、ちょい書きたいことあってここ来たら、こんなことあなたに書かれてて、シンクロしてるなあw
さてさて、これ読んで、彼はちょっとワシと近いなあ、とおもた。
http://pc.watch.impress.co.jp/docs/2004/0331/kaigai079.htm
Mystの話なんか、ほとんど同じ考え方だあ。ワシはもっとマイナーにCosmic Osmoなんだがw
というわけでICOを作った人も、非常に近いのだろうね。ああ話長くなるから、飲みいこうw
ねおん (Wed, 31 Mar 2004 14:33:22)
そうそう、「資料化」はたしかに大切なんだけど、要は継続的に「伝わって」いればよいのよ。人によってアダプタは違うから、伝え方も工夫しなきゃいけない。それ全部に資料作ってたら死ぬから、わかりやすくてシンプルな、根本的なモデルを提示して、省力化はしたほうがよいよ、ていうか他のスタッフの仕事取らないようにね、とちょっとマネージメントのアドバイスw
ねおん (Wed, 31 Mar 2004 14:39:29)
追記。XNAの彼は、ビジネスというものについてはイマイチなので、そのあたりの発言は許して上げるようにw
SAK (Thu, 01 Apr 2004 11:23:18)
でぢつね氏のエイプリルフールネタまだ〜? チンチン(AA略
かぴさん (Thu, 01 Apr 2004 21:58:33)
> オープンな規格の上で、他より価値の高いものを提供
> することで利益を得る

つーか、要するにデファクトスタンダード狙いなんだよ。
ビジネス的にゃープラットフォームはプラットフォーム自体
に価値があるんじゃなくてそのプラットフォームを中心とし
た盛り上がり感に価値がある。敷居を低くして盛り上げようっ
てんだろう。
で、次世代ハードだがメモリレーテンシやクロックが詰まって
きた昨今、次世代はもうとにかく並列度を高めまくらないとも
うパワーとかがダメだろう。とするとPCの延長でのんべんだ
らりとやってるハードなんかもう全然ダメだ。
コーディングモデルはもうキャラ毎にOOな感じになるので
プロセッサもメモリも分割しまくってバラバラに動かす方が
正しい。そのオブジェクト単体のレベルでは並列であること
はほとんど考えなくて良くなるので並列化による複雑化は大
部分回避できる。並列割り当てはOSが勝手にやればいい。
こういうのを効率的に可能にするにはかなり特殊なハードで
ないとダメダメボンバヘーだ。
Digitune (Thu, 01 Apr 2004 23:10:52)
> 要するにデファクトスタンダード狙いなんだよ。

そら、モノポリー指向したら犯罪だからして。なまじデカくなったがゆえにかえってフェアにやらざるを得ない、っつーか。

> 次世代ハードだが

確かにかぴのすけの言う通りだと思うんだけど、おバカな PC のハードウェア上で試行錯誤の結果適切なモデルが考案され、それに伴ってハードウェアも刷新されるのと、とりあえず新しいモデルにフィットしそうなハード上で適切なモデルが構築できるか試してみる、ってのは、どっちが分がいい賭けか、って話。

前者にある程度時間がかかるのは明らかだろうけど、PC World のリソース量を考えてみれば実はそれほどかからないのかもしれないし、後者には思いっきり設計上の致命的な欠点、ソフト、ハード含め抜けてるパーツが存在しそうで、僕は前者の方が分がいいんじゃないかなぁ、って思った。
かぴさん (Fri, 02 Apr 2004 20:50:54)
> そら、モノポリー指向したら犯罪だからして

デファクトスタンダード狙いてかなり独占指向なわけだが・・。
ねおん (Fri, 02 Apr 2004 21:12:09)
やがて若くてきれいな君の夢も、アンティークな調べ奏で始める…てなやつだな。諸行無常じゃ。

  1. もちろん、作っていく過程で「わーこりゃ無理だー落とそう」という話もよくあるわけですが、そういうのって普通はスケジュールとの兼ね合いで出て来るものだと思うんですよね。ICO の場合スケジュールよりもクオリティが優先されているように見えるからなぁ…。
  2. 各ハードウェアベンダーはそれぞれパテントを取れる点に注目。