プログラマーのミスを指摘しバグの発生を未然に防ぐAI「Commit Assistant」をUbisoftが発表。ゲーム開発の効率を高めるねらい
近年、さまざまな分野での活用が進むAI(人工知能)。ゲームもその例外ではなく、たとえばNPCを自律的に行動させるようなプレイヤーからも分かりやすいものから、プレイ状況に応じてオブジェクトの配置や各種パラメータなどを動的に調整するものなど、プレイヤーのゲーム体験を高めるようさまざまな工夫が施されている。そしてAIは、ゲームの最終製品だけではなく、開発現場での活用も進められている。Ubisoftにて新しい技術を研究開発しているUbisoft La Forgeが、開発者イベントUbisoft Developer Conferenceにて「Commit Assistant」と呼ばれるAI技術を披露しており、海外メディアWIREDがその模様を報じている。
Ubisoft La Forgeがマギル大学とコンコルディア大学と共同開発したというCommit Assistantは、簡単に言うと「プログラマーのミスを指摘するAI」である。Ubisoftが手がけているような、非常に多くのスタッフが関わるAAAタイトルの開発では、1タイトル辺り平均して100万ものコードファイルが作成されるという。そして、もしゲーム内でバグが発見されれば、その膨大で複雑化したコードの中から原因を見つけ出さなければならない。そこでUbisoftが考えたのは、バグの原因となるコードをいち早く発見し、実際に問題に発展する前に対処するためのAIを開発することだった。
Commit Assistantは機械学習とビッグデータを利用するAIで、Ubisoftがおこなってきた過去10年間のゲーム開発にて、どのようなミスを犯し、それをどのように解決したのかという情報が詰まっている。つまり、Commit Assistantはバグに繋がる可能性のあるプログラムの特徴を知っているということ。そしてCommit Assistantは、自らのデータベースと開発中のタイトルのプログラムとを比較し、過去と同じミスを繰り返していると検知すればプログラマーに警告を出して知らせるのだという。現時点では10回のうち4回ほどの確率で間違った警告を出すこともあるそうだが、これからさらに新たなバグの事例をCommit Assistantに覚えさせていくことで精度は上がっていくだろうとしている。
Ubisoft La Forgeによると、ゲームの開発段階でバグを発見・修正するにはそれなりに大きな規模のチームを組む必要があり、それだけで開発費の70パーセントを消費してしまうこともあるという。それは同時に時間も奪われることを意味するが、同社はCommit Assistantを利用することでプログラマーは最大20パーセントの時間が浮き、ほかの作業に当てることができるだろうとしている。ただし、まだ導入し始めたばかりであるため、実際にどのような効果が現れているのかというデータは取れておらず、これからだという。
Ubisoftは、過去にディープラーニングを用いて3D地形モデルを生成する技術を発表するなど、AI研究に熱心な企業の一つだ(関連記事)。ゲームの開発現場におけるAIの活用例としては、ほかにたとえば膨大な作業量になるゲームプレイを伴うバランス調整を、人の手ではなくAIにプレイさせておこなう手法などもあり、やはり時間とコストの削減を目的にしている(CEDEC 2017)。AI自体の開発や調整にもコストがかかり、またCommit AssistantのようなAIの場合はビッグデータが必要であるため、導入のハードルは企業によって、またAIの種類や目的によってさまざまだろうが、大きな流れとして開発の効率化をAI求める研究は加速していきそうだ。