3Dゲームで信頼できる仲間のキャラクターを作るのが難しい理由
でも実際には、3Dゲームで信頼できる仲間のキャラクターを作るのはすごく難しい。最近まで、まともな仲間のAIキャラクターを3Dゲームではつくれませんでした。というのも、3Dゲームでは、ユーザーは自由に動き回れて、選択できる行動の範囲が非常に広いためにAIがユーザーの意図を予測するのが非常に難しいからです。
ユーザーの目的の達成を仲間のAIキャラクターがサポートするためには、ユーザーの意図を予測して、それを先回りして助けなければなりません。ユーザーの意図を正確に予測できなければ、不可能なことです。例えば、「ユーザーはあの目的地に行きたいはずだから、私は後ろを防衛しよう」と考えて行動できるAIをつくらなければなりません。
山本 面白いですね。ゲームのユーザーは仲間のAIキャラクターに対しては厳しい目を向ける。その上、ゲームの3D空間内で自由に動くユーザーのサポートは技術的に難しいと。
「ユーザーの意図を読む」とおっしゃいましたが、人の意図は外から見えないものですね。どうやってAIは人間の意図を予測するのでしょうか。
三宅 現実の世界では、どのような文脈でその人がその場所にいるのか、外からは分からないので、街で出会った見知らぬ人の意図は予想しづらいですよね。
しかし、ゲームはある意味、極限的な状況です。ルールがあり、目的がはっきりしている。このミッションであれば、この場所を突破して、あの敵を倒して、宝箱を取って……とある程度の流れは決まっています。だから、ある程度、ユーザーの意図を予測できるんです。ユーザーの選択できる範囲やなすべきことを限定すればするほど、推測しやすくなります。
山本 文脈を絞っていくわけですね。三宅さんの見るところでは、その予測はどのくらい信頼できるでしょうか。例えば、協力して敵と戦うようなゲームなら、仲間と信じて背中を預けられる感じでしょうか。10回に1回くらいはポカをしても許される感じでしょうか。
三宅 AIには「状態空間」という概念があります。AIがいまどんな状況に置かれているかを把握するための概念です。
囲碁や将棋ですと、マス目があり、碁石や駒の位置も確定されていますから、AIに状態空間を認識させることは比較的容易です。囲碁や将棋のAIが強くなったのは、ディープラーニングによって状態空間を細分化していき、人間が考えるよりもずっと細かく状況を分割して考えているからです。格闘ゲームも動ける空間が限られていて、目の前の敵を倒すという目的がはっきりしているので、ほぼ完璧にユーザーの意図を予測できます。
でも、3Dアクションゲームの場合は状態の分割が非常に難しい。ですからよくて5、6割でしょうか。なので、AIを意図的に「過保護」の方に振ることによって、信頼度を高めています。
山本 本当はそこまでピンチではなくても、AIはピンチだと判断して、ユーザーを助ける方に行動していくわけですね。ちょっと乱暴にまとめてしまうと、ゲーム内のAIはまだユーザーが置かれている文脈を解釈できていないと言っていいでしょうか。