平成13年度未踏ソフトウェア創造事業
採択案件評価書 【継続】
| 1.担当PM | 6.竹内 郁雄 |
| 2.開発者氏名 | 和田 健之介 (有限会社アントラッド 取締役)
和田 佳子 (有限会社アントラッド 取締役) 中口 孝雄 (有限会社アントラッド 主幹研究員) 金子 勇、 星 和明、 石井 卓良、 黒田 大介、 西尾 泰和 |
| 3.プロジェクト実施管理組織 | 有限会社アントラッド |
| 4.委託金支払額 | 26,998,572円 【前年度委託金支払額 35,991,062円】 |
| 5.テーマ名 | <双方向通信型3Dワールドシミュレーター>(3D−NeWSプロジェクト) |
| 6.関連Webサイトへのリンク | http://untrod.keihanna.ne.jp/ |
| 7.テーマ概要 平成12年度の未踏ソフトウェア・プロジェクトにおいて、ネットワークを通じてユーザーが好きなようにオブジェクトをカットしたり、新規の3Dオブジェクトを追加して新たな3Dワールドをリアルタイムで創造できるシステムを開発した。3Dワールドをよりリアルにするために衝突や落下などをその場で計算するための物理シミュレーション機構が搭載されている。これらの機構によって、缶蹴り鬼やサッカー、ボウリング等をネットワーク上でできるだけでなく、自分達で考案した新たな遊びを作り出すこともできる。 一つの3Dの箱庭をユーザー同士で相談しながら、少しずつ構築していく作業過程には、現在のゲームやエデュテイメント・ソフトには欠けている、自分で物事を考えることや、アイデアの交換・意見の調節などといったプロセスが大きなウェイトを占めるため、合意形成の重要性や共同作業の大切さが自ずと浮かび上がってくるのではと考える。 本プロジェクトでは、このシステムをさらに改良して、ユーザーがよりワールドの構築を容易にできるように支援する3Dモデラーや、キャラクターを単なるユーザーの代理人(アバター)として操作するだけではなく、ワールドの中で自立して行動ができるように、視覚センサーや感情などを含む認知システムを導入する。また、本システムではネットワーク上で多くのオブジェクトの位置情報が飛び交うため、通信コストが極めて高くなる。同時に衝突や落下などの物理シミュレーションを行っているので、CPU負荷も大きくなる。このため、通信帯域が狭い場合には、通信コストの削減とCPUの負荷分散が大きな課題となる。 従来このような問題は、予めテストする前から結果がほぼ予測できるような単純な問題設定で研究が行われてきた。本システムでは、極めて複雑な環境の中で、負荷分散などの問題に直面せざるを得ないため、多くの魅力ある課題も提供してくれる。 国内の通信インフラは諸外国と比べると驚くほど遅れているため、リアルタイム・シミュレーション・システムをネットワーク上で動かすと、各クライアントでパラレル・ワールド化を引き起こすほどの通信遅延が生じる。本提案ではこのシステムを独自の『オーナー申告システム』などさまざまな方法で、これらの問題にチャレンジする。 |
|
| 8.採択理由 昨年のプロジェクトの中で,意外性のある最も顕著な成果が上がったものであり,もう1年開発を続ければ,さらに新しい展開が期待できる 潜在的な可能性に富む (前年度の最終評価報告を参照).プロジェクトは意外性のある技術開発へややアドホックに進んでいるが,基礎となる学問分野への造詣がしっかりしており,足元はぐらつかない. 期待される主な成果は,複雑な物理シミュレーションを分散環境でうまく負荷を散らしながら同期させる技術 --- これを負荷が事前に予測できない実際のアプリケーションソフトで開発するところに,大学での論文指向型研究とは異なる大きな意義やインパクトがある ---,昨年度にも増して従来を大きく超えた参加型の3Dシミュレータの構築,昨年進化したアニメーション技術のさらなる最適化である.このほかにも,上述の新しいメンバーを加えることにより,キャラクターの自律動作や,さらには人工人格のようなものの実現が期待できる.このあたりは未踏に相応しく未知数であり,逆に夢が膨らむところである. 前年度の成果はビジネス展開にただちに結びつけることが諸般の事情でできなかったが,今年度はもっと積極的な展開をしてもらい,基礎的な研究開発も含めて支援してくれるベンチャーキャピタルがつくようにすることがPMの目標であり,希望である.そのためにももう1年プロジェクトの助成を継続し,彼らの巣立ちを後押ししたい. |
|
| 9.成果の概要 成果は実に多岐にわたる.なお,このシステムは3D-NeWSと命名された.分量がちょっと大きくなるが,図 (本当は動画にしたい) をなるべくたくさん入れる.本当はDVDに録画されたデモを見るのが一番手っ取り早い. (1)物理シミュレーション・エンジンの改良 オブジェクト同士の接触部の法線処理や各軸のモーメントの換算など,物理演算部のリファインにより,摩擦などをよりリアルに表現できるようにした.衝突判定のアルゴリズムを高速化し,物理シミュレーション・エンジンの適用範囲を拡張した. (2)網膜センサーの開発 アバターがワールド・オブジェクトを認識するための視覚センサーを,アバターの視点から見た映像情報を描画すると同時に,オブジェクトのID情報を網膜センサーのバッファーに書き込む方式に変更した.これでより広い範囲の3Dオブジェクトを知覚することができるようになった.網膜センサーを搭載したアバターに神経回路網を実装することにより,ユーザーが支持したアクションのキーシークエンスと網膜パターンとの相関を学習する反射経路の形成実験が行なえるようになった. (3)レンダリング・エンジンの改良 シャドウとライティングの効果を導入した.Carmackの逆転手法を活用したボリュームシャドウをレンダリング・エンジンに搭載することにより,従来はリアルタイム描画が難しかったボリューム・シャドウが表現できるようになり,建物や木などの影だけでなく,アバターの腕などの影が自分の腰などに投影できるようになった (図1-1).
また,一定の環境光だけでなく,点光源やスポットライトを使った懐中電灯や提灯,街路灯などを作成して,明かりの持つ美しさを表現することができるようになった. (4)煙,波,ブロブなどの表現を可能とする3Dエフェクトの開発 煙や波などの表現ができるようにパーティクルや格子振動子モデルを3Dエフェクトとして実装した (図1-2).
(5)スクリプト・エンジンと物理演算エンジンの同時並行処理システムの開発 活き活きとしたワールドを実現するために,プログラムスクリプトの実行機能を追加した.この機能を使えば,Python言語で記述したプログラムスクリプトから,キャラクタや物体を自由に操作することができる.移動や回転,カットなどの,システムに組み込まれている機能のほとんどをスクリプトから操作でき,オブジェクトにさまざまな動きを与えることができる.回る風車,空を優雅に飛ぶカモメ (図1-3),
廻転するベーゴマ,人を見付けると寄ってくるモアイなど,これによって世界に驚くほどの多様性がもたらされる. このスクリプトと物理シミュレーションは並行実行される.だから,20行未満の簡単なスクリプトで飛べるようになったカモメが,飛行中に廻転する風車の羽根に当たったとき,その反動で姿勢を崩すものの,巧みにバランスを保って (いるかのように行動して) 飛び続けることができる.また,空気抵抗や張力の簡単な計算式をスクリプトで記述することにより,ユーザが走り方や他のユーザとの協力を工夫すればちゃんと凧が揚がるというゲームが実現できた (図1-4).
(6)スクリプト記述による知能エンジン,進化エンジンの開発 スクリプト記述によって,知能エンジンの実装実験や進化実験が行なえるようなった.例えば,接触センサーを搭載したモアイ像に迷路探索をさせると,自分の制御アルゴリズムをネットワーク上の他のユーザーが考え出したアルゴリズムと比較したり,アイデアを交換したりする創造的な遊びが可能になる.
図1-5に示した大規模な進化実験では,鴨に多くのセンサーと神経回路,そして進化機構が,スクリプトのみによって実装されている.このような複雑な機構が3D-NeWSシステムを変更することなく,エンドユーザーのスクリプト記述のみで構築できるところがポイントである.図では,鴨が,赤い色をした直方体の肉食動物からの回避行動を進化機構によって獲得する過程をシミュレートしている (詳細は省略). (7)所有権管理システムをベースとした負荷分散制御システムの開発 これまで,ワールド内の物理演算を,最初にセッションを開始したマシンが行なっていたため,負荷集中が発生し,システムのスループットが出なかった.今回導入した負荷分散システムでは,排他制御を実現するために,オブジェクト毎に所有権を設け,所有権を持ったマシンがそのオブジェクトに対する処理を行なうようにした.さらにユーザが簡単な画面操作によって所有権をマシン間で移動させることにより,動的にかつ意図的に負荷を移動させることが可能となった.これにより,ユーザが協調して負荷を分散する,あるいは逆にゲームとして『負荷玉をぶつけあう雪合戦』が行なえるようになった. (8)さまざまなワールド・コンテンツの作成 3D-NeWSシステムの高い自由度を利用したさまざまなシーンでの活用例を作成した.例えば,日食や月食の仕組みや,バネの力学モデルを3Dで体験できる理科教材.前の図1-2は後者の例で,おじいさんアバターがバネで繋がった煙の上がる茶釜を振り回している.おじいさんをタイミング良く前後に走らせ,ハンマー投げのように振り回して,十分バネが伸びきった瞬間にバネを離すことに成功すれば,茶釜を遠くに放り投げることができる. ユーザはこのような仮想オリンピックゲームを考え出してネットワーク上で遊ぶことができる.ネットワーク上のユーザから常に新しいオブジェクトやスクリプトが供給され得るので,固定シナリオに因われない常に新鮮な仮想世界であり続けることができる. |
|
| 10.プロジェクトや成果に対するコメント: リピータでありながら,最後の最後までPMに意外性の喜びを感じさせたプロジェクトであった.論文至上のアカデミアと異なり,ひたすら職人芸のパワーで驚くような仕上りのソフトを継続的に生み出してきた創造力にはただただ感服せざるを得ない.このプロジェクトのPMをやらせてもらって本当に得をしたとお礼を述べたいくらいである.今年度は前年度よりも開発期間が長く,かつ予算が減額されたという悪条件だったのに,それを跳ね返してしまった粘りと努力も敬服に値する (結局,赤字だったという). ネットワーク上で仮想世界や仮想現実の散策を楽しむといったソフトはいくつもあるが,それらのいくつかを一瞥してみれば,開発者たちの3D-NeWSの完成度の高さが実感されよう.しかも,その完成度の高さがわずか数人の合宿を通じて月代りで上がっていくというのは,こういったソフト開発を日常的に激しく行なっているゲームソフト業界の人々も驚くのではなかろうか.例えば,Carmackの逆転手法を活用したボリュームシャドウの実現はネットで情報秀収集してから,実装が終るまで3時間だったとか.いわんや,この事業の最終成果報告が提出されたそのすぐ数日後に,モーター制御ニューロンに (位相同期や不応期をもつ) 非線形振動子を組み込み,バネの伸び縮みの制御に使って,自律的に動く虫を進化させたという追加報告が来たりする.どこまで行くの?とつい叫びたくなる面白さなのだ. CGの3D効果やレンダリング技術だけに限れば,これに匹敵あるいは凌駕するものはたくさんあるだろう.このプロジェクトの成果の凄さは,簡易なわりにリアリティの高い物理シミュレーション,オブジェクトに対するスクリプト,自律エージェントの仮想センサー・知能エンジン・進化エンジン,さらにはネットワーク経由で複雑な仮想世界を共有するための通信制御が,それらとうまく融合していることである.これがこの3D世界にとって鬼に金棒であり,世界の深みを一挙に増している.このような統合ソフトは世界に類例がないとPMは信じている. 成果のどれもがデモ効果タップリだが,それでも敢えてPMが面白いと思ったところをいくつかピックアップしよう.一番興味深かったのは,スクリプト・エンジンと物理演算エンジンのまったく巧まざる結合の妙である.開発者自身も驚いたし,PMも驚いたのだが,簡単なスクリプト実行の「隙間」で物理演算を実行 (つまり並行実行) することにより,スクリプトを書いたプログラマの想像を絶する挙動が発生するのである.例えば,少しずつ上がっていったあと,右へ少しずつ転回しながら滑べるように飛ぶ簡単なスクリプトしか書いてないカモメが柱や壁にぶつかると,一瞬壁にぶつかった紙飛行機のように失速してクルクルと墜落しそうになるものの,慌てて姿勢を立て直して飛び続けるのだ. プログラマはそんな健気なカモメの飛行スクリプトをまったく書いた覚えがない (当り前で,せいぜいPythonで20行未満のプログラムしか書いてない) のに,このような行動がまさに「創発」する.PMは簡単なプログラム (とはいえ物理シミュレータのほうは相当複雑なプログラム) から,思わぬ行動が創発する現場を久々に見た.「創発」大好きのPMにとってはたまらない経験だった.しかも,この現象を利用すると,この仮想世界でユーザは新しい種類の遊びを創造することができる. 二つ目は,和田さんがこのプロジェクトで昨年から本当はやりたかった,自律エージェントのセンサー,知能,学習,進化がプロジェクト後半からようやく形となってきたことである.上に述べた芋虫の進化もこの流れに沿った成果である.このような研究は世の中にたくさんあるはずだが,このリアルな仮想世界の中で見せられるとやはり面白さが倍増する.こういった基礎的研究の成果は,うまい見せ方の中で輝きを放つ.さらにこういうものがあってこそ,和田さんが主張するように,仮想世界は真の広がりと深みをもてるようになる. 三つ目は,提案要旨でも述べられている仮想世界のパラレルワールド化を防ぐ負荷分散方式での面白いアイデアである.モニターが負荷分散を管理するのではなく,エージェント同士がいわば「負荷ボール」を投げあうことで,相手に物理シミュレーションの負荷を押しつけるというのは,まさに逆転の発想である.シリアスな研究課題をゲームの道具にしてしまったのだ.絶対に技術論文にならない発見だと思うが,こういうものを見つけ出して舞台に出してしまうところが,このプロジェクトの真骨頂である. こんな調子でPMの驚きを書き続けてもキリがない.このへんでとどめておく. |
|
| 11.今後の展開に向けてのコメント: このプロジェクトは2年にわたって比較的大きな予算のもとで遂行されてきた.得られた成果はそれ以上のものがある.しかし,この成果を次へどう展開していくかについてはいろいろ悩ましいことが多い. 和田プロジェクトは未踏ソフトウェア創造事業の申し子のようなところがある.未踏によって和田さん個人が無職の状態から息を吹き返し,あちこちから同士となるクリエータも集まってきて,無類の職人集団が形成された.その成果はデモを見れば,誰しも驚く出来栄えである.ただし,なにしろこれまでずーっと突っ走ってきただけあって,世の中のニーズより先に走っていってしまった.見て凄いと思わせるためには,最新の高性能PCやグラフィックスボードが必要だし,ネットワークで複雑な仮想空間を思う存分楽しむためにはそれなりの高速ネットワーク環境が必要である.ベンチャーキャピタルはちょっと腰を引くようだ. 最終ミーティングで私は和田さんに「とうとうF1になっちゃいましたね」と感想を述べたが,和田さんもそのように思われたようだ.和田さんのように,日銭も稼いでいかないといけない小さな会社では,F1だけでは食べていけない.ありがたいことに,和田さんたちの技術力を見込んでくれる何名かの企業人が彼らをビジネス面で支援なさってくれているが,当面彼らにとって本命のF1的な技術は出口が見つかりにくい状態になっている.とはいえ,F1の開発こそ和田さんたちのモーティブフォースなのだ. PMの理解では,未踏は苗を育てるための事業なのだが,こんなに立派に育ってしまった苗はどうしたらいいものか.和田さんたち自身も同じ思いであろう.しかし,F1といっても,今日のハードウェア技術のスピードを考えれば,今日のF1は明日の大衆車だ.実際,10個程度のオブジェクトを動かすのであれば,現在10万円台のPCでも十分に動く.このプロジェクトの成果と,このプロジェクトの恐るべき前進力を活かしつつ,しかし和田さんたちが食べるに困らない,うまい仕組みはないものだろうか.ある国立研究所のシステムにこの成果を組み込むというオファーがあるようだが,さらに定常的に成果を表舞台に出せるようにしたい.ただし,大手のゲームソフトメーカーに飲みこまれるのは,良い解ではないと思う. 少々湿っぽい話になったが,技術的には本当のバラ色の世界が見えてきた状態である.いつまでも,PMばかりか,自分たちの予想すら裏切るような意外性街道を突っ走っていっていただきたい.プロジェクトの運営はなせばなる,という気がする.前年度も書いたが,ぜひこのプロジェクトからサクセスストーリを生み出してほしい. |
|
| 12.評価の定量的なまとめ: リピータなのに前年度を上回った [1] 未踏性 A+ スクリプト,AI,ニューロ,進化が入り,さらに未踏領域に [2] 発展性 A 現時点では,やや飛びすぎているが,未来は拓けていると信じる [3] 完成度 A 前年度を超える仕上りで,技術の相乗効果もあり,デモ効果は抜群 [4] 生産性 A+ 恐るべき集中力とプロ意識が前年度を上回った [5] 戦略性 B+ 技術戦略と事業戦略が枝分かれしてしまったかな [6] 意外性 A+ 本人たちが驚いているのだから,PMが驚かないはずがない [7] 研究・ビジネス性 Bs- 本人たちとしては,Bsのつもりかもしれないが… |
|