イベント
[GDC 2012]Valve,データベースを使ったファジーな会話システムを紹介するレクチャーを実施。シンプルな原理で,複雑な会話も可能に
ちなみに,このレクチャーは「プログラムトラック」の一つとして行われたもので,スライドには無数の疑似プログラムが並ぶという,非常に専門的なものだった。というわけで,可能な範囲で分かりやすく説明したい。できるのかしら?
これを,より簡単にしようという試みについて,Ruskin氏が語ったのだ。紹介されたのは,2体のロボットが登場するプログラムで,タイトルは「Two Bots,One Wrench」。ただし,タイトルの意味は聞かないようにとのことだが,このロボットの会話システムとして,データベースが使われている。ちなみに,世界初公開だそうだ。
これは,ロボットの視界に何かが入ると,その名前をロボットが読み上げるというシンプルなシステムだ。プログラム的には,目に入ったオブジェクトに付けられたタグ,例えば「ジュースの缶」を,データベースで参照してジュースの缶であることを知り,それに応じた音声ファイルを再生することになる。かくしてロボットは,ドラム缶を見ると「ドラム缶だ」と言い,靴の箱を見ると「靴の箱だ」と言い,壁の「危険」という注意書きを読み上げたりする。まるで,赤ん坊のようだが,これは見ていてかわいらしく,なかなか楽しい。また,ロボットが相棒の言葉を繰り返すことも可能で,これはトリガーを「視野に入ったもの」だけでなく,「相棒の言葉に含まれるタグ」にすればいい。
さらに,見た回数を増やしていくことで簡単な記憶を持つことも可能だ。かくして「また,ドラム缶だ」「ああ,またドラム缶だ」みたいな会話が成立する。ゲームにもよるだろうが,これの基本的な会話に適切な音声ファイルを加えることで,かなりのことができそうな気がした。
Left 4 Dead 2では,例えばプレイヤーキャラクターが遊園地へ行けば,「子供の頃に来たっきりだなあ」などと,外界のオブジェクトに合わせていろいろな発言を行う。また,状況に応じたキャラクター同士の会話もある。
こうしたことも,このデータベースを使った方法で再現できるという。つまり,いくつかの事実をキーとして,その組み合わせに合致した反応を選べばいいというわけだ。例えば,ほかのキャラクターがいて,初対面で,あれやこれやなら「ハロー!」。視野にゾンビが入っていて,ほかのキャラクターがいて,あれやこれやなら「ゾンビだ!」という感じ。
そして,この発せられた単語がまた新たな事実としてキーの列に組み込まれ,それに対して,ほかのキャラクターがレスポンスを返すのだ。もっとも,同時に複数のキャラクターが返事をしてしまっては収拾がつかなくなるので,単語に対して反応するキャラクターの優先順位が付けられている。例えば,「やられた」「痛い」などに対しては,ヒール役のキャラクターが優先して反応するというわけだ。もし,優先順位が同じであれば,ランダムに選択される。
もっとも,このままでは会話が永遠に続いてしまいそうだが,さらに重要な要素,例えばゾンビのボスキャラが登場したりすると,そちらが優先されるし,また誰も反応しないような単語が出てくれば,会話は終了するという。
しかし,原理はシンプルになったが,そのぶん曖昧さも残り,Two Bots,One Wrenchのような奇妙な会話になってしまう可能性もある。実は,それを避けるための手順などもあって,本当はもう少し複雑なのだが,ともあれ,従来式に比べてファジーであるのは間違いないので,会話の内容にシビアな正確さを求められるようなゲームには使えないものの,FPSのNPC兵士同士の会話や,RPGのNPCのパーティメンバーの発言など,応用範囲は広そうだ。
もう一つの問題は,プログラムが単純になる代わりに,データベースにさまざまなキーを書き込む必要があることで,そのすべてを手作業でやるのは実際的ではないので,自動化の手法がいくつか提案されていた。また,データベースの規模が爆発的にふくらんでいくことも懸念される。
これについてもいくつかの手法が提示されたが,大規模データベースから迅速に必要なデータを取り出すアルゴリズムは,現在熱心に研究されているので,その成果も応用できるはずだ。
ともあれ,Ruskin氏がこうした手法を作り出した最大の理由は,「ゲームライターにさらに力を与えること」にあるというのだ。どうでもいいような会話に煩わされることなく,もっと重要な部分に力を注いでもらうためのシステムだというわけだ。現状はまだ開発中のようだが,基本原理がシンプルであるため,いくつかの問題点を克服すれば,すぐに実装できるのではないだろうか。おそらく,プレイヤーにはまったく違いが分からないと思うが,このように,見えない部分でもゲームは進歩を続けているのだ。
- 関連タイトル:
LEFT 4 DEAD 2 日本語版
- 関連タイトル:
レフト 4 デッド 2
- この記事のURL:
(C) 2009 Valve Corporation. All rights reserved. Valve, the Valve logo, Left 4 Dead, the Left 4 Dead logo, Source, the Source logo, Half-Life, Counter-Strike, Portal and Team Fortress are trademarks or registered trademarks of Valve Corporation in the United States and/or other countries.
(C)2006 Valve Corporation. All rights reserved.