
ゲームマップの自動生成システムについて教えてください。

「ゲームマップの自動生成」は、特にインディー系のゲーム開発者にとって魅力的な技術で、少ないリソースで広大かつ独自性のあるゲーム世界を生み出せるという利点があります。
前編と後編に分かれる今回の記事は、個人または少人数でゲームを作って発表したいと考えているインディーゲームデベロッパーの人や、ゲームファンに向けた特集で、テーマは「ゲームマップの自動生成システム」です。

「プロシージャル生成」という名前で呼ばれることもあるこの技術は、「Minecraft」(外部リンク)などの世界的に有名なゲーム作品で用いられていることでも有名なシステムで、文字通り自動的にマップが生み出されます。
記事の前編では、ゲームマップを自動生成する仕組みとその利点・課題についてAIと一緒に考察し、記事の後編では「AI」が関与することで広がるゲームマップ自動生成の未来へと迫っていきます。

それでは早速見ていきましょう!
ゲームマップが自動生成される仕組みと利点・課題をAIと一緒に考察
「プロシージャル生成」の仕組み

プロシージャル生成とは、あらかじめ決められたルールやアルゴリズムに基づいて、自動的にゲーム内のマップやアイテム、敵の配置などが生成される技術です。
ゲームマップを生み出す方法は、人間が手動でマップのレイアウトを設計しながら、そこに様々なオブジェクト(木や家など)を配置していく昔ながらのやり方と、プログラムの自動生成に任せる手法の2種類に別れます。

「プロシージャル生成(自動生成)」とは、プログラムが「ランダム性」を発揮しながらマップに関するデータを生成していく方法を指す言葉で、毎回異なるレイアウトの内容が出力・提供されるという特徴を持ちます。
このプロシージャル生成機能は、マップの地形だけではなく、そこに登場するアイテムや敵キャラクターもすべてランダムに配置することができるため、ゲーム開発にかかる時間とコストを大幅に短縮できます。

ゲームの内容と自動生成の仕組みが合致すれば、リプレイ性が高まりますね。
プロシージャル生成の基本構造

プロシージャル生成のマップは、基本的に「シード値」と「アルゴリズム」によって構成されます。

「シード値」と「アルゴリズム」
「シード値」は、ゲームマップを生成する際にベースとなる値で、同じシード値を使用すると、何度マップを生成しても同じ結果が生まれます。この値を変更することで、ランダムなマップ構造が生まれるのです。
「アルゴリズム」は、マップ生成を決めるルールのことで、このルールを元に異なる構造を持つマップが作れる仕組みです。よく使われるアルゴリズムには「パーリンノイズ」「ボロノイ図」「セルオートマトン」があります。
パーリンノイズ・ボロノイ図・セルオートマトン
「パーリンノイズ」は、自然な地形の生成に役立つノイズパターンを生成するアルゴリズムで、山や渓谷のような滑らかな地形を作り出せる点が特徴です。ロールプレイングやシミュレーションゲーム作品でよく見かけますね。

「ボロノイ図」は、複数のポイント間の「距離」に基づいて領域を分割していくアルゴリズムで、このアルゴリズムはゲームマップのエリアを区分する場合や、バイオーム(生態群系)の生成を行う際に応用されています。
「セルオートマトン」は、特定のルールに基づいてセルの「生死」を決定するアルゴリズムで、洞窟やダンジョンなど、ランダム空間の作成で活躍します。ローグライクなゲーム作品の多くで利用されていますね。

ランダムにマップが変化するゲームには、プロシージャル生成が活かされています。
ゲームマップを自動生成することの利点

プロシージャル生成の利点は、少ないリソースで広大なマップやランダムなレベルデザインが可能になることです。
あらかじめ決められたデザインを持つ膨大なマップを作る場合、それはMBやGBで表されるゲームの容量に大きな影響を与えます。自動生成マップシステムを用いないゲームのサイズが大きいのはこのためです。

最近はAAAタイトルの容量肥大化が著しく、ゲーム1本で数十GB以上のサイズが「当たり前」になってきました。これには他の要因ももちろん含まれますが、マップが広大であるほどサイズが肥大化するのは間違いありません。
プロシージャル生成のようなマップ自動生成システムを上手く用いることで、ゲーム容量の肥大化は最小限に食い留められます。実際、プロシージャル生成を活用したゲームのサイズは驚くほどコンパクトです。

私は以前ゲーム紹介サイトでライターの仕事をしていて、プロシージャル生成システムを持つゲーム作品も数十本以上レビューしましたが、1GBもない超軽量のインディーゲームが多かったことが印象に残っています。

ジャンルによっては絶大な効果を発揮できるシステムです。
軽量化は幅広いユーザーにアピールできる
ゲームのサイズ(インストール容量)を軽くすることは、それだけ多くのプレイヤーにアピールできるポイントに直結します。普段から誰もが潤沢なPCやコンソール機のストレージ容量を持っているわけではないからです。

自動生成によるゲームの軽量化は、インストール容量が圧迫している人に好都合で、クラウドゲーミングで遊ぶにしても、ロード時間を大幅に短縮できるメリットがあります。購入を決める心理面にも影響するはずです。
『マインクラフト』のようなサンドボックスゲームや、ダンジョン挑戦型のローグライトRPG、さらにはホラーゲームなど、システム構造が活きてくるジャンルにおいて、マップの自動生成は積極的に用いるべき技術と言えます。

開発者が適切に自動生成のルールを定めながら、慎重にプロシージャル生成システムをゲームマップ描画へ取り入れた場合、プレイヤーに何回でも繰り返し遊んでもらえるような、素晴らしい作品になることでしょう。
ゲームマップ自動生成の課題

完全にランダムな自動生成だと、マップが無意味になってしまったり、ユーザーにとって非常に遊びにくいデザインになってしまうリスクがあります。
これは大きな課題と言えます。ゲームは何よりバランスが大切で、良いゲームはプレイヤーに「適度なチャレンジ精神」を呼び起こさせるデザインを持っています。これが自動生成で崩れる可能性には、十分な注意が必要です。

また、ストーリーと演出を重視しているゲームでは、プロシージャル生成の仕組みが全く噛み合わないことも考えられるため、自分が「どのようなゲームを作りたいのか」をハッキリさせておくことも大切です。
これを防ぐには、あらかじめ「マップ自動生成時のルール」を設けておくのが効果的で、特定エリアのマップだけを自動生成にするといった選択肢も有益でしょう。ゲーム設計におけるデザインセンスが問われそうです。

正しく使えば、プロシージャル生成は開発期間を短縮できる優秀なツールになります。
前編まとめ
ゲーム開発における作業時間を大幅に短縮し、さらにゲーム本体の容量節約にも繋がる「プロシージャル生成」技術は、少人数でゲームを作っているデベロッパーにとって、非常に魅力的な仕組みに映ると思います。

なお、世界のゲーム開発者に利用されている「Unreal Engine」(外部リンク)や「Unity」(外部リンク)には、プロシージャル生成をサポートするライブラリやアセットが豊富に用意されているので、一度確認してみてください。
Unreal Engineは、「プロシージャル コンテンツ生成の概要」(外部リンク)のページ内において、プロシージャルコンテンツ生成フレームワーク (PCG:Procedural Content Generation Framework)の解説をしています。

ゲームを開発する意思があり、開発に関して初心者の場合、まずはこうしたゲーム制作を助けてくれるサイトへ無料登録し、ノイズ生成アルゴリズムなどを使いながら、簡単な地形の生成を試してみるのも面白いと思います。
既存のマップ自動生成を超える存在は生まれるのか?
対話する中でAIは、今後AI技術が進化することによって、既存のプロシージャル生成を遥かに上回る「画期的なシステム」が生まれる可能性があることを示唆しました。何だかとても気になる発言ですよね?
記事の後編では、AIによってさらなる進化を遂げた「次世代のマップ自動生成」とは一体どのようなシステムなのか、具体的な進化論についてAI自身に解説してもらいながら、ゲームの未来へと迫っていきます。
個人や小規模な開発者でも「驚異的なゲームマップ」を生み出せる未来が、AIの進化によって生まれそうです。

最後までお読み頂き、ありがとうございました!
コメント