ニュース
“ゲームAI”で世界はどう変わる? “ゲームAI”を学ぶ勉強会開催
森川幸人氏のモリカトロンと、三宅陽一郎氏が提示する未来のゲーム
2017年12月21日 12:15
モリカトロンは12月13日、ゲーム開発者向けに“ゲームAI”を学ぶ勉強会「プランナー・プログラマのための、ゲームAI入門勉強会」を開催した。
モリカトロンは、日本で初めて設立されたゲームAIを専門的に扱う会社である。そもそもゲームAIとはなんだろう? AI、人工知能や、ディープラーニング、強化学習など、単語は聞くが、それはどんなもので、どうゲームを面白くしてくれるのか? 今回の勉強会では、基礎的なAIに関する講義が実施された。
今回はモリカトロンの代表取締役社長本城嘉太郎氏、モリカトロンゲームAI研究所所長の森川幸人氏、そしてゲストとしてスクウェア・エニックス テクノロジー推進部でAIチームのリーダーを務める三宅陽一郎氏が登壇、モリカトロン取締役の成沢理恵氏が司会を務めた。
森川氏は「がんばれ森川君2号」、「アストロノーカ」などいち早くゲームにAIを取り入れユニークなゲームを作るクリエイターである。そして三宅氏は「自分で考えるゲームキャラクター」を出発点に、ゲームをより面白くするためにAIを研究し、開発者向けの勉強会を積極的に行なっている。両氏はこれまでも開発者向け勉強会を開催していたが、今回改めて基礎を学ぶための勉強会を開催した。モリカトロンは今後も勉強会を開催するという。
「AIというのには実はいくつか種類がある」、「ゲームでAIをつかうとはどうやるのか?」、「ゲームを面白くするバランステストにAIが活用できる」など、今回提示されたAI論はゲーム開発者のみならず、コアなゲームユーザーにも興味深い部分がある。ゲーム開発者達はどのようなことを学んでいるのか、今回の勉強会ではそういった部分も見ることができた。
AIはゲームに何をもたらすのか? モリカトロンが提示するゲームAI
今回の勉強会ではまず「ゲームAIとは何だろう?」というところから、モリカトロンが提示するゲームAIのゲームへの活用法が提示された。森川氏はゲームプランナーであり、独特のイラストを描くクリエイターでもある。スライドでは内容をわかりやすく説明するイラスト共に、本城氏によって「ゲームAI」の説明が行なわれた。
まず最初に語られたのは、ゲームAIの可能性である。開発者もユーザーも夢見るゲームAIの姿の1つは「自分の頭で考え、気持ちを持つキャラクターの創造」である。シナリオライターやプログラマーが設定した動きだけではなく、予想もつかない、独立した知能を持っていると感じられるキャラクター。彼らを実現でき、プレーヤーが彼らとふれ合えたら、どんなゲーム世界が待っているか、ワクワクさせられる未来だ。モリカトロンはそんな世界を実現するという理念のもとに立ち上げられたという。
そしてAIの可能性を語っていく。プレーヤーとの会話やイベントにAIを持ったキャラクターは独自の価値観で反応していく。それはあらかじめ設定されたプログラムを越え、キャラクター自身が考えての行動となる。
また「バランス調整」にもAIは活用できる。特にRPGなどの場合は、キャラクターの武器、レベル、ステータス、プレイ時間など様々なパラメーターが複雑に絡み合っておりバランス調整は難しい。現在は会社としてのデータの蓄積と、開発者の経験、そして“カン”によってバランスは調整されている。
しかしガチャなどで常に新しい要素が追加されるゲームはどうなるのか、開発者がやめてしまったら? AIによって「大体このくらいの強さのキャラクターを新規に入れたい」、「緊張感のある戦いでゲームを盛り上げたい」など、様々な開発者の要望を、複雑なパラメーターを考慮したり、数千回のプレイを重ねて検証することで可能にしてくれるのだ。
RPGの広大なフィールド作りにもAIは活用できる。どのくらいの木が植えられれば自然になるか。湖や山の分布は? 自然なフィールドや、敵の配置など現在は手作業で行なっているものをAIで行なうことができる。そしてゲームの「評価」なども可能である。難しいか、簡単か、ストレスをどのように与えるか、ゲームの総合的な強化だけでなく、プレーヤーのパラメーターを考え動的にバランスを変えることも可能だ。
スポーツゲームのチームメイトの動きもAI制御が求められる。何千回も繰り返しプレイしてバグを見つける作業はAIで肩代わりできる。現在のユーザーの動向を考えてのバランス調整や、イベントの方針なども提示できるだろう。キャラクターの動きや反応などのゲームの“中”だけでなく、“外側”、プレーヤーの動向や、ゲームのバランス調整などゲーム開発者を助けるツールとしても、AIは活用可能であり、モリカトロンはそういったゲームの“中”だけでなく、バランスやコーディングなどの“調整”も行なえる会社だと本城氏は語った。
このようにゲームAIは多彩な場面で使用できる。AIというのは1種類ではなく、得意分野が違ったり、役割も違う。そのAIの基礎とはどのようなものだろうか。まずAIの有用性を提示した後、AIとは何だろう、というところに勉強会は進んでいった。
「中のAI」と「外のAI」
ゲームAIには「中のAI」と「外のAI」がある。最初に言葉の意味を説明したのは三宅氏だ。「中のAI」とはゲームの構成要素となるAI。キャラクターの性格から反応や会話を導き出す「キャラクターAI」や、プレーヤーを導いたり、カーナビなどの地形を検索するのに使われるのは「ナビゲーションAI」となる。さらにゲーム全体のコントロール、プレーヤーキャラクターの状態を見てバランス調整をするのが「メタAI」となる。ゲーム内は主にこの3つのAIが盛り込まれることとなる。
「外のAI」は開発中に使うAIだ。ゲーム全体のバランス調整、ユーザーの動向の統計、デバッグ、数千回のプレイによる様々なデータの吐き出し、「ユーザーがVR酔いをしているかどうかの判定」などなど、実はこちらの方が様々なプログラムが考えられるのだ。プランナーの勘や経験を補助するAIだが、実はこちらの「外のAI」はまだあまり発展していないと三宅氏は指摘した。ここ2、3年の「AIブーム」で、ようやく発展してきたという。本城氏はゲーム開発者にとってこの外のAIの需要が高まっていると感じているという。
AIにはハードの特性なども重要となる。中のAIはプレイを阻害できない。ゲーム機という限定された能力を持ったハードで、しかもリアルタイムに、数フレーム以内で判断しなくてはならない。一方で外のAIは性能の高いコンピューターで運用できる。体力のある企業ならば超高速コンピューターでの何千回のデバッグなどもできるのだ。外のAIは、デバッグや、バランス検証など複数のタイトルに転用可能というところも特徴だ。
中のAIはゲームの仕様そのものに関わり、専門性が高い。一方で外のAIなら既存のタイトルにも応用可能だ。このためコラボレーションがしやすい。モリカトロンのようなコーディングを行なう会社でも、ゲームの内部プログラムを見せるというのは問題が生じる可能性があるが、外のAIならば大学の研究者と協力することも可能だと森川氏は語った。
AIの種類
次に議題に上がったのがAIの種類だ。「機械学習」とは、AIの学習の総称とも言える名称でここに「強化学習」、「教師あり学習」、「教師なし学習」といった分類が存在するが、これらもそれぞれが一部混じり合っているという。「教師あり学習」、「教師なし学習」というのは、人間が正解、不正解を提示するか、というところに違いがある。「教師なし学習」というのは人間がやり方を教えずに、AIが独自で正解を導き出す学習法だ。
「強化学習」は経験から学ぶ方法。例えば格闘ゲームのAIで、「キックとパンチのどっちがきくか」をAIが試し、自分で判断して学んでいく。経験を積み重ねることで正解を模索していく方式だ。森川氏は強化学習の一例としてレーシングカーのシミュレーションを提示した。最初は前に進むことすらできなかったのだが、カーブをどのように曲がるか、何度も激突しながらスムーズに走っていく方法を導き出していく様子が提示された。
もう1つ、ブランコのロボットだが、うまくこぐための足を動かす実験なのだが、ロボットが後ろに戻るときと前に進むときの2回力を込めるところが注目されたという。後ろに下がるとき、人間の体ではバランスがうまくとれない。足と駆動部だけというロボットの体だけができる加速方法をロボットが学んだ例とのことだ。強化学習は人間が目標だけを提示してやり方を全く教えないので、最初は失敗ばかりだが、このように人間が教えられない、つまり、考えつかない行動に到達する場合もあると森川氏は語った。
教師ありと教師なしのハイブリットAIの代表的な存在が話題を集めた囲碁AI「AlphaGO」だ。AlphaGOは最初人間の棋譜を60万局覚えさせ、そこから人間と対局した後、自分自身と対局していくことで強くなっていった。この戦いを30万局繰り返すことで、世界一の囲碁棋士に勝ったということでAlphaGOは有名になった。
そして「AlphaGO Zero」という教師なしのAIが作られた。こちらは人間の棋譜をインプットしていない状態で学習を重ね、そして人間の棋譜を覚えたAlphaGOに勝ってしまったのだ。この出来事は「人間の教師がない方が囲碁は強くなるのか」と話題を集めた。しかしこれは複雑な問題で、学習には数千コアに及ぶGPUと専用チップが使われている。
三宅氏が次に提示したのはマイクロソフトリサーチによる格闘ゲームのAI。最初はプレーヤーにボコボコにされるが、うまく攻撃が当たった方法を学習し、それを繰り返すことで最後はプレーヤーが太刀打ちできない強さを獲得した。当たる攻撃、効率の良い攻撃を繰り返す非常にエグイ戦い方で、AIの学習結果がビジュアル的によくわかるケースだった。
AIには2つの種類があると三宅氏は語った。「ニューラルネットワーク型」と記号主義「データベース型」で、ニューラルネットワーク型は画像処理でのAI。AlphaGOはこのタイプで、棋譜を画像としてとらえ。よりよい手を確率で模索していく。記号主義「データベース型」はIBMのWatsonで、クイズ王にも勝ったという。クイズは単純に問題 に対する知識だけではなく、引っかけ問題にもきちんと対応するものだったと森川氏は語った。
AIをどうゲームに盛り込むか?
そしてこれらのAIをどう使うか? そこがまた問題となるところだ。今は「AIブーム」であり、ゲームに人工知能を盛り込もうという動きもあるが、プログラマーだけが「AIを!」といってもうまくいかない。
結局「AIを入れない方がゲームとして面白いんじゃないの?」という結論にもいきかねない。そうではなく、ちゃんとゲームにAIを活かすには「AIがあればどんなゲームができるか」という、AIを使用する前提でゲームデザイナーが考えねばならない。プログラマーとゲームデザイナーが共にAIを理解していることで、AIを使った面白いゲームが可能となるという。
三宅氏はこういったAIを活用したゲームを作るために、会社に積極的に働きかけ、毎週会社内でAIの勉強会を行なっている。そこではプログラマーだけでなく、ゲームデザイナーも受け入れているという。ゲームデザイナーがAIの有用性を学び、AIを活用したゲームのアイディアを思いつくことで、エンジニアと一緒にAIを活用したゲームを作ることができると三宅氏は語った。エンジニアとゲームデザイナーがAIについてディスカッションし、ネタを貯めておくことでゲームへと繋がる。普段からこういう蓄積をするべきだという。
一方、森川氏は最初からゲームデザインとAIの理解を最初からしていた人物だ。1998年の「アストロノーカ」は「夢の島にハエが大量発生し、コレを駆除するために殺虫剤を使ったところ、耐性を持つハエが大量発生し発生しさらに強力な殺虫剤が必要になった」という現象をゲームに取り入れたものだ。
「アストロノーカ」は遺伝的アルゴリズムのAIを盛り込んだゲームで、敵である「バブー」は最初は何もできないがプレーヤーのトラップに対して学習していく。落とし穴ばかりを作るプレーヤーに対しては落とし穴に対応した成長を遂げるなど、プレーヤーによってバブーの“進化”は変わっていく。
成沢氏はこの「アストロノーカ」の続編を担当した時、バブーの初期行動を調べる際にその“少なさ”に衝撃を受けたという。バブーは成長すると非常に複雑な動きをする。これはあらかじめこの複雑な動きを用意しているだろうと成沢氏は思ったのだが、渡されたのは20体分のパラメータ。バブーはこの20個体を基に、自ら進化していくことでとても複雑で、手強い存在になると言うことを見て、AIの面白さをそこで知ったという。
しかし日本ではAIを学べる書籍は少ない。森川氏はその少ない書籍を読破し独学で学んでいったという。現在は書籍や研究も多くなったが、英語のものが多い。またネットにも有用な記事が多い。三宅氏は「人工知能学会」のページ内で、いくつもの記事リンクを提示している。社内の勉強会ではこれらを活用して勉強したり議論したりも多いという。
こういった社内での学習が進んでいく中で、ゲーム開発のツールにもAIが活用されている。アクション性の高い戦闘シーンでは攻撃モーションをデザイナーが作った動きをもとに、攻撃範囲を提示し、パラメーターを抽出し、調整する事が可能となった
これまでは企画者が手作業で行なっていた当たり判定や戦闘バランスを、AIが補助することで、作業効率を上げることに成功したという。また、敵が追跡する動きなども自然に方向転換を行なう動きを繰り返し、学習させることでスピードを落とし向きを変えるという動きを覚えさせ、、成長したAIを盛り込むことで、より自然な動きができる敵を作り出している。こういった形でゲームAIを活用していると三宅氏は語った。
地形に合わせテクスチャを自動生成する「ナビゲーションメッシュ」でもAIは活用できる。AIによってメッシュを可視化することで「ここに来るとバグが発生する」といったポイントまで可視化することができる。ここは地続きだとか、ここは繋がっていないなど、こちらも開発を補助する有用なツールになったという。
森川氏は「アストロノーカ」で使用した「遺伝的アルゴリズム」のゲームでの使用の効果をアピールした。遺伝的アルゴリズムは中のパラメーターが見やすく、「AIがどうしてこのような判断をしたか」がわかりやすく、これを活用することでゲーム全体を俯瞰した上で、武器やアイテム、敵などのパラメーターの設計をAIができるという。
ただ、この遺伝的アルゴリズムは研究者があまり使わない現状があると三宅氏は指摘した。これはすでにあったり、できているゲームを動かして検証する方法であるため、大学のAI研究では動かすゲームそのものがないため、研究が進められないのだ。逆に「現在あるゲームの調整をして欲しい」というときに力を発揮する、「現場向け」のAIとも言えるだろう。
この後三宅氏によるAIの関連書籍の紹介が行なわれた。三宅氏の研究会では最初の半年でAIを盛り込んだゲームを1つ作り、平行してゲーム関連書籍を毎日読むことで1年ほどの研修で“当たり”がつくので、これでエンジニアの入り口に立てるとのことだ。
成沢氏は最後に「モリカトロンを立ち上げるにあたり、森川のようにゲーム製作とAIへの理解を兼ね備えた人物はいないと思い、ここにゲームの未来を賭けています。ぼんやりとしたゲーム全般ではなく、皆さんのゲームのお手伝いをしたいと思っています。私達はゲーム業界で苦労しましたが、皆さんも抱えているであろう苦労や悩みをモリカトロンがサポートできればと思っています。勉強会という堅苦しいものではなく、わからないことを森川や三宅さん達に聞こう、という会です。今後も勉強会は続けていきたいと思いますので、よろしくお願いします」と会場の開発者に語りかけた。
筆者にとってはきちんと理解できた、とは言い切れない勉強会だったが、現在のAIというものに関して、これまでよりは確実に理解を進めることができた。また、AIを活用することで、現在の感覚と経験で行なっている作業が効率化される、それはより普及していけばゲーム開発の裾野が広がるという未来も感じさせられた。
コンピューターはどういうことができて、人間をどう補助してくれるか、人間の思考を学び、どのようなことができるか、それらの一端が見えたような気がする。こういった勉強会が、ゲームをより面白くしてくれることに期待したい。