『ポケモン』風画面を“見よう見まね”で生成する機械学習デモが公開。実際に歩ける狂気めいた世界

 
Ollin Boer Bohan氏によるデモより

ディープラーニング技術者であるOllin Boer Bohan氏が、『ポケットモンスター』風のゲーム画面を生成するデモを構築。プレイヤーの操作まで検知して“それっぽい”映像を再現することに成功し、実際にブラウザ上で操作できるよう公開されている。

Ollin Boer Bohan氏によるデモより

『ポケットモンスター』(以下、ポケモン)は、任天堂の人気RPGシリーズだ。同作はポケモンを捕獲・育成してバトルに挑むシステムが特徴。また、初代『ポケモン 赤・緑』から、メインシリーズ作品は長らく見下ろし視点で親しまれていた。描画としては2Dモノクロから、世代を重ねるごとに色鮮やか・高精細になっていき3D表現に移ったものの、見下ろしスタイルが深く印象に残っているファンも多いだろう。

左がバーチャルコンソール版『ポケモン 赤』、右が『ポケモン ダイヤモンド・パール』

そんな馴染みある見下ろし視点の『ポケモン』風のゲーム画面を生成する、ニューラルネットワークを活用したデモを構築した技術者があらわれた。前述のBohan氏である。NVIDIAにてディープラーニングサイエンティストを務めているという人物だ。同氏は現地時間9月5日、自身のサイト上にて実際に動作する『ポケモン』画面再現デモを公開。その直後には、自身のTwitterアカウント上でも再現の様子を動画で公開している。

Bohan氏が作り上げたデモを見てみると、画面のおおまかな印象はたしかに『ポケモン』そのものである。主人公や風景の描画などから察するに、ベースとなったのは『ポケモン ダイヤモンド・パール』のようだ。操作も受け付けてくれるようで、キーボード入力に応じて主人公が上下左右に歩き、風景が動く様子まで再現されている。一方で、よく見ると映像にはやや不穏な雰囲気もある。というのも、描画が安定しないのだ。

動画の中では主人公が動くごとに草や段差などのオブジェクトが出たり消えたりし、さっきまであった道は消え去り、新たな風景が唐突に出現する。主人公を静止させた状態でも、世界が微妙にゆらぎ、姿を変える様子が見られる。『ポケモン』らしい雰囲気を守りながらも、何もかもが不安定で流動的だ。悪夢や幻覚のようでもありつつ、夢中で見てしまう奇妙な魅力ある映像である。なお、このデモはユーザーがブラウザ上で実際に操作して歩き回ることも可能だ。

Ollin Boer Bohan氏によるデモより


一方で、このデモでは深いゲームプレイ要素は再現されていない。あくまでも、移動や画面の雰囲気のほか、「建物に近づくと中に入る」などの挙動がたまに再現されるのみだ。なぜならば、このデモはプログラムがいわば「見よう見まね」で画面を再生しているだけとなっているからだ。

Bohan氏が今回のデモで利用したというニューラルネットワークは、人間の脳の神経構造を模した数理モデルだ。機械学習に用いられる手法でもあり、活用例としては、元となる画像データから悪夢の如き画像を生成する例などが話題になった(関連記事)。Bohan氏は、実際の『ポケモン』のプレイ映像データをこのニューラルネットワークモデルに与え、その“真似”をさせたのである。

そのため、Bohan氏によるデモは、あくまでも画面のぼんやりとした再現と、上下左右の入力受付の“ふり”に終始していた。内部にゲームプログラムがあって動作しているわけではなく、「こういう操作をすればこういう画面になるだろう」と推測で画面を描くのみ。そのため、移動するたびに風景も変化して当然だったわけだ。また、今回のデモでは「壁の向こうへ突き抜ける」などの操作もできてしまい、その場合は画面が消え去るなどおかしな挙動も発生する。あたかもニューラルネットワークが戸惑っているようで、面白い反応でもあるだろう。

Ollin Boer Bohan氏によるデモより

なお、Bohan氏のサイトでは、今回のデモについて深い技術的説明もなされている。「ニューラルネットワークとはなにか」「どのようなデータがどのように解釈されて、デモのような出力に結びつくか」など、英語とはなるものの長大かつ丁寧に語られている。Bohan氏がこのデモおよびページを公開した目的としては、このデモに興味をもった人々の、ニューラルネットワークならびに機械学習への理解を深めたいとの思いもあったようだ。

また、同氏は「ニューラルネットワークが、ゲーム全体を再現する」といった未来への洞察も語っている。こうした“見よう見まね”の精度が向上すれば、理論上ニューラルネットワークのみでゲームのシステムなども再現できることになるのだ。 現状でもディープラーニングやニューラルネットワークといった技術は、DLSSといった超解像度技術などに活かされ、開発者/ユーザーに利用されている。今後もさらに活用例が豊富になっていくことだろう。


※ The English version of this article is available here