AIの進歩はとどまるところを知らない。GoogleのDeepMindによって生み出されたコンピュータ囲碁プログラムAlphaGOは進化を続けており、2016年にはストラテジーゲーム『StarCraft II』内でも研究が始まったことが告知されている。そして最近ではそのDeepMindのフレームワークを担っている人工知能のライブラリ「TensorFlow」が注目を集めている。そんなTensorFlowを使い、NINTENDO 64にて発売され爆発的なヒットを記録した『マリオカート64』内で実験を始める男が現れた。
今回、実験をおこなったのはカナダのEコマース企業「Shopify」で働くエンジニアKevin Hughes氏。氏は冬季の休みを使って機械学習の勉強をしたいと思い立ち、TensorFlowを使った新たな実験を始めた。それが『マリオカート64』内で動く運転AIプログラムの作成だ。
Hughes氏はまず、AIに基本的な動作を覚えさせるために、Xboxコントローラーの入力にあわせて『マリオカート64』上のスクリーンショットを記録するプログラムを生成。エミュレーター上で動く『マリオカート64』をプレイしている最中に入力をおこなえば、画面の状況と入力をひも付けて学習するという仕組みだ。Hughes氏はこのプログラムのために何度も『マリオカート64』をプレイし、AIに画面と入力の組み合わせを学習させていく。このAIはデータベースを構築していった。
さまざまな手段でAIを訓練させていく上でHughes氏は「訓練したAIをどのようにゲーム上で動かすか」という根本的な課題を解決しなければならなかった。まず「Python-uinput」と呼ばれるモジュールを試したがこれはエミュレーター「mupen64plus」との相性が悪く断念。しかし同エミュレーター内にあるプラグイン「mupen64plus-input-sdl」の構造を把握した氏は、今回のプログラムに合わせてプラグインを自分自身で作ってしまった。幾度もの試行錯誤を繰り返しながら、氏は最終的に、AIのプログラムをエミュレーター内にアウトプットすることに成功した。
ついにベースとなるAIを作り上げた氏は、「ルイージサーキット」にてマリオを使い、AIの運用を始める。しかし、AIは曲がることをしようとせず、かたくなに直進を続けた。原因を探ったところ、2つの問題が確認できた。1つ目は、スクリーンショットがたびたびゲーム画面ではなくPCのデスクトップを映していたこと。2つ目は、『マリオカート64』の、カーブを曲がる時のアニメーションのぎこちなさが問題を発生させていることだ。最近のレースゲームはコーナーに差しかかった際には滑らかなカーブを描くが、マリオカート64』では、「ドリフト」を使用しなければキャラクターはぎこちなく曲がる。つまるところ、マリオが曲がっている状態であるか否かをAIが識別できていなかったということだ。この2つの問題に修正を加え、再びHughes氏は『マリオカート64』をプレイしAIに動きを学習させていった。そしてついに『マリオカート64』上で全自動走行をおこなうAIが誕生した。
映像をみると、ほぼ全ての動作がAIの学習によって生まれたコードでおこなわれているが、キャラやコースを選ぶメニュー画面と、急旋回が必要な部分なトンネル近辺でのみ、マニュアルでのコードの修正がおこなわれている。Hughes氏は「問題が生まれた部分のコードを上書きした」と述べており、おそらくこういった部分が修正されているのだろう。そうして最終的にAIによって操縦されたマリオはコースを3周走りきる。3周ともタイムが異なるのは興味深い結果だといえるだろう。
もっともビギナー向けのコース「ルイージサーキット」だけでなく、「マリオサーキット」にも適応させられることが確認されており、Hughes氏は「データさえ集まれば『マリオカート64』内ならばどんなコースでも全自動で走らせることができるだろう」と自信を見せている。
ゲーム内での全自動運転といえば、『Grand Theft Auto V』でも運転AIの研究が続けられている。TensorFlowと同様にGoogleのオープンソースを使用したものから、Modder達が独自に開発しているものまで、さまざまなAI開発がおこなわれている。同じコースを周回し続ける『マリオカート64』のAIは『Grand Theft Auto V』のものほど大規模ではないものの、1人のエンジニアが短期間で運転AIを生み出すことができるのは興味深い。今回作られたAIプログラムは「TensorKart」と名付けられ、GitHubで公開されているので、ソースの内部に興味があるかたはチェックしてみてもいいだろう。
関連リンク
- ハクスラARPG『Path of Exile』Xbox One版が発表。PC版への影響を懸念する声に対して開発元が回答
- 台湾産の音楽ゲーム『Lanota』バージョン1.2の配信が開始。多数の楽曲や「Expansion」モード追加、ストアのスタイルも一新へ
- うさぎ人間が戦うアクションADV『Overgrowth』開発約7年の時を経てベータ段階へ突入、前作「Lugaru」のキャンペーンが追加へ
Copyright (C) AUTOMATON. All Rights Reserved.
関連記事
- 泣ける(確信) 「MOTHER」に「MOTHER2」「マリオ」「ポケモン」、任天堂ゲーム音楽オンリーの演奏会が開催
「スーパーマリオ」「マリオカート」「星のカービィ」「Splatoon」「MOTHER」「ポケットモンスター」「ゼルダの伝説」「MOTHER2」「ファイアーエムブレム」の楽曲が演奏されます。 - 南総でヒアーウィーゴー! マリオになりきりカートで公道を走れる「マリカーRUN」開催
会場ではマリオやルイージの衣装も貸し出されます。 - ハロウィーンにファミコン親子現る! 阿佐谷の仮装大会で注目を集めたお父さんに話を聞いてみた
お父さんが本体で、双子の兄弟がコントローラー。家族みんなの努力の結晶! - 「マリカー64」全カップTASが登場 ほぼまともに走らないレースのような何かが繰り広げられる
甲羅を自分にぶつけてゴールにシュゥゥゥーッ! 超! エキサイティン! - 「これは僕の廃墟願望を満たすゲーム」 押井守、『ドラゴンクエストビルダーズ』に妄想の塔を建築す 後編
押井守は『ドラゴンクエストビルダーズ』でいったいどんな世界を作り上げたのか? 異色のゲーム中心インタビュー(後編)。 - 任天堂が6月7日よりセールを実施 3DSの100タイトルが最大50%オフに
3DSのニンテンドーネットワークIDとニンテンドーアカウントを連携するとさらに10%引き。 - あえてバーチャレーシングみたいなカクカクポリゴンにこだわったレースゲームがクラウドファンディング中
エンジン音と機関銃音が響くレース!