Contents
エンジニアの役割は「おもしろい体験」をつくる手段の実現
02
2024.06.19
- Text
- :松本 友也
- Photo
- :平郡 政宏
プレーヤーに「遊び応え」を感じてもらうべく、進化を続けてきたゲームAI。大規模で複雑な作品が増加していく中、AIの進歩によってゲームにもたらされる変化とは。
前回は三宅陽一郎(みやけ・よういちろう)先生に、ゲームAIの変遷を解説していただきました。ここからは、今まさに進化しているAI技術との融合についてうかがいます。自由な発想を実現するためにエンジニアが担う役割とはどのようなものなのでしょうか。
ディープラーニングをゲーム開発に導入する際の課題は、データセットの大きさと反復的な動きの取得の難しさ、そして「コントローラビリティ」の低さにある。特に、敵キャラクターがゲームプランナーの意図に沿って動かないと、プレーヤーの体験をコントロールできない。しかし、ディープラーニングと既存の意志決定アルゴリズムを組み合わせることで、これらの課題を克服できる可能性があるという。具体的には、ステートマシンやビヘイビアツリーを大枠に使い、個々のアクションにディープラーニングを活用する方法が検討されている。ゲームプランナーは、プレイヤーにどんな体験を提供するかを設計し、その設計を技術的に実現するのがエンジニアの役割である。
既存のアルゴリズムとの組み合わせで生きるディープラーニング
──前回、ゲーム開発へディープラーニングなどで学習したAIを導入するには工夫が必要というお話をうかがいました。その理由について教えてください。
三宅 理由はいくつかあります。まず一つは、学習にともなうデータセットが大きすぎるということ。もう一つは、強化学習に必要な「反復的な動き」を取得するのが難しいことです。コンピュータに動きを学習させるためには、同じような状況で同じような動きを何度も反復する必要があります。だから、格闘ゲームやレーシングゲームのような同じ状況が繰り返すゲーム以外では近年まで強化学習はあまり使われてきませんでした。
また、これが最も重要な理由ですが、ディープラーニングは「コントローラビリティ」(開発者が細かく動きを指定できること)が低い、という点が挙げられます。先ほど、ゲームにおける敵キャラクターは「盛り上げ役」だという話をしましたよね。敵キャラクターがゲームプランナーのプランに沿って動いてくれなければ、プレーヤーを楽しませるよう体験をコントロールすることはできません。ゲームAIで重要なのは、あくまでも「プレーヤーにどんな体験を与えられるか」。その観点では、ディープラーニングの活用には、この「コントローラビリティの壁」を越える必要があります。
──その状況は今後も続くとお考えでしょうか。
実はそんなことはなくて、ディープラーニングを使ってキャラクターの行動を制御しようというアイデアも出てきています。ディープラーニングを使うと自由度が高すぎてしまう点がありますが、既存の方法とうまく組み合わせれば、もう少しうまく制御できるかもしれない。これは今後のゲームAIの課題でもありますし、私自身、この新たなゲームAIを実現するために大学で研究を進めています。
その背景には、ゲームのスケールが年々拡大していて、表現するべきゲーム空間が複雑になりすぎているという課題があります。現在主流のオープンワールドのゲームは、マップが非常に広大ですし、戦闘や冒険の時間も長いですよね。すると、ステートマシンやビヘイビアツリーでキャラクターをコントロールしようとしても、処理すべき要素が多すぎて拾いきれないんです。
──具体的には、どのような方法で組み合わせるのでしょうか。
三宅 今検討しているのは、既存の意志決定アルゴリズムとディープラーニングをいいとこ取りする方法です。
たとえば、キャラクターの意志決定システム全体については、ステートマシンやビヘイビアツリーを採用する。そして、その中に設定されたアクションの一つひとつについては、ディープラーニングを活用した「賢い」AIを搭載する。こうすれば、大枠はゲームデザイナーがプランニングしつつ、敵の動きのディティールについてはユニークなものをつくることができるかもしれません。
──アクションRPGでも、まるで生きたモンスターと戦っているかのような感覚が得られるかもしれないと。
三宅 もちろん、強さといってもいろいろあります。単純に接近戦で器用な動きをするというのもありますし、集団で連携して賢く攻撃してくる強さもある。こちらの戦法を学習して、対策を取ってくるような敵キャラクターをつくることもできるかもしれません。
ただ、やっぱり強すぎてしまうと体験を損なうので、欲しいのはあくまでも「遊び応え」ですね。「味」と言ってもいいかもしれません。
ゲーム開発におけるエンジニアの役割は自由な発想をサポートすること
──その「味」は、どのようにつくっていくものなのでしょうか。
三宅 実際にはゲームAIの問題というよりは、個々のゲームデザインの話になってくると思います。「このAIを使ったから絶対おもしろくなる」ということはなく、おもしろさの部分を実際につくり込むのはゲームプランナー(ゲームデザイナー)です。
これまで話してきたような、ゲームAIや意志決定アルゴリズムの話というのは、エンジニアや研究者の領域です。ゲームを開発するための、大元の仕組みをどうつくっていくかという話ですね。
──エンジニアの役割は、プランナーが使いやすいシステムをつくること、ということでしょうか。
三宅 その通りです。プランナーが自由な発想でゲームをつくれるようにサポートするのがわれわれ研究者やエンジニアの役割です。だから、ディープラーニングをただ入れるだけではダメなんです。なぜなら、プランナーがコントロールしづらい仕組みだからですね。
理想は、プランナーが好きなだけこだわれるような仕組みです。こだわりすぎると、ルールや設定値が無限に増えていってしまいますが、それでも矛盾したりパンクしたりしないような意志決定の仕組みがつくれたらベストですね。
──その役割分担は、昔から変わらないのでしょうか。
三宅 変わらないですね。意志決定の仕組みがシンプルだった頃は、プランナーが無理やり何十個もルールをつくっていたんです。相互に矛盾しそうになりながらも、ひたすらつくり込む。ステートマシンやビヘイビアツリーが開発されても、その機能の限界までひたすらステートマシングラフやビヘイビアツリーグラフをつくり込む。プランナーは、できるだけ多くの機能をつくりたいという傾向を持っています。われわれが追求したいのは、それをいかにサポートできるかということですね。
最近のゲームエンジンは非常に高性能でたいていのことはできてしまうのですが、逆に凝ったカスマイズをしようとするとできることが限られていると感じます。同じゲームエンジンを使用すると誰がつくったとしてもどうしてもゲームの中身が似てきてしまうんですね。この点については、新しい仕組みを開発できていないわれわれエンジニアの責任とも言えるので、なんとか打破していきたいところです。
──ここまで、AIにフォーカスしてお伺いしてきましたが、ゲーム開発へ影響を与える技術には、他にどのようなものがありますか。
三宅 いろいろありますが、プレーヤーの身体情報を計測するセンシング技術もその一つだと考えています。では次回は、ゲームにおけるセンシング技術の活用についてお話ししていきましょう。