モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。

TAG LIST
機械学習ディープラーニングCGCGへの扉モリカトロンAIラボインタビューGAN三宅陽一郎CEDEC2019ゲームAIスクウェア・エニックス音楽シナリオ強化学習GDC 2019VFX映画ニューラルネットワーク遺伝的アルゴリズムデバッグ不完全情報ゲームVRキャラクターAIボードゲームファッションルールベースSIGGRAPHイベントレポートQAメタAIOpenAIガイスターロボットグーグルマルチエージェントナビゲーションAI小説AlphaZero深層学習AIと倫理toioビヘイビア・ツリー自動生成研究DeepMindJSAI2020人工知能学会CMAmadeus Code音声認識シーマン齊藤陽介お知らせ敵対的生成ネットワークサルでもわかる人工知能ワークショップ知識表現IGDAどうぶつしょうぎ畳み込みニューラルネットワークマシンラーニングクラウドマイクロソフト藤澤仁宮路洋一GoogleStyleGANNVIDIAスポーツフェイクニュースディープフェイクASBSぱいどんTEZUKA2020AI美空ひばり手塚治虫月刊エンタメAIニュース汎用人工知能ゲームブロックチェーンOpenAI Five映像ピクサーAdobe作曲ビッグデータアストロノーカナラティブモリカトロンパラメータ設計バランス調整対話型エージェント人狼知能エージェントシミュレーションロボティクスeSportsDota 2ソーシャルゲーム眞鍋和子淡路滋グリムノーツゴティエ・ボエダGautier BoedaJuliusTPRGバーチャル・ヒューマン・エージェントクーガー石井敦茂谷保伯森川幸人成沢理恵マジック・リープMagic Leap Oneノンファンジブルトークン水野勇太里井大輝GEMS COMPANY初音ミク転移学習デバッギングアニメーションリップシンキングUbisoftUbisoft La Forge北尾まどか将棋ナップサック問題ジェイ・コウガミ音楽ストリーミングSpotifyReplica Studioamuse5Gクラウドゲーミング和田洋一Stadia対話エンジン斎藤由多加シーマン人工知能研究所ゴブレット・ゴブラーズSIGGRAPH 2019ARAIりんなアップルiPhoneカメラ完全情報ゲームAIGraph環世界中島秀之予期知能ウェイポイントパス検索ドラゴンクエストPAIR画像認識アルスエレクトロニカ2019DeNA逆転オセロニア長谷洋平奥村エルネスト純齋藤精一高橋智隆ロボユニ泉幸典ロボコレ2019アートぎゅわんぶらあ自己中心派意思決定モデルウロチョロス理化学研究所教育SIGGRAPH ASIAHTN階層型タスクネットワークLEFT ALIVE長谷川誠Baby Xロバート・ダウニー・Jr.YouTubeSFThe Age of A.I.レコメンデーションソニーテンセントMOBA人事研修プロシージャルmynet.ai人工音声プレイ動画NBADARPAドローン群知能ウィル・ライトシムシティシムピープルレベルデザインSporeデノイズ画像処理GPUCPUALife人工生命オルタナティヴ・マシンサウンドスケープGMAITRPGウィザードリィAI Dungeon西川善司サムライスピリッツゼビウスストリートファイター栗原聡山野辺一記大里飛鳥マンガ13フェイズ構造手塚眞不気味の谷Oculus Quest生体情報写真照明山崎陽斗立木創太松井俊浩スパーシャルAIGPT-3GameGANパックマンCNN

仁井谷正充氏に訊く『ザナック』にAIが導入された理由:懐ゲーから辿るゲームAI技術史vol.2

2020.5.27ゲーム

仁井谷正充氏に訊く『ザナック』にAIが導入された理由:懐ゲーから辿るゲームAI技術史vol.2

『ザナック』とは、どのようなゲームだったのか?

「多分、世界で初めて『AI』という言葉を使ったゲームだと思います」

この言葉は、元コンパイル、現コンパイル◯(まる)社長の仁井谷正充氏が、筆者も参加した2017年のインタビューにおいて、『ザナック』について質問をした際に語ったものです。

『ザナック』とは、1986年にコンパイルが開発し、ポニーから発売されたMSX、およびファミリーコンピュータ用の縦スクロールシューティングゲーム。カーソル(または十字キー)とボタン2個で自機を操作し、カーソルキーは自機の8方向への移動に、ボタンはメインウェポンとサブウェポンの発射時にそれぞれ使用します。

メインウェポンは、最初は1発ずつしか撃てませんが、パワーチップ(アイテム)を取るとパワーアップして、最高で3発同時に撃てるようになります。サブウェポンは、アイテムを取ることでオールレンジキャノン、プラズマフラッシュなど全8種類が装備可能で、同じ種類のアイテムを続けて取るとさらにパワーアップし、強力かつ見た目にも派手が攻撃を繰り出せる特長を持ちます。

豊富な敵キャラクターの種類と攻撃のバリエーション、軽快なBGM、超高速スクロールする背景(※本稿では触れていませんが、こちらのプログラミング技術・アイデアも、本サイト読者には大いに興味をそそられるハズ)など、あらゆるシステム・演出を盛り込み、当時のプレイヤーに衝撃を与えました。とりわけファミリーコンピュータ版は海外でも人気を博し、全世界で100万本を超えるセールスを記録しました。

そして特筆すべきは、パッケージや雑誌広告にも、セールスポイントのひとつとして「AIを搭載」と明確に打ち出していたことです。本作にプログラミングされたAIは、その名もALC(AUTO LEVEL CONTROLER)。特にMSX版では、ALCをいわゆる内部パラメーター扱いとはせず、わざわざプレイヤーに明示する前代未聞のアイデアを盛り込んでいたのです。

ゲーム中に画面右上に常時表示され、プレイ内容に応じて刻々と数値が変化するACL。では、具体的にどのように計算され、ゲームの展開に変化をもたらしているのでしょうか? 以下の写真に、ALCの変化する条件、およびその影響によってゲーム展開が変わる例をいくつか挙げました。ちなみに、ALCの計算には16進数が使用されているので、数値にはA~Fまでのアルファベットが表示されることもあります。

ALCにより難易度が変化する例

特定の地上物に数発撃ち込むと出現し、取ると空中の敵が全滅するアイテム、エネミーイレーサー(※左側の写真中央にある黄色い丸型のアイテム)を取得すると、ALCの5桁目が1(164=65,536)上昇する
自機がやられると、リスタート時にALCが大幅に下がる
敵の要塞と戦うシーンでは、砲台をひとつ破壊するごとに5桁目が1(=65,536)ずつ下がる
1面の終盤のシーンより。同じ場所でも、ALCが高い場合(左側の写真)は弾をどんどん撃ってくる敵が2種類出現するのに対し、ALCが低いとき(右側の写真)は弾を撃たない敵1種類だけが出現している

それにしても、今から34年も前に、なぜAIをゲームに取り入れようと思い付いたのでしょうか? そして、その中身はいったいどのようなものだったのでしょうか? 本作の開発者のひとりである、当時のコンパイル社長、現コンパイル◯(まる)社長の仁井谷正充氏に、開発当時のお話を伺いました。

AI専門の会社と知り合ったことでゲームAIの実装を実現

——本日はよろしくお願いいたします。まずは、『ザナック』を作ろうと思ったきっかけから教えてください。

仁井谷正充氏(以下、仁井谷):コンパイルの事業が始まって、最初の頃はセガさんといっしょにゲームを作っていたのですが、「我々もシューティングゲームを作ろう」という話が社内で出始めるようになりました。その後、シューティングゲームを1、2本作っているうちに、ポニーキャニオンさんとのお付き合いが始まりまして、ポニーキャニオンさんから「シューティングゲームが欲しいな」というお話があったので、「じゃあ、作りましょう」ということで『ザナック』の開発が始まりました。

——『ザナック』は何人ぐらいで開発したのでしょうか?

仁井谷:私のほかは、プログラマーの広野(隆行)君、デザインの寺本(耕二)君、サウンドの宮本(昌友)君がいました。

——では、『ザナック』になぜAIを導入しようとお考えになったのでしょうか?

仁井谷:実はですね、コンパイルとポニーキャニオンさんとの間にAII(エーアイアイ)さんという、まさにAIに詳しい方がAIをやるために作った会社があって、そこといっしょにAIをやろうという流れになったんです。そこで、AIIさんからAIとは何かという説明を受けて、『ザナック』のコンセプトをAIにしようということになりました。

——つまり、『ザナック』の開発にあたり、そのAIIの方にプログラムの監修を受けたということですか?

仁井谷:いいえ。その方は、おそらくゲームに関しては全然詳しくなかったので、監修まではしていなかったと思います。当時はコンピューターや数学に詳しい人はAIを知っていても、ゲームを作っている人たちはほとんど知らない時代でした。ですから、AIIさんが我々に橋渡しをしてくださったわけですね。確か、タイトル画面に「PRODUCED BY AII」の表記が入っていたと思います。

MSX版『ザナック』のタイトル画面。タイトルロゴの下には「A.I.」と描かれ、AII社のコピーライト表記もある

——AIIは、具体的にどんな事業をしていたのでしょうか?

仁井谷:詳しいことはわかりませんが、学者肌の方でしたね。

——まだ昭和の時代に、「AIを搭載」というキャッチコピーを入れたのは本当に斬新でしたよね。

仁井谷:まさに、今お話したAIIがAIをプッシュしていましたから、「AI」と全面的に出していました。「AIとは、こういうものですよ。ゲームにAI的な要素を入れましょう。じゃあ、こうしましょう、ああしましょう」と、プログラマーといろいろディスカッションをしながら作っていたと思います。

——ちなみに、仁井谷さんは『ザナック』を開発する以前にAIの存在をご存知だったのでしょうか? 大学時代は理学部だったそうですが、当時から何かAI関連の勉強をされていましたか?

仁井谷:いいえ。学生時代にコンピューターを勉強したわけでもないですし、AIという意識がそもそもなかったです。大学にパンチカードを使った大型コンピューターはありましたが、ほとんど触ったことがなかったですね。AIIさんにお会いしてから、「人工知能、AIというものがあるのか。ふーん……」と初めて知りました。

——では、仁井谷さんが今までに遊ばれたゲームのなかで、AIあるいはAI的なものを感じたタイトルは何かありますか?

仁井谷:やり込んだゲーム自体が少ないのでよく分からないのですが、まず思い付くのは『ロードランナー』(1983年、ブローダーバンド)でしょうか。『ロードランナー』は、敵のロボットがまるで人の動きを感じ取るような、すごく微妙な動きをするんですよ。主人公が近付いたら逃げるとか、あるいはY軸方向にちょっとだけ、5ドットぐらい動いたらこっちに近付くとか、そんな動きをするので、単なるコンピューターが決めた動きではない、何だか人間、AIっぽさが感じられるなあと。

昔のアーケード用の麻雀ゲームとかですと、コンピューターがプレイヤーの手牌を全部わかったうえで対戦しているから、「絶対におかしいだろ、勝てないよ!」とか インチキっぽく感じちゃいますよね? ですから、コンピューターゲームにおいて人間らしさを作るというのは、実はなかなか難しいんですね。

今の3Dになったゲームとかを見ても、難しいしなと感じますね。例えばRPGとかで、毎回同じ説明だけをしゃべるのはやめてほしいなあと。同じメッセージを2回聞いたら、もう違うことを話すようにするとか、あるいは話さないように選択できるとかするといいと思うのですが。もし人間だったら、2回も3回も続けて同じことは言わないでしょ?(笑)

——『ザナック』は、ゲーム中にALCの数値が目まぐるしく変化しますよね。特定の敵を倒すと上がるとか、ミスをすると下がるなど、数値が上下する条件は仁井谷さんがお考えになったのでしょうか?

仁井谷:そこはプログラマーの広野君が作りました。AIIの方も、「何か人工的、人工知能的が欲しい」と思って作った箇所が、まさにそこですよね。こっち(自機)が強くなったら、敵も強くなる。逆に弱くなったら、敵も弱くしようと。当時はゲームデザイナーと呼ばれるような人はまだ存在しない時代でしたから、自分でプログラムをしながらパラメーターも全部調整していたと思います。

——敵キャラクターの動きの制御方法についてお尋ねします。『ザナック』ではプレイヤーの操作の仕方に応じて、各敵キャラの行動パターンが変わるようなプログラムがしてあるのでしょうか?

仁井谷:基本的には、まず敵ごとに動きを1つずつ決めてあります。最初はタテに動いていて、ある距離まで自機に近付いたら自機のほうに向かって来るとか、そういう動きを最初に作っておいて、あとはプレイヤー、自機の直近の動きによって、例えば弾を撃つとか接近するとか逃げるとか、そういうパラメーターを微調整しながら作っています。つまり、ワンパターンにはしていないということですね。

——上手なプレイヤーが遊ぶと、より敵の攻撃が激しくなるプログラムも組み込んでいるのでしょうか?

仁井谷:細かい内容は覚えていないのですが、例えば5発撃つと倒せる敵が10発撃たないと倒せないようになるとか、あるいは敵が弾を出すタイミングを、最初は10サイクルで1回撃つところを2回にするとか、そういうことをAI的にやっていたのではないかと思います。

——『ザナック』以前のゲームでは、例えば『ゼビウス』(1983年、ナムコ)にもAI的な要素があったとされていますが、仁井谷さんも当時から『ゼビウス』の存在を意識していたのでしょうか?

仁井谷:『ゼビウス』の影響は当然受けましたが、我々自身がAIという言葉を初めて聞いたのが『ザナック』のときでしたから、AI的なことで影響を受けたということはなかったですね。先程もお話したように、自機と敵との距離などのパラメーターによって、いろいろ変えながら作ることは以前からやっていましたし、それをAIと言えばAIなのかもしれませんが、ある意味それは普通のことだと思いますね。

敵が自機に近付くようにする距離を、X座標で10にするのかゼロにするのか、それともマイナス10にするのか、そのパラメーターを微妙に変えることでプレイヤーが面白く見えるようにできますので、AI的なことというのは、おそらくこういうことなんだろうなと思います。

ゲーム開始直後の場面。サブウェポンのフィールドシャッター(バリア)を装備すると、ほかの装備のときには出てこない強力な敵が出現するプログラムも組み込まれている

——MSX版において、ALCの数値をあえて明示した意図は何だったのですか?

仁井谷:RPGで、レベルを表示するのと同じようなことだと思います。コンパイルで5年、10年とゲームを作る仕事を続けてきたなかで、RPGでもそれに近いことを伝統的にやっていましたので。今、自分のレベルがいくつで、敵のレベルがいくつなのかが見えると、ゲームとして分かりやすくなりますしね。ちょっと記憶が定かではないのですが、まあそんな形だった気がします。それと、プログラマーの広野君は、自分で考えたことは何でもプレイヤーに見せようというタイプでしたからね。

今、改めて見てもカッコイイですよねコレ。AIをコンセプトにするだなんて、10年も20年も早かったんじゃないかなあと(笑)

社外からも注目、評価を受けた『ザナック』のAIプログラム

——『ザナック』でAIのプログラムを作ったことによって、その後のゲーム開発にも大いに役立ったのでしょうか?

仁井谷:AIだけではなくて、基本的なプログラムを作って持っておきたいという考え方がずっとあったんですよ。例えば、キャラクターが16方向に動くとか、あるいは360度に動くプログラムとか、色々なノウハウを集めた上で出来上がった、ベースとなるプログラムをコンパイルではずっと持ち続けていました。つまり、基本のプログラムが伝統として代々つながっていたわけですね。ゲームの基本的な作り方となるプログラムは、まずは藤島(聡)君というプログラマーが作ったものがベースにあって、それをずっとコンパイル社内で培っていきながらゲームを作っていましたね。

例えば、当時のRPGのキャラクターとかって、カクカクしながら4方向しか動かないですよね? でも、『ザナック』には、実際にはただデータを持っているだけなのですが、キャラクターが16方向とか、360度動くプログラムをしてあるんです。もし360度動かそうと思ったら、X方向もY方向も、ナナメにも同じ距離を動かないといけないわけです。もしタテとヨコを1ずつ動かしたとすると、ナナメの距離が1よりも長くなっちゃうじゃないですか? ですから、そうならないように360度で同じ距離を動くようなデータを持つプログラムとかを作っていました。

そうすると、見た目に不自然さがなくなるわけですね。当時のほかのシューティングゲームは、タテ、ヨコ、ナナメに動く長さがよく違っていたりしたのですが、それだと気持ちが悪いんですよ。でも、このゲームは360度同じように動くよう工夫してあるから、遊んでいてとても気持ちがいいんですね。

——『ザナック』の発売後、ユーザーやゲーム業界での評判はいかがでしたか?

仁井谷:ゲーム業界でも、すごく反響がありましたね。特に、アーケードゲームを作っていたメーカーが『ザナック』のAIに注目するようになって、AI以外にもいろいろなプログラムの研究をされたと聞いています。グラフィックはそんなに大したことはなかったのですが、AIなどの斬新さがあったということで、注目されたようですね。『ザナック』以前は、難易度とかは『ゼビウス』のような作り方をするのが普通だったと思うんですよね。『ゼビウス』では、敵の出現テーブルを作ったうえでどの敵を出すのかを決めていたと思いますが、我々のほうでも『ザナック』以外のゲームにもテーブルは作っていました。

もともと、我々は『ゼビウス』をすごくリスペクトしていて、「『ゼビウス』を超えるようなゲームを作りたいな」という気持ちが何となくですがありました。じゃあ、どうすれば超えられるのかということで、AIを作ることと、それからマップをすごく長く作ることを考えました。ゲーム雑誌の攻略記事を見ると、たいていマップを全部載せていますよね? で、実はそれはちょっと悔しいなあと思ったので、長いマップを作ったんです。そうしたら、雑誌社のほうでは写真をすごく小さくして、結局マップを全部載せられちゃったのでガッカリしたこともありました……。そうそう、それと私のアイデアで、MSXでも背景を2重スクロールができるようにしたのも当時は驚かれましたね。

——AIという新たなプログラムを組み込んだことによって、例えばROMの容量を想像以上に使ってしまったとか、何か開発中に問題などは起きませんでしたか?

仁井谷:MSXですと、確かZ80だからマシン語を使いましたし、メモリに関しては頑張れば何とかなりましたね。メモリを小さくするというのは、昔は『ザナック』に限らず、毎回普通にやっていたことなので、AIを入れたからどうこうというのは特になかったですね。

——発売から34年近い年月が過ぎましたが、『ザナック』はどのようなところがユーザーに支持されたとお考えでしょうか? やはり、AIの導入が高評価を得た大きな要因になったと思われますか?

仁井谷:そうですね。評価をされたのは、まさにその部分だったと思います。AIによって敵の動き方が一辺倒ではなく、自分の成長に応じて出現頻度や強さがいろいろ変わったりするところに、新しさを感じてくれたんだろうなと。

実は、我々のなかでは『ザナック』に新しさがあったとは思っていなかったんです。これは『ぷよぷよ』(1991年、コンパイル)など、ほかのゲームを発売したときもそうでしたが、発売した後に遊ぶ側の皆さんからの反響があったことで、改めて考え直すんですよね。『ザナック』のときも、皆さんが「斬新だった」と言ってくださったことによって、「ああ、AIは斬新だったんだな」と思うようになりましたね。

(取材・文/鴫原盛之)

※MSX版『ザナック』1面のプレイ動画およびキャプチャ画像はプロジェクトEGG版を使用して収録しております。

このゲームはプロジェクトEGGで遊べます!
https://www.amusement-center.com/project/egg/

(C)2020 D4Enterprise Co.,Ltd.
(C)2020 MSX Licensing Corporation All Rights Reserved.
‘MSX’ is a trademark of the MSX Licensing Corporation.

RELATED ARTICLE関連記事

【GDC 2019】ジレンマを生成し人の心を動かすメタAI

2019.4.18ゲーム

【GDC 2019】ジレンマを生成し人の心を動かすメタAI

パックマンだけではない。GANを使ったゲーム開発事例を紹介

2020.6.26ゲーム

パックマンだけではない。GANを使ったゲーム開発事例を紹介

【GDC 2019】没入感の追求がたどり着く先は、自然言語処理によるAIとの対話

2019.4.17ゲーム

【GDC 2019】没入感の追求がたどり着く先は、自然言語処理によるAIとの対話

RANKING注目の記事はこちら