最近は、ジェネレーティブゲームについて色々と調べている。

ジェネレーティブゲームって何じゃ?というと、これは私の造語かもしれないが、ジェネレーティブAIを駆使して、ゲームのプレイ中に動的にコンテンツが生成されるゲームの事だ。
例えばゲームプレイ中にキャラクターのグラフィックをその場でAIが描いてくれるとか、キャラの台詞がその場で生成されるといった感じだ。
このような事は去年までは想像する事さえできなかったSFおとぎ話のようなもんだったが、ここ数ヶ月のジェネレーティブAIの進化で急激に現実味を帯びてきた。(私の中ではそうだけど、実は数年前からジェネレーティブAIに着目して色々やってる人達もいる)

前回の記事で、「ジェネレーティブAIはコンテンツの在り方を変えてしまうかもしれない」という話をした。

かいつまんで言うと、AIによってコンテンツの出てくる蛇口の場所が変わるという事だ。

今までは、クリエイターだけがコンテンツを生成できる事ができた。だから、我々消費者はクリエイター達が作ったアリモノのコンテンツから、なるべく自分の好みに合ったものを買って楽しむしか選択肢が無かった。

しかし、今ではAIがコンテンツを生成できる。とすると、小説、マンガ、アニメ、ゲームなどのコンテンツは既製品を買うのではなく、プレイヤーの手元で生成されるようになるのではないだろうか?それならば100%自分の好みに刺さる、プレイヤーごとにパーソナライズされたキャラクターをAIに描かせる事だってできるわけだ。

例えば、自分の家に専属ファッションデザイナーが来てくれて、いくらでも自分の思い通りにオーダーして服を作ってくれるとなれば、もはやわざわざユニクロに行ってアリモノの服を買う必要なんて無いだろう。

とにかく、今までは「クリエイターしかコンテンツが作れない」「コンテンツを作るのはスゴイ手間がかかる」という制約があったからコンテンツはこうなってるというだけで、ジェネレーティブAIがこれらの制約を外してしまったんだから、コンテンツの形だって変わるに違いないという話だ。

まあ、「将来的にはゲームは全てジェネレーティブゲームに置き換えられる!」とまでは言わない。
なんだかんだで既存のゲームの在り方は支持され続けるかもしれない。

必ずしも全てが理屈通りにはいかない可能性というのはあるものだ。例えば今では2万円台で優秀な3Dプリンタが買えるから、理屈から言えば人々はわざわざフィギュアとか買わなくても手元で3Dプリントすればいいハズだが、それでも現在なおフィギュアは売れている。

さて、前回の記事で、私は「AIアニメキャラを作りたい」というような目標を立てた。AIアニメキャラって具体的にはどういう事?という話はボカしたが、例えばそれはゲームの中でAIで制御されて自律的に行動するNPCのようなものなのかもしれないが、LLMなどについて色々調べていると、ただちにそれを実現するのはどうやら難しいらしい事が分かった。
たとえば、GPT-3のような言語AIでは、人間と見分けが付かないような対話をする事は可能だが、”感情”を持ったキャラクターを表現するのはまだ難しいらしい。

まあそのような問題もGPT-4がリリースされたら解決されるのかもしれないが、さしあたってはAIアニメキャラの前段階としてジェネレーティブなゲームを開発するのも面白いかもと考えている。

AIダンジョンとかの話

さて、ジェネレーティブゲームと呼べるものは、実は結構前からすでに存在している。

ジェネレーティブAI界隈でゲームといえばまず話題に上がるのが、「AIダンジョン」だ。

https://play.aidungeon.io/main/home

これがどういうモノかと言えば、日本語WikiのFAQを見れば分かるだろう。

https://wikiwiki.jp/ai_dungeon/FAQ

ちょっと引用させてもらうと、

Q.AI Dungeonって何? 

2019年12月頃にLatitudeが開発した、マルチテキストアドベンチャーゲームです。
ニューラルネットワークによる人工知能を搭載し、無制限にプレイヤーの記述に反応し、
ストーリーを生成します。

という感じだ。

実際の画面はこのような感じだ。(Google翻訳で翻訳した画面)

”言う”とか”する”、”見る”などの行動を選択してから、何をするのかをテキストで入力すると、ストーリーが進行する。

見た目だけで言うと、往年のテキストアドベンチャーゲームみたいに見える。
例えば元祖アドベンチャーゲームと言われる、「コロッサル・ケーブ・アドベンチャー」(1975年)はこういう感じだ。

私は遊んだことが無いが、このようなコマンド入力型のテキストアドベンチャーゲームは、あらかじめゲームクリエイターが指定した特定のワードを入力しないと決してストーリーが進行しない、結構イライラさせられるものだったらしい。(だからファミコンのアドベンチャーゲームはコマンド入力型じゃなくてコマンド選択型のモノが多い。とは言えそれはそれで、総当たりすれば解けちゃうからやりがいが薄いみたいな話もある)

コロッサル・ケーブ・アドベンチャーから50年近く経ち、AIダンジョンではどうなったか?というと、”何を入力しようが物語が進行する”ように進化したわけだ。

どういう事?というと、AIダンジョンではあらかじめゲーム側で用意された物語は存在しない。(ファンタジーとかゾンビサバイバルとか、あらかじめ用意されたテーマはあるけど)

プレイヤーが入力したテキストを見て、AIがその場で物語(続きの文章)を生成するのだ。

「すごすぎる!未来のゲームだ!どうしてそんな事が可能なんだろう!?」と驚かれるかもしれないが、仕組みとしては、裏側でファインチューニングされたGPT-3が走ってるだけだ。

GPT-3とは何か?というと、OpenAIが開発した大規模言語モデル(LLM)の一種だ。LLMとは何かというと…このブログでは詳しく触れた事は無いが、まあ要するにテキストを生成するAIなんだが、さしあたって詳しいところは解説動画などを参照して欲しい。

まあ厳密には、”AIダンジョンはGPT-3を使っていた”…過去形が正しい。

今となっては、AIダンジョンはOpenAIからの脱却を図っている。何故かというと、それは過去の文脈を語るハメになる。

https://aids.miraheze.org/wiki/Frequently_Asked_Questions

AIダンジョンのゴタゴタの歴史

GPT-3はパラメータ数が1750億(175B)もある、史上最強のLLMだ。かつて、AIダンジョンのユーザー達はGPT-3が生成するインテリジェントなストーリーを楽しんでいた。
唐突にグロ展開が来たり、好き勝手にエロ展開に持ち込めたりする自由度も好評だった。

だが、OpenAIは最強のAIを開発しつつも、AIが悪用される事を極端に恐れている組織でもある。AIダンジョンがGPT-3を使って無限に不適切な物語を生成してるのを良く思わなかったらしい。

ある日突然、AIダンジョンはコンテンツフィルターが実装されて、暴力的な表現やエロ表現が大幅にナーフ(規制)された。モデレーターがユーザーが生成した(恥ずかしい)物語を読んで検閲する事も始めた。

これにはユーザー達も心底ガッカリして、ユーザー離れが起きたらしい。
AIダンジョンから脱出したユーザー達の避難先として、今ではNovel AIとHolo AIとKobold AIが存在する。これらの3つの新サービスは、AIダンジョンの教訓を生かして、OpenAIのAIは使わないようにしている。最近はオープンソースでもGPT-3の代替モデルが増えてきているのだ。

まず、NovelAIは、月10ドルのタブレットプランでは、エウテルペ(Fairseq 13Bベース)、カリオペ(GPT-Neo 27Bベース)、シグルド(GPT-6B-Jベース)の3つのAIモデルが使用できる。月15ドルのスクロールプランでは、記憶トークン(AIが過去ログの文脈を覚えていられる量)が1028から2048に増える。月25ドルのオーパスプランでは、最高のAIモデルであるクラーケン(GPT-Neo-X 20Bベース)にアクセスできる。

NovelAIはその名前の通り、ゲームというより小説を生成できるサービスという事になっている。あまりにもAIダンジョンの丸パクリになる事を避けたのだろう。まあ、AIダンジョンは見た目のガワこそテキストアドベンチャーゲーム風だが、実際にはそこにはゲーム性のようなものは存在しない。実質小説を生成してるようなものだったから、NovelAIがゲームじゃなくて小説ですと言ってしまってるのはより実態に近いかもしれない。どっちみち、ほぼ同じようにプレイする事は可能である。

HoloAIでは、月8ドルのプランまでは、微調整されたGPT-6B-Jモデルが使える。月12ドルのプランでは、素のFairseq 13Bと、微調整されたGPT-NeoX 20Bが使える。

KoboldAIはサービスというより、オープンソースのダンジョンAI代替だ。色んなモデルが用意されてるが、自分のPC上でAIを動作させるので、性能がいいモデルを使いたければ、それだけ性能がいいPCが必要だ。まあ、クラウドのGoogleColabで無料で動作させる事もできる。

それでAIダンジョンは今はどうなってるのか?というと、かつてはグリフィン(GPT-3 Curieベース)とドラゴン(GPT-3 Davinciベース)のGPT-3ベースだったのが、それを脱却して、新グリフィン(GPT-J-6Bベース)、ワイバーン(GPT-NeoX-20Bベース)、新ドラゴン(AI21-Jurassic 178B)の3つのモデルを提供している。

新ドラゴンはGPT-3に匹敵する1780億パラメータを持っているものの、ユーザーからの評判はGPT-3の時よりも良くないそうだ。まあ、とにかくOpenAIを脱却できたおかげで、きつかった表現規制はかなり弱められているらしい。

私が思うに、コンテンツフィルターもイヤなら、GPT-3じゃなくなった事もイヤ!というAIダンジョンユーザー達は、OpenAIに行って素のGPT-3で遊ぶのが一番いいんじゃないかと思う。それならGPT-3だし、コンテンツフィルターも無しで遊べるじゃないか。GPT-3は以前は順番待ちですぐに触れない状況が続いていたが、最近は会員登録すればすぐ触れるようになった。

AIダンジョンのたのしみ方が分からない!?

さて、そんなAIダンジョンだが、私もちょっと触ってみた。だが、その時は何が面白いのかサーパリ分からなかった

AIは割と支離滅裂で一貫性が無い事ばかり言う。何故私がAIが適当に喋るタワゴトに付き合わされなきゃいけないんだろう?と思ってしまう。

なぜそうなってしまうのか?というと、LLMというのは入力した文章の続きをそれらしく生成してるだけで、AIが自分の言っている事を自分で理解して喋ってるわけではないのだ。
だから、平気で死んだはずのキャラが生き返ったり、カギがかかってたはずのドアを開けちゃったりする。LLMは今のところ、一貫したゲーム世界を生成する事はできない。

だから、なるべく話の一貫性を保つために、過去の文章ログをコンテキストとして入力文章と一緒に入力する事が行われる。こうすれば、AIは過去ログの流れを踏襲して続きを書いてくれるから、破綻する事は減るが、とは言え入力できるログの量はたかが知れてるから、長期的にはストーリーの一貫性を保てない。

また、生成されるストーリーの品質はAIの知能に大きく左右される。AIダンジョンでタダで遊べるグリフィンモデルでは性能が低すぎるのかもしれない。これだとむしろストーリーのメチャクチャっぷりを笑うような遊び方になってしまいそうだが、GPT-3だった頃は本当に迫真のストーリーを生成してくれていたらしい。

私は自分の遊び方が何か間違ってるのでは?と思い、YoutubeでAIダンジョン実況動画を観て遊び方を学ぶことにした。

例えばvTuberの尾丸ポルカ氏もAIダンジョンを実況している。↓

これを観ていると、ポルカ氏も私と同様に、AIダンジョンをマジメにアドベンチャーゲームとしてプレイしようとしちゃって、AIが生成する支離滅裂な世界に振り回されてしまってるという感じだ。それに加えて機械翻訳が謎翻訳してしまうせいで混乱が加速している。

他の人の実況も見てみよう。

のばまん氏のプレイでは、主人公は魔法使いで、まず王様の所に会いに行くんだが、そこでいきなり王様を空手で絞め殺した挙句、マリオとルイージを召喚してマリオの背中にC4爆弾を括り付けて爆殺するというメチャクチャな事をやっている。

要するに、AIの支離滅裂さに苦しめられるよりも先に、こちらがAIに無茶振りしまくって、どんな続きを書いてくれるかを楽しんでるわけだ。こういう遊び方もあるわけね。

のばまん氏はAIのべりすとでも同じような遊び方をしている。

AIが何を言ってきてもひたすら地球に隕石を激突させて、AIが続きをどうするのか試す遊びだ。

まあのばまん氏のプレイは動画としてみてる分には面白いけど、これが正しいプレイの仕方かというと違うような…。

AIのべりすとと言えば、オモコロチャンネルでも題材としてよくAIのべりすとが用いられている。(ダヴィンチ恐山氏がAIにハマッてるから)

私はぶっちゃけこれらの動画を観て死ぬほど笑ってしまった。

だが、これらの動画でのAIの面白がり方というのは、生成する文章がトチ狂ってて、人間には絶対こんなん書けないだろという意味で面白いという感じであって、実用面でのクオリティがすごいみたいな文脈では無さそうだ。

もっとこう…誰かちゃんとした遊び方を教えてくれないか…。

そんななか、あぶぶ氏はAIダンジョンを死ぬほどやり倒したらしい。

そして、あぶぶ氏はAIダンジョンやNovelAI、AIのべりすとのプレイ記録を”リプレイ”として残してくれている。↓

https://www.pixiv.net/novel/series/7769267

”リプレイ”という表現からも分かるが、あぶぶ氏はAIダンジョンを「ひとりTRPG」のようなものとして捉えてるらしい。例えばこのように書かれている。

AIダンジョンを通じてGPT-3を触った感想としては、やはりまだ拙い部分は多いですが、しかし大抵の場合は文脈からかなり精密に状況を把握し、登場人物の心理状態や身体的状態、例えば所持品だったり武装だったりを理解し、他の登場人物との相対関係すら考慮した上で、適切な文章を生成している印象を受けます。更に精度を高める為にAIダンジョンが用意しているオプション設定を私は半分ほどしか使いこなせていませんが、それでも「一人TRPGもどき」としての実用性はかなり高いように感じます。

https://www.pixiv.net/novel/show.php?id=15932690

TRPGと言えば、私は自分ではやった事は無いが、ニコニコでクトゥルフTRPGのリプレイ動画をいくつか観たりした事がある。

TRPGでは、プレイヤーとゲームマスターが協力して、一緒にゲームの物語を紡いでいこう!という態度が重要に思う。

あぶぶ氏のリプレイを読んでいると、まさにAIをゲームマスターに見立てて、二人三脚で物語を紡いでいこう!という態度でプレイしている事が伝わってくる。

例えば、アライさんマンション(あぶぶ氏のけものフレンズ二次創作)をAIダンジョンで再現したリプレイがある。↓

この中で、あぶぶ氏は”かばんさん”の存在に言及する。

すると、AIは「かばんさんは同じ学校の男の子と付き合ってるらしい」とか言い出した。まあAIはけものフレンズ観た事無いだろうし、かばんさんのキャラがどんなか知らないだろうから無理もないが、はなはだ解釈違いである。

私だったら、「はあ?かばんさんが男と付き合ってるわけねえだろうが!あーもうシラケた!終わりだわ!」と言って投げてしまいそうなところだが、あぶぶ氏はここで「かばんさんは男に興味ないはずでは?」とAIの発言を嗜めて誘導している。

AIの知能にもよるが、賢いAIならちゃんとプレイヤーの発言を汲み取って流れを修正してくれるようだ。

このようにしてAIを誘導していく事で、自分の理想通りの物語に導いていくという遊び方をあぶぶ氏はやっているらしい。素晴らしい。

こうして見ると、AIダンジョンは普通のゲームと同じ感覚で、受け身な態度でプレイしても楽しめないらしい事が分かる。プレイヤーは全てがアドリブの劇の観客でありながら、また同時に舞台の上の主役でもあり、劇が成功するかどうかの責任も負っているわけだ。

ジェネレーティブゲームはビデオゲームのビジネスモデルを破壊する!?

AIダンジョンのようなジェネレーティブゲームでは、プレイヤーの目の前で世界が生成されている
こういう言い方をすると、「なにを大げさな…世界を生成してるちゅうか、文章を生成してるだけじゃん」と思われるかもしれない。だが、じきに画像AIでグラフィックスも目の前で生成してくれるようになるし、音楽や3Dモデルが生成されるようになる日も近いとなれば、どうだろうか?

以前、このブログでダニエルクック氏の「ループとアーク」について記事を書いた。

ビデオゲームには、ループとアークの二つの要素があるという話だ。

例えば、囲碁や将棋やオセロは、何回でも繰り返し遊べる。つまりループである。これらのゲームは一度買えば一生遊べてしまう。

それに対して、小説、漫画、映画などの物語は、アークだ。基本的には一回読んだらもう繰り返す必要はない。何回読んでもストーリーは変わらないからだ。

ビデオゲーム業界の歴史では、RPGやアドベンチャーなどの、アーク寄りのゲームが売れまくった。というのは、ループ寄りのゲーム…たとえばテトリスは、一度買えばずーっと遊べてしまうから、買い直す必要が無いから、あんまし売れないわけだ。
一方で、RPGのようなストーリー重視のゲームでは、ユーザーは繰り返しプレイしようとは思わず、それよりも「続きをやらせてくれ!」と求める。ゲーム会社は毎年アークを差し替えたゲームを売って、大儲け、というわけだ。

ビデオゲーム業界ではこのような商売の仕方がずっとまかり通ってきた。ユーザーは、新しい世界で冒険するたびに、新しいゲームを買う必要があった。

だが、ジェネレーティブゲームではどうだろうか?AIダンジョンでは、プレイするたびに新しい世界、新しいアークが生成されるではないか。イチイチ新しいゲームを買わなくても、これだけで無限の世界を冒険できてしまう。(まあAIダンジョンはサブスク料金を払い続ける必要があるが)

と言う事は、優秀なジェネレーティブゲームが一つあれば、もはやそれだけでいい。他のゲームなんて必要無くなるって事になる。

と言う事は、ジェネレーティブゲームによって、ビデオゲーム以前の囲碁や将棋のごとく、一度それを買えば一生それだけで遊べる時代に戻ってしまうかもしれない。そうなったら今までのビデオゲームビジネスは崩壊してしまうかもしれない。

とはいえ、これは理屈の上での話であって、実際にゲームユーザー達がどれくらいジェネレーティブゲームを受け入れるかは未知数だ。何だかんだ言って、今まで通りにゲーム会社が用意したキャラクターやアークを楽しむ人も多いかもしれない。

ジェネレーティブゲームじゃなくとも、既存のゲームでもユーザー達が自分でゲームを改造してたのしむMod文化があったし、TRPGにおいても、売られてるシナリオだけじゃなくて、ユーザーが自分でシナリオを書いて遊ぶ文化もある。

とは言え、Modを作るのは実質的にゲームを作るのと同様の技術と労力が必要だったし、TRPGのシナリオを作るのも大変な労力を要する。
だがこれからは、ジェネレーティブAIによって、Mod制作やシナリオ制作の労力は劇的に軽くなるだろう。

こうなると、あらゆるゲームが事実上、ユーザーの手元で生成されるジェネレーティブゲーム化していくとも言える。

いずれにせよ、ゲーム会社が用意したアリモノのデザイン、アリモノのストーリーから選ぶしか無かった状況では無くなってきたという事だ。ユーザーは自分の好みでオーダーメイドしたデザイン、ストーリーを生成できるようになるのだから。

昨今のビデオゲームの開発費は鬼のように高騰してゲーム会社を苦しめている。
だが、AIダンジョンを一種のビデオゲームとして捉えた場合、いったいどれほどの開発費がかかったというのか?旧バージョンのAIダンジョンはGPT-3を叩いてるだけ(まあ多少のファインチューニングはされたものの)で、用意したのは黒いコンソール風画面だけである。

キャラグラフィックスも、3Dモデルも、音楽、効果音、エフェクト、シナリオ、複雑なプログラム、ゲームの開発コストの諸々が一切かかってない。
それでも、AIダンジョンで遊んでる人は世界中に一杯いる。こんな風に上手く行けば開発コストが無いも同然にできるのも、ジェネレーティブゲームの恐ろしいところだ。

AIダンジョンはゲームじゃない!?

AIダンジョンをプレイする時のスタンスも分かってきたところで、ところでこれって結局ゲームなのか?という話に移りたい。

以前のブログ記事で、「ビデオゲームの美学」と言う本について書いた。

「ビデオゲームの美学」によれば、ビデオゲームはフィクション世界とゲームメカニクス世界が重ね合わされたものであり、インタラクティブなフィクションという側面もあるが、ルール(ゲームの目標と、それを達成するための手段(ゲームメカニクス))も用意されている。

AIダンジョンについて見れば、インタラクティブなフィクションである事は間違いない。プレイヤーの入力によって物語に介入できる。それどころか、その場で物語が生成されるわけだから、究極のインタラクティブフィクションと言っていいだろう。

だが、ルールがあるか?と言われると、ゲームの目標も無いし、ゲームメカニクスも存在しない。つまり、ルールは無い

オセロや囲碁は、よく純粋なゲームだと言われるが、そこにはルールだけが存在して、フィクション性のようなものは無い。AIダンジョンとは対照的だ。

AIダンジョンにはルールが無いという意味で、AIダンジョンはゲームでは無いと言える。

せっかくならもっとこう…たとえばRPGみたいにヒットポイントやLVとかのステータスを持たせれば、ゲーム性が生まれるんじゃないか?と言う事を考える。

だがここで、AI(LLM)は自分が書いている文章の意味を理解してるわけじゃないという問題が浮かび上がってくる。
たとえばAIは「プレイヤーはモンスターの攻撃で重傷を負った!」という文章を書くかもしれない。だが、「じゃあプレイヤーは20ダメージ受けたって事にしよう」と判定できるわけではない。
だったら、プログラム側で「ダメージを負った」って文章を見つけたらHPを減らすって処理を書いておけばいいのでは?と思うかもしれないが、AIは必ずしもこちらが想定した表現で書いてくれるとは限らない。「指が千切れた」とか「足が吹き飛んだ」と言うような場合でもHPを減らすべきだろうが、こんな風に文章でのダメージ表現のパターンを一つずつ羅列していってもキリが無い。

そんなわけで、LLMとゲームメカニクスを繋ぎこむ手段が普通に考えても全然思いつかない。
だから、AIダンジョンにゲーム性を持たせよう!なんて言ったところでなかなか難しいわけだ。

もしもそのような事が達成できるとしたら、それは次世代型ジェネレーティブゲームとでも呼ぶべきパラダイムと言えるだろう。

グラフィックスがジェネレーティブなゲーム!?

次に、グラフィックスについても考えてみよう。

AIダンジョンは、味気ない黒いコンソール風の画面だけで、グラフィックスが一切存在しない。まあ、文章オンリーだからこそ、ありとあらゆる世界を生成して楽しむ事ができるとも言える。

あらかじめ用意されたグラフィックスがあると、それはそれで世界観がそのグラフィックスに固定されてしまう問題が生じるだろう。でも、画像AIを使ってグラフィックスも文章通りに生成できるとしたらどうだろうか?

実は、AIダンジョンでは”見る”コマンドを使うと、こんな感じでグラフィックスを生成させることが可能だ。

なんか…解像度が低いドット絵みたいな感じで、何を描いてるのかイマイチ分かりにくい。

どうしてこんななのか?想像だが、まず解像度が低い方がサーバの画像生成の処理負荷が小さくて助かるだろう。そして、ある程度抽象的な方がむしろ良いのかもしれない。というのも、Stable Diffusion(SD)のような画像AIは解像度は高いものの、割と失敗した絵を描いてしまう事も多い。

人体が完全崩壊したような、グロ絵みたいなものもよく描いてしまう。制作の補助として使ってるクリエイターならそれでもかまわないかもしれないが、AIダンジョンのような、一般ゲームプレイヤーに対してやたらグロ絵が表示されたらクレームが殺到するだろう。

ご存知の通り、NovelAIやAIのべりすとにも、それぞれSDを高度にファインチューニングした画像AI生成サービスが用意されている。

その狙いは、やはりAIダンジョンみたいな遊び方をしてる時にグラフィックスも生成してくれたら相当面白い体験になりそうだ、という点だろう。

実際、NovelAI Diffusionでは、とにかくなるべく崩れた絵を出さない事や、一貫性を持ったキャラを描いてくれる事に拘って開発が行われている。画像AIが絶対に崩れない絵を描いてくれるようになれば、一般ユーザーに対してもその場でグラフィックスが生成される小説やらゲームやらをお出しできるようになるだろう。

ところで、グラフィックスがその場でAI生成されるタイプのジェネレーティブゲームは既に存在している。

まず、Arrowmancerというスマホゲームが今年の2月にリリースされている。

https://www.arrowmancer.com/

このゲームでは、キャラクターの合成時に、実際に2体のキャラクターを混ぜ合わせた新しいキャラのグラフィックスをその場で生成してくれるらしい。そうやって、自分の好みのキャラを合成させていけば最終的には自分の理想の見た目のキャラが育成できるわけだ。

ちなみに、このゲームの開発元は、元々WaifuLabsというアニメキャラの画像AIアプリを数年前から配信していた、筋金入りのAI野郎らしい。

他にも、PreferredNetworksによる、ミームズという、AIキャラを育成するゲーム?みたいなアプリも最近リリースされた。

https://memes.crypko.ai/

これまた、ミームズ同士で合体する時に、2体のミームズを混ぜ合わせた新しいキャラクターをAI生成してくれる。

ただし、生成されるのは頭だけのようだ。服装については課金で買う感じらしい。

ミームズがすごいのは、AI生成したキャラクターの顔の表情がアニメーションするところだ。つまり、Live2Dのテクスチャが生成されているような作りらしい。

とまあ、こんなわけで、グラフィックスがジェネレーティブなゲームもどんどん増えてきている。

ちなみに、AIに頼らない、人力ジェネレーティブなゲームも存在する。

このSketch Crawlerというゲームでは、新しい敵、NPC、アイテムに出会うたびに、それらのグラフィックスを自分で描く事ができる(お絵描きツールが内蔵されている)。いや、描く事ができるというより、強制的に描かされるのだ。

このゲームは現在無料で配信されてるが、面白いのが、課金すると自力でお絵描きしないでデフォルト絵で済ませる権利を買えるらしい。こんなメチャクチャなマネタイズは見た事が無い。

次世代のジェネレーティブゲーム、AIローグライト

さあ、今までのクソ長い話は前置きに過ぎない。
ここまでの話をまとめると、①第1世代のジェネレーティブゲーム、AIダンジョンというものがある ②AIダンジョンは一人TRPGみたいなものとして遊べば楽しめるが、ゲーム性が無いのが惜しい ③ゲーム性を持たせたいけど、LLMとゲームメカニクスを繋ぎこむ方法が分からない。それができたら次世代型ジェネレーティブゲームだろう

実は、次世代型のジェネレーティブゲームは既に存在するのだ。

それは、AIローグライトである。Steamで3月にリリースされて、現在も活発にアップデートが行われている。

https://store.steampowered.com/app/1889620/AI_Roguelite/

このゲームは、ご覧の通り、プレイヤーキャラ、敵、NPC、風景などの全てのグラフィックスが画像AIによってその場で生成されている!画像AIはwonbo.aiという無料のAPIを叩くか、あるいはGPUに余裕があればローカルでStable Diffusionを実行して生成させる事も選択できる。

ストーリーはAIダンジョンと同様に、LLMが生成するテキストによって進行する。LLMはローカルで実行させて生成させるか、クラウドで実行させて生成させるか、あるいはNovelAIと連携して生成させるかを選択できる。ローカルのLLMはKoboldAIのモデルが複数用意されている。主な違いはパラメータ数だ。6B、2.7B、1.3B、125Mから選べて、パラメータ数が多いほどVRAM消費も多くなる。

だが、それだけではない。このAIローグライトは、LLMが生成するテキストによってストーリーが進行すると同時に、ローグライト風のゲームシステムを持っていて、主人公のヒットポイントだとか、マップやインベントリ、アイテム、NPCや敵と言った要素がゲームメカニクス上に明確に存在する。AIダンジョンでは全く不可能だった、LLMとゲームメカニクスとの繋ぎこみが出来ているわけだ!
これぞまさに次世代型ジェネレーティブゲーム!未来からやってきたような先進的なゲームだ。

開発者のMax Loh氏は、Redditにてこのゲームを作った狙いを語っている。

https://www.reddit.com/r/airoguelite/comments/t49ihq/why_i_made_this_game/

Max氏は、AIダンジョンをプレイして、面白かったものの、「これは単なるストーリー生成器に過ぎず、ゲームじゃないじゃん。」と私と同じような事を思ったらしい。
そして、もしもこれにちゃんとルールがあって、アイテムやインベントリがあったらどうなるだろう?と考えた。AIが生成するストーリーと普通のゲームのゲーム性をミックスしたら面白いんじゃないか?

Max氏はさっそくGPT-3を使って色々と試してみた。たとえば、こんなプロンプトを入力してみた。「主人公は、芋虫を使って鍵のかかった宝箱を開けようとしました。」
普通のRPGだったら、宝箱に対して芋虫を使ったところで「だが何も起きなかった」と言われるのがオチだ。

だが、GPT-3は「芋虫は這い回り始め、やがて鍵穴の中に消えていきます。宝箱が開く。」というテキストを出力した。Max氏は「おおっ!それっぽいやん!」と感動した。

ここで問題になるのは、テキストの上では宝箱が開いたけど、ゲームメカニクス上では宝箱が開いたか開かないかをどうやって判定すればいいのか?という点だ。
そこで、Max氏は「宝箱は開きましたか?」というプロンプトを付け足して、再びGPT-3に入力すればいいと考えた。このように訊けば、GPT-3は”はい”か”いいえ”で答えてくれるはずだ。”はい”だったらゲームメカニクス上でも宝箱が開いた処理をすればいいわけだ。Max氏がテストしたところでは、かなりの確率でGPT-3は正しく回答する事ができた。

というわけだが、実際にはGPT-3を使うのはコストが高すぎるから、現時点では性能が劣るもののローカルPC上で動作するKobold AIのモデルを使用してるわけだ。
AIローグライトの基本的なアイデアはこんな感じだった。

だが、これだけでは分からない事が多い。例えば、私はプレイ中に”ガソリン”という敵と戦闘になったが、主人公が敵に攻撃すると、

「あなたは素手でガソリンを攻撃します。今度はその肩にしがみつくことができました。すると、ガソリーヌはあなたを引き寄せようとします。突然、あなたは後ろへ引っ張られました。あなたはこの新しい感覚に抵抗しようとしましたが、あまりに重く、腕も足も使い物になりません。あなたはガスがあなたの喉を焼くので、悲鳴をあげます。」

というようなテキストが生成されるのだが、このテキストから、どうやって敵がダメージを受けたかどうかを判定すればいいのか?結局攻撃は成功したのか?失敗したのか?(まあテキストを読む限りは逆にこっちがダメージ受けてそうだけど)

この判定アルゴリズムについては、デバッグログを眺めていると何となく分かってくる。(ゲーム中にチルダキーを押すとデバッグログが表示できる)

ゲームシステムは、敵のダメージ判定を行うために、上のテキストに続いて「ガソリンは○○なった」というテキストを加えてAIに入力する。そしてその次に来る単語をたとえば100回生成してみる。

そのうち15回、”ダメージ”という単語があったとする。例えば10回以上”ダメージ”という単語があれば、敵(ガソリン)はダメージを受けた。とゲームメカニクス上で判定する…みたいな感じだ。

なるほど、このようにしてLLMとゲームメカニクスを繋ぎこんでいるのか…と大変参考にはなるものの、どうしてこんな回りくどい事をやってるのか不思議に思わないだろうか?

別に戦闘なんて普通のRPGと同じように、「プレイヤーの攻撃は80%の確率で敵にヒットする」とかでいいじゃん!と思わなくもない。

だが、Max氏はLLMの持つ、文脈に沿ったテキストを生成する能力ををゲームメカニクスにも生かしたいという狙いがあるのだ。

例えば、人間同士でTRPGを遊ぶ時の事を考えてみよう。幽霊の敵に対して、プレイヤーが素手で殴りかかろうとする。ゲームマスターは、「幽霊を物理的に殴っても効かないよ」と常識に沿ってアドリブで判断できる。

LLMを使えば似たような事は可能である。

例えば、”木の精霊”という敵が出てきたとする。この敵に対して”ファイアボルト”の魔法を使うと、木属性に対して火の魔法を使うのだから、効きそうな気がする。だが、AIローグライトではそういう属性システムがゲームメカニクスとして用意されてるわけじゃない。というのも、魔法でさえゲームプレイ中にその場で生成されるから、あらかじめ設定しておくことはできない。

だが、LLMは文脈に沿ってテキストを生成してくれるから、「主人公はファイアボルトで木の精霊を攻撃した。木の精霊はどうなった?」というプロンプトが入力されたら、”死んだ(dead)”と返す確率が高いから、即死させれる…というわけだ。

こちらに、有志の方が書いてくれたAIローグライトのプレイガイドがある。↓

https://steamcommunity.com/sharedfiles/filedetails/?id=2854291763

主人公の説明欄に書く事は気を付けた方がいいそうである。例えば、迂闊に「種族は人狼」なんて書いちゃうと、敵が”人狼ハンター”だったりしたら即死させられる可能性が高い…というわけだ。面白い!

他にも例を挙げよう。例えばガソリンという敵を倒した時に、この敵がドロップするアイテムの名前をどうやって決めようか?
そのために、こんなプロンプトを入力する。

「マッドサイエンティスト:白衣を着た眼鏡をかけた鼻の長い男。
マッドサイエンティストのアイテム:試験管、研究ノート、古い白衣。

巨大なネズミ:人間と同じくらいの重さのネズミで、長い牙を2本持っている
巨大なネズミのアイテム:肝臓、歯の欠片、ネズミの毛

好戦的なホームレス:茶色の髭を生やし、白いカツラを頭に巻いているため、少しばかりクレイジーに見える。サングラスをかけ、レザージャケットの下には、切断したライフルを肩から下げ、両手には小さなナイフをつけ、食料と水の入ったバッグを持っています。
好戦的なホームレスのアイテム:サングラス、ボロボロのジャケット、ウィスキーの空き瓶。

ガソリン あなたは誰もいないガレージにいることに気づきました。ガソリンの匂いで吐きそうになる。窓から差し込む光は赤い炎の輪だけで、人の気配がないことに気づきます。
ガソリンのアイテム:」

これを入力すれば、AIはガソリンがドロップするアイテム名を返してくれる。
マッドサイエンティストとか巨大なネズミがどうたらというのは、いくつか例を示すFew-Shotというテクだ。

例えば、早押しクイズの出題では、「日本で一番高い山は富士山ですが…では2番目に高い山はなんというでしょう?」みたいな感じで、問題の前に最初に例を示す事が多い。
AIも同様に、最初にいくつか例を示してあげる事で回答の精度が上がる事が分かっている。

ちなみにこの時に生成されたガソリンのアイテムは、”フレイムガン”と、”ノコギリの付いたショットガン”だった。

この次は”フレイムガン”がどういうアイテムなのか判定する必要がある。
そのためには、「使い方:フレイムガンは」とか、「装備の仕方:フレイムガンは」とかのプロンプトを入力して、次の単語の確率からそれが武器なのか、防具なのか、消耗アイテムなのかを判断する…という事をしている。「フレイムガンは武器である」と返ってくる確率が高ければ武器だと判定される。

とまあ、こんな感じでLLMによるストーリー生成とゲームメカニクスの繋ぎこみを実現しているわけだ。
相当画期的で先進的なシステムだと思うのだが、その凄さが伝わっただろうか?

まあ、凄い事はスゴイのだが、だからと言ってこれがゲームとして面白いか?と言われると、それはまた別の話…。正直言って、結局ストーリーや判定は割と支離滅裂である。
とは言え、次世代型ジェネレーティブゲームのポテンシャルの高さは十分に伝わってくるハズだ。

ちなみに、英語でしかプレイできないので、英語が読めない人はPCOTというゲーム翻訳ツールの使用をオススメする。これを使うとゲーム画面からのテキスト読み取りと日本語翻訳を行ってくれる。

また、AIローグライトはUnityゲームエンジンで作られている。だが、果たしてどうやってUnityからStable DiffusionやKobold AIを呼び出しているのだろうか?

これはゲームのフォルダをちょっと眺めた感じでは、PyInstallerを使ってpython環境をパッケージ化してゲームと一緒に配布可能な形にしているようだ。

ちなみに、UnityからStable Diffusionをランタイムで呼び出すサンプルとして、AIImagesというプロジェクトが公開されていて、参考になる。こちらではPyInstallerではなく、conda packを使ってパッケージ化しているらしい。

https://github.com/GothaB/aiimages

https://github.com/invoke-ai/InvokeAI/discussions/264

スクエニが研究している、AIを活用した次世代型テキストアドベンチャーゲーム!?

スクエニが研究中の「NLPアドベンチャー」も、LLMとゲームメカニクスを繋ぎこんでるという意味で、次世代型ジェネレーティブゲームのようだ。

これはまだ研究中のデモらしいが、ゲームの見た目は上でも挙げたような古き良きテキスト入力型のアドベンチャーゲームに見える。

実際のプレイ感もテキスト入力アドベンチャーゲームそのものだ。ちょっと違うのは、LINEみたいな感じで相棒キャラと会話する形で進めていく形だが。

あらかじめゲーム側で用意された正解のワードを入力すれば進行できるというシステムも、テキスト入力アドベンチャーゲームと同様だが、だがここに大きな違いがある。

昔のアドベンチャーゲームは、正解の文章と完全に一致するワードを入力しないと先に進めなかった。だが、このデモでは正解ワードと同様の意味を入力すれば完全一致させる必要はない。

つまり、プレイヤーが入力した文章と、正解の文章が同じ意味かどうかをAIが判断できるのだ。これは、もはやAIが文章の意味を理解しているようなものではないだろうか?

仕組みとしては簡単で、まず、正解の文章と入力された文章を、テキストエンコーダにかけて、ベクトルに変換する。
あとは、これらのベクトルの類似度を計算する。2つのベクトルが一致しているほど、同じ意味の文章だと判断できるわけだ。こうして言われてみれば当たり前の事だが、これはすごい。

また、昔のアドベンチャーゲームでは、不正解のワードだと「だが、何も起こらなかった」みたいな返ししかされなくて、イライラさせられたが、このデモでは不正解ワードの時は、チャットボットみたいなLLMが雑談的な文脈にあった自然な台詞を返してくれるので、ゲーム体験は飛躍的に向上している。

この研究では、AIが文章の意味を理解できる事に近づく事ができていると思う。

別の研究だが、こういう研究も行われている。↓

ジェネレーティブAIを使った文書検索システムが既存の検索システムを打ち負かしたという論文だ。

例えば「血糖値を下げる食品」で検索するとする。
検索システムは「シナモンを食べると血糖値が下がる」という文書を発見する。
AIは検索ワードと文書を混ぜ合わせて「シナモンは血糖値を下げますか?」という疑問を”生成”する。
あとはこの生成した疑問と文書をテキストエンコーダに突っ込んで類似度が高ければ検索結果に返すわけだ。

つまり、これもスクエニの研究と同様に、AIが検索ワードの意味をほぼ理解したも同然の挙動を示しつつある。

おわり

今回の記事では、ジェネレーティブゲームの現状とこれからについて書いた。
まず、AIダンジョンなどのゲーム性のない第一世代のジェネレーティブゲームについて説明した。
それから、AIローグライトのような、LLMとゲームメカニクスが繋ぎ込まれた、次世代型ジェネレーティブゲームについて説明した。

つまり、これからのジェネレーティブゲームは、ますますLLMとゲームメカニクスの連携が進み、また、AIがプレイヤーの言ってる事や自分の言ってる事の意味を理解していく流れになるようだ。

この流れが進めば、例えばRPGのなかのNPCが、本当にその世界の中で生きてるように自律的に振舞うようになる日も遠くないだろう。

そうしてみると、当初の目論見通り、ジェネレーティブゲームの研究を進めていけば、やがてはAIアニメキャラの実現に近づけるのではないかと感じている。