ニュース
[CEDEC 2008#11]パーティクルを使って「柔らかい2D」を表現する
パーティクルを使って実現する新しい2Dゲームの表現
とはいえ,2Dゲームの歴史は30年以上に及び,セッションのタイトルである「2D物理」も昔から研究されている。かくいう筆者でさえ,8ビットパソコン時代にそれっぽいことをやった経験があるほどだ。
セッションを担当したのは,プロメテック・ソフトウェアのゲーム事業部チーフ・ソフトウェア・デザイン・エンジニアである小倉豪放氏。プロメテック・ソフトウェアは東京大学発のベンチャー企業で,粒子法を使った流体シミュレーションの技術を応用した各種ソリューションを手がけている。ゲーム専業というわけではない。
そうした中で小倉氏は「粒子法を使った流体や弾性体の物理シミュレーションをゲームに応用してみたら面白いのではないか」と提案する。3Dグラフィックスでは粒子(パーティクル)を使って雲や炎を表現するテクニックが知られているが,小倉氏が提案するのは個々の粒子に働く力を計算して動かすことで,柔らかい物体(流体や弾性体)の動きを再現しようというものだ(もちろん硬い物体も粒子法でシミュレートできるが)。
NVIDIAが配布しているPhysiXのデモの中にもパーティクルを用いた流体シミュレーションがあるが,それっぽい動きにするために膨大な数の粒子を計算する必要があるのが難点。だが,2Dなら計算の負荷が軽いため,粒子法を使った表現が可能だろうという。
続いて小倉氏がデモを交えて紹介したのが,プロメテック・ソフトウェアの物理エンジン「OctaveEngine Casual」の体験ソフトウェア「OE-CAKE!」である。このソフト,4Gamerでも記事を掲載している。これは写真を見るより,実際に動かしてもらったほうが分かりやすいはずなので,興味のある人は試していただきたい。
2D物理シミュレーションをゲームに取り込むと
3Dでなく2Dなら,CPU能力を使って粒子法のような負荷が高い物理シミュレーションが可能だと小倉氏は言う |
キャラクタをやっつけるとドロドロと流れ出してしまう。物理シミュレーションによって,いかにもそれらしく溶け出す様子が楽しい |
OE-CAKE!の動きはOctaveEngine Casualの粒子法物理シミュレーションによるものだ。これをゲームに取り込もうというわけだが,小倉氏はまず2Dアクションゲームに物理を加えたデモを紹介。ある意味ストレートな物理シミュレーションの利用例ではあるが,敵キャラをやっつけるとドロドロにとけて流れるなど,OctaveEngine Casualを使ったデモゲームには映像としての面白さがあった。
続いて「物理シミュレーションそのものがゲームになるのでは」と小倉氏は提案する。先のOE-CAKE!も物理シミュレーションによる動きを楽しむ例ではあるが,粘性のある液体に目と口を付けて動かすだけでも面白いという。
さらには,「まだ実験的」と断りつつ,物理シミュレーションでサウンドを作り出す例も紹介していた。
「粒子の状態と物体の状態が直接にはつながらないことがある」(小倉氏)ため,まだ完成した技術ではないようだが,画面上に置いた炎や水の動きに応じて,それらしいサウンドが作り出されていた。こうした技術もゲームへの応用が可能だろう。
最適化にはまだ課題が残る
小倉氏によると,2Dシューティングゲームなどのデモで使われている粒子数は約6000とのこと。PCならば6000程度の粒子を使った物理シミュレーションはそう重くはない。
「iPhoneのCPUは意外に強い」そうだが,それでも「AQUA FORESTの粒子数は約400」とPCに比べるとかなり抑えた数字になっている。また,Wiiなどゲーム機ではメモリ不足の問題も生じてくるという。
OE-CAKE!でも,気体を画面全体に配置するなど粒子数を増やすと,一般のPCでは画面がカクカクした動きになることが確認できる。2Dとはいえ,物理シミュレーションはやはり重い処理なのだ。
2DゲームのターゲットはCPUパワーに限りがあるプラットフォームがメインになるだろうから,負荷の高さは実用にあたっての大きなネックになりそうだ。「まだ最適化の余地はある」(小倉氏)とのことなので,さらなるシェイプアップが望まれる。さらに,少ない粒子数で実物らしい動きを表現する技術の開発にも期待したいところだ。
- この記事のURL:
キーワード