
コンピュータ分野において、プロシージャル生成とは、手作業ではなくアルゴリズムによってデータを生成する手法であり、通常は人間が生成したコンテンツとアルゴリズムを、コンピュータが生成するランダム性と処理能力と組み合わせることで実現されます。コンピュータグラフィックスでは、テクスチャや3Dモデルの作成によく用いられます。ビデオゲームでは、ゲーム内の大量のコンテンツを自動的に生成するために使用されます。実装方法によっては、プロシージャル生成の利点として、ファイルサイズの縮小、コンテンツ量の増加、そして予測不可能なゲームプレイを実現するランダム性などが挙げられます。

プロシージャルという用語は、特定の関数を計算するプロセスを指します。フラクタルは、プロシージャルに生成できることが多い幾何学的パターンです。一般的なプロシージャルコンテンツには、テクスチャやメッシュなどがあります。サウンドもプロシージャルに生成されることが多く、音声合成と音楽の両方に応用されています。ブライアン・イーノのように「ジェネレーティブミュージック」という用語を普及させたアーティストによって、さまざまなジャンルの電子音楽の作曲に使用されています。[ 1 ]

プロシージャル生成は元々、ビデオゲームのツールとして開発され、人間の手がほとんど入らずにレベル、テクスチャ、そして完全な世界を生成するのに役立っています。プロシージャル生成された要素は1990年代からビデオゲームに登場しています。The Elder Scrolls II: Daggerfallは、ほとんどプロシージャル生成された世界を舞台としており、その世界は実際のイギリス諸島の約3分の2の大きさです。Raven SoftwareのSoldier of Fortuneは、敵モデルの詳細化にシンプルなルーチンを使用しており、その続編ではランダム生成レベルモードが採用されています。Avalanche Studiosは、 Just Causeのためにプロシージャル生成を使用して、詳細に描かれた熱帯の島々の大規模で多様なグループを作成しました。ゲームスタジオHello Gamesが開発したゲームNo Man's Skyは、すべてプロシージャル生成された要素に基づいています。
現代のデモシーンでは、プロシージャル生成を用いて、膨大な量のオーディオビジュアルコンテンツを比較的小さなプログラムにパッケージ化している。
新しい手法やアプリケーションは、IEEE Conference on Computational Intelligence and GamesやAAAI Conference on Artificial Intelligence and Interactive Digital Entertainmentなどの会議で毎年発表されています。[ 2 ]
特に、繰り返しプレイすることを目的としたビデオゲームへのプロシージャル生成の応用においては、プロシージャルシステムが探索可能な無限の数の世界を生成できるものの、それらを導くための十分な人間のガイダンスやルールがないことが懸念されている。その結果は、作家のケイト・コンプトンが作った造語である「プロシージャルオートミール」と呼ばれている。これは、プロシージャル生成によって数学的に何千ものオートミールを生成することは可能だが、それらはユーザーには同じものとして認識され、プロシージャルシステムが目指すべき知覚された独自性の概念が欠けていることを意味する。[ 3 ]
ゲームにおけるプロシージャル生成の使用は、テーブルトップロールプレイングゲーム(RPG)に起源を持つ。[ 4 ]主要なテーブルトップシステムであるアドバンストダンジョンズ&ドラゴンズでは、「ダンジョンマスター」がランダムなサイコロロールを使用してダンジョンと地形を生成する方法が提供され、後の版では複雑な分岐プロシージャルテーブルで拡張された。TSRのライセンスを受けたStrategic Simulationsは、これらの公開されたテーブルに基づいてダンジョンを生成するコンピュータプログラムであるDungeon Master's Assistantをリリースした。Flying Buffaloから出版されたTunnels & Trolls [ 5 ]は、主にソロプレイを中心に設計されており、ダンジョンに同様のプロシージャル生成を使用した。他のテーブルトップRPGは、さまざまなワールド要素にプロシージャル生成の同様の概念を取り入れた。[ 6 ]
現在、ダンジョンマスター向けの多くのオンラインツールは、程度の差こそあれ、プロシージャル生成を利用している。

グラフィック重視のビデオゲームが登場する以前は、ダンジョンズ&ドラゴンズに直接影響を受けた、ソロプレイ向けに採用されたローグライクゲームというジャンルが、テーブルトップシステムと同様に、プロシージャル生成を多用してダンジョンをランダムに生成していました。初期のゲームには、Beneath Apple Manor (1978) や、このジャンルの名前の由来となったRogue (1980) などがあります。ローグライクのプロシージャル生成システムは、 ASCIIまたは通常のタイルベースのシステムでダンジョンを作成し、プレイヤーに挑戦するための部屋、廊下、モンスター、宝物を定義します。ローグライク、およびローグライクの概念に基づいたゲームは、ゲームの世界を作成するのに過剰な時間を費やすことなく、複雑なゲームプレイの開発を可能にします。[ 7 ]
1978年にAtari VCS向けに発売されたMaze Crazeは、各ゲームでランダムなトップダウン迷路を生成するアルゴリズムを使用していた。[ 8 ]
一部のゲームでは擬似乱数生成器が使用されていました。これらの擬似乱数生成器は、あらかじめ定義されたシード値とともに使用され、まるで事前に作成されたかのような非常に大きなゲーム世界を生成するために用いられていました。マップシードは、ゲーム世界(「マップ」)を手続き的に作成するために使用される、(比較的)短い数値またはテキスト文字列です。つまり、シードによって生成されるマップは数メガバイトにも及ぶことがありますが(多くの場合、段階的に生成され、サイズは事実上無制限です)、マップシードを指定するだけで、変更されていないマップにリセットしたり、変更されていないマップをプレイヤー間で交換したりすることが可能です。
Sentinelには、わずか48キロバイトと64キロバイトの中に10,000種類のレベルが保存されていたと言われています。極端な例としてはEliteがあり、当初はそれぞれ256個の太陽系を持つ合計248(約282兆)個の銀河が含まれる予定でした。しかし、パブリッシャーは、そのような巨大な宇宙がプレイヤーに不信感を与えることを恐れ、最終バージョンではこれらの銀河のうち8つが選択されました。 [ 9 ]その他の注目すべき初期の例としては、1985年のゲームRescue on Fractalus(フラクタルを使用して、リアルタイムで手続き的に異星の惑星の険しい山々を作成した)とRiver Raid (線形フィードバックシフトレジスタによって生成された擬似乱数列を使用して、スクロールする障害物の迷路を生成した1982年のActivisionのゲーム)があります。


現代のコンピュータゲームは、以前のゲームのようなメモリやハードウェアの制約はないものの、プロシージャル生成は、プレイするたびに異なるランダムなゲーム、マップ、レベル、キャラクター、その他の要素を作成するために頻繁に用いられている。[ 10 ] [ 11 ]
多くの現代のローグライクゲーム(「ローグライト」と呼ばれることもある)は、ターン制の初期ローグライクから離れ、プラットフォーマーやシューティングゲームなどの他のビデオゲームジャンルのゲームプレイを取り入れるようになったが、プレイヤーがパーマデスと共に各レベルをクリアする手段を確保できるよう、ゲームプレイマップやレベルの生成方法にはプロシージャル生成の要素が残っている。これは、ゲームマップに配置されるパワーアップやその他のアイテムにも及び、ゲームがプロシージャル生成ルールによって選択することで、プレイヤーに公平なゲーム体験を提供し、プレイヤーがゲームに勝つための主体性を持っていると感じられるようにしている。 [ 12 ]

プロシージャル生成は、アクションロールプレイングゲームや大規模マルチプレイヤーオンラインロールプレイングゲームなどのクエスト駆動型ゲームのルートシステムでよく使用されます。クエストには固定報酬がある場合もありますが、武器や防具などの他のルートは、プレイヤーキャラクターのレベル、クエストのレベル、クエストでのパフォーマンス、その他のランダムな要因に基づいてプレイヤー用に生成される場合があります。これにより、プロシージャル生成システムが平均以上の属性を持つアイテムを生成したときに、ルートに希少性品質が適用されることがよくあります。たとえば、ボーダーランズシリーズは、100万を超えるユニークな銃やその他の装備を生成できるプロシージャル生成システムに基づいています。[ 13 ]多くのオープンワールドゲームやサバイバルゲームは、ランダムシードまたはプレイヤーが提供するシードからゲームワールドをプロシージャルに生成し、プレイするたびに異なるものになります。これらの生成システムは、リソース、オブジェクト、クリーチャーの分布を持つ多数のピクセルまたはボクセルベースのバイオームを生成します。プレイヤーは、ワールド内の水域面積を指定するなど、生成パラメータの一部を調整できる場合が多い。こうしたゲームの例としては、『ドワーフフォートレス』、『マインクラフト』、『ビンテージストーリー』などが挙げられる。
プロシージャル生成は、宇宙探査や交易ゲームでも利用されています。『Elite: Dangerous』は、天の川銀河に存在する4000億個の既知の恒星を世界の基盤として、プロシージャル生成を用いてこれらの太陽系内の惑星をシミュレートしています。同様に、『Star Citizen』もこの技術を用いて、緻密に作り込まれた宇宙の中にシームレスに読み込まれる惑星を作り出しています。『Outerra Anteworld』は、プロシージャル生成と現実世界のデータを用いて、地球を実物大で再現した仮想世界を作り出す開発中のビデオゲームです。
No Man's Sky は、プロシージャル生成を使用することで、史上最大のビデオゲームとなっています。銀河全体に 18京個の惑星が存在する宇宙を特徴としており、飛行または徒歩で探索できます。惑星はすべて、独自の多様な地形、天候、動植物、そして多数の宇宙を旅する異星種族を持っています。すべてのプレイヤーに対して同じコンテンツが同じ場所に存在するため (決定論的エンジンの単一のランダムシード番号のおかげで)、プレイヤーは出会って発見を共有することができます。 [ 14 ] [ 15 ] [ 16 ]
プロシージャル生成を使用し、マップシードの設定をサポートするゲームには、Ark: Survival Evolved、Minecraft、Factorio、SCP – Containment Breach、Terrariaなどがあります。特にMinecraftについては、興味深いマップを生成することがわかったシードを共有することに特化したWebサイト[ 17 ] [ 18 ]や記事[ 19 ] [ 20 ]があります。

マップシードは、マップ生成に使用されるアルゴリズム(多くの場合、パーリンノイズに基づく[ 21 ] [ 22 ])のコンテキストでのみ意味を持ちます。したがって、マップ生成アルゴリズムが変更されると、特定のシードによって生成されるマップも変更されます。このような変更は、Minecraftで特に顕著です。Minecraftでは、既存のマップの新たに探索されたチャンクを新しいアルゴリズムを使用して単純に生成することで、変更が処理されます(あるいは、処理されません)。そのため、アップグレード後に明らかな不連続性が生じます。
有利なシード値は、マップシードを手動で指定することで、ビデオゲームのスピードランを行う際に利用できます。
ビデオゲームと同様に、映画においても、プロシージャル生成は視覚的に魅力的で正確な空間を迅速に作り出すために頻繁に用いられる。その応用範囲は非常に広い。
その応用例の一つに、アーティストが類似したオブジェクトを迅速に多数生成するために使用する「不完全工場」があります。これは、現実世界では全く同じオブジェクトは存在しないという事実を考慮したものです。例えば、アーティストは食料品店向けの商品をモデル化し、その後、不完全工場を作成して、棚全体を埋め尽くすほどの不完全なコピーを多数生成することができます。
MASSIVEは、映画やテレビ向けの群衆関連の視覚効果を生成するために使用されるハイエンドのコンピュータアニメーションおよび人工知能ソフトウェアパッケージです。ピーター・ジャクソン監督の『ロード・オブ・ザ・リング』シリーズのために、数十万人の兵士からなる戦闘軍を自動的に作成するために開発されました。[ 23 ]
コヒーレントノイズは、映画制作における手続き型ワークフローにおいて非常に重要な役割を果たすことがあります。シンプレックスノイズは、アーティファクトが少なく、処理速度も速い場合が多いですが、パーリンノイズと呼ばれる古い関数も使用されることがあります。ここでいうコヒーレントノイズとは、 n次元空間において滑らかな擬似乱数を生成する関数を指します。
ポイックは、手続き的に生成された都市景観が社会シミュレーションや自動運転車の訓練にどのように役立つかを研究した。[ 24 ]
手続き型生成は、シミュレーション、分析、計画に使用される、現実世界の物体を非常に詳細に再現した仮想レプリカであるデジタルツインの発展において極めて重要な役割を果たします。
ニューラルネットワークは近年、手続き的に生成されたコンテンツを洗練するために利用されている。古典的なランダム化手法と深層学習を組み合わせることで、音声、画像、3Dオブジェクト、その他のコンテンツタイプを生成する新しい方法が提供される。これは特にゲームレベル開発に役立つ。強化学習により、生成されたレベルをプレイするエージェントを開発することができ、自動コンテンツ評価器として機能する。[ 25 ]
手続き型生成と深層学習を統合することで、デジタルコンテンツ作成の状況が変わります。Zakaria らは、ソコバンレベルを手続き的に生成するためのさまざまな深層学習手法には、それぞれ異なる長所と短所があることを示しました。[ 26 ]
今後、研究者たちは、適応性を高めることを目的として、大規模言語モデル (LLM) と深層学習を利用した手続き型生成システムを組み合わせる方法を研究している。Zakaria は、「強化学習と組み合わせた LLM は、リアルタイムのフィードバックに基づいて動的に進化する手続き型アセットを作成できる」と示唆している。[ 26 ] Zakaria は、手続き型レベルの設計を向上させるために、ブートストラップLSTM (長短期記憶)ジェネレータやGAN (敵対的生成ネットワーク) などの高度な深層学習構造の適用を研究した。彼らは、「多様性サンプリングによって生成されるソリューションとシグネチャの数が一貫して増加する」ことを発見し、ハイブリッドアプローチが反復的なパターンやバリエーションの欠如などの問題を克服するのに役立つことを示した。[ 26 ]