手続き型生成
[Wikipedia|▼Menu]
手続き型生成の一例。ここではリアルな木の3Dモデルを生成するために使用されている。決定変数(deterministic)とランダムシード値の両方を変更することで、さまざまな3Dモデルを生成できる。

手続き型生成(てつづきがたせいせい、英:procedural generation)またはプロシージャル生成とは、コンピュータを用いたデータ処理(コンピューティング)の手法の一つ。手作業によってデータを生成するのではなく、アルゴリズムに基づいてデータを生成する手法である。

基本的には、手作業で生成したアセットおよびアルゴリズムを、コンピュータの処理能力を使って無作為(ランダム)に組み合わせる手法が多い。CGの分野においては、テクスチャや3Dモデルを生成する時に一般的に使われている。ビデオゲームの分野においては、ゲーム内の大量のコンテンツを自動的に作成するために使用される。実装次第ではあるが、手続き型生成の利点としては、ファイルサイズを小さくできる、大量のコンテンツを用意できる、ランダム生成で予測不可能なゲーム体験、などが挙げられる。手続き型生成とは、ジェネレーティブ・メディア(AIによるメディア生成)の一種でもある。
概要

「手続き型(プロシージャル)」という用語は、コンピュータを使って特定の作業を行わせる際のプロセスを示すものである。例えばフラクタルは、主に手続き的な手順を用いて生成される幾何学的な文様である。プロシージャルなコンテンツとしてよく見かける物としては、テクスチャマッピングのテクスチャやポリゴンのメッシュなどがある。サウンドはプロシージャルに生成されることも多く、楽曲制作だけでなく音声合成においても利用されている。「ジェネレーティブ・ミュージック」という言葉を広めたブライアン・イーノを始めとして、アーティストたちによって様々なジャンルのエレクトロニック・ミュージックの曲を作るのに使用されている[1]

ソフトウェア開発においては、長年にわたって手続き型生成の手法の利用が模索されてきたが、このアプローチを広く採用している製品はほとんどない。一方でビデオゲームにおいては、手続き的に生成された要素が早い時期から見られる。『The Elder Scrolls II:Daggerfall』のマップは、その大部分が手続き的に生成されたものであり、現実のブリテン諸島の約3分の2のサイズの広さがある。Raven Software社の『Soldier of Fortune』では、敵モデルのモーションを生成する際に単純なルーチンによるモーションをプロシージャルに組み合わせるという手法が使用されていたが、続編の『Soldier of Fortune II』ではマップのランダム生成がフィーチャーされていた。Avalanche Studiosは『Just Cause』の広大かつ様々な形態の熱帯諸島を細部まで描写するために手続き的生成を利用した。Hello Gamesの『No Man's Sky』はゲーム内の全ての要素が手続き的に生成されたものに基づいている。

現代のデモシーンでは手続き型生成を使用して、大量の視聴覚的コンテンツを比較的小さなプログラムにパッケージ化している。

IEEE Conference on Computational Intelligence and GamesやGames and Artificial Intelligence and Interactive Digital Entertainmentなどのカンファレンスにおいて、新たな手法やアプリケーションが毎年発表されている[2]

特にビデオゲームにおいて、リプレイ性を高めることを目的として手続き型生成を応用した場合、手続き型システムが冒険のための数限りないワールドを生成してくれる一方で、これらに対して十分な誘導と規則をあらかじめ人力で設定しておかないと、結果は「プロシージャル・オートミール」と呼ばれる状態となる。これは作家のケイト・コンプトンによる造語で、手続き型生成によって数学的には異なる何千ものオートミールのボウル(日本で言うと「茶碗に盛ったご飯」)を生成することは可能であるが、一方でユーザーにおいてはそれらは全て「同じ物」であると認識されてしまい、手続き型生成が本来目的とすべきである、プロシージャルに生成された成果物がそれぞれに異なったユーザー体験を生み出すという「一意性」を欠いた状態となるのである[3]
近年の応用例
テーブルトークロールプレイングゲーム

ゲームで手続き型生成を使用するのは、テーブルトークロールプレイングゲーム(TRPG)を起源とする[4]。当時の人気のTRPGのシステムであったTSR社の『アドバンスト・ダンジョンズ&ドラゴンズ』では、ダンジョンマスター(ゲームマスター)に対してサイコロのランダムな出目を利用したダンジョンと地形の生成方法を提供しており、これは後のエディションにおいて複雑に分岐した手続き的なテーブル表を含んだものに拡張された。Strategic Simulations社はTSR社からライセンスを受け、TSR社が公開したテーブル表に基づいてダンジョンを生成するコンピュータープログラムである『Dungeon Master's Assistant』をリリースした。同じくTSR社から発売された『トンネルズ&トロールズ』は、主に1人プレイ用として設計されていたが、ダンジョンの生成方法として同様の手続き的手法を利用していた。他のTRPGは、ワールドの様々な要素を生成するにあたって、これとよく似た手続き型生成のコンセプトを借用した[5]
ビデオゲーム
初期の歴史手続き的に生成された『NetHack』のダンジョンのマップ。

グラフィック指向のビデオゲームが登場する以前に存在した、いわゆる「ローグライク」と呼ばれるゲームのジャンルは、『ダンジョンズ&ドラゴンズ』に直接的な影響を受け、一人プレイに特化した物であり、TRPGのシステムと同じ手法による手続き型生成を多用していた。このような初期のゲームには、『Boneath Apple Manor』(1978)や、ジャンル名と同名の『ローグ』(1980)などがある。ローグライクで用いられた手続き型生成システムは、ASCIIもしくは通常のタイルベースのシステムでダンジョンを作成し、部屋、通路、モンスター、そして宝物を定義してプレイヤーを待ち受けていた。ローグライク、およびローグライクのコンセプトに基づいた『不思議のダンジョン』タイプのゲームでは、ゲームのワールドを作成するために必要以上の時間を費やすことなく、複雑なゲーム体験を用意できる[6]

1978年に発売されたAtari VCS用ソフト『Maze Craze』は、アルゴリズムを利用してプレイするごとにトップダウンの迷路がランダムに生成された[7]

一部のゲームでは疑似乱数ジェネレータが使用されていた。これらの疑似乱数は、事前に定義されたシード値とともに利用されることがしばしばあり、プレイ開始時にこれらの数値を用いて広大なゲーム世界を手続き的に生成し、あたかも事前にゲーム内に広大なゲーム世界を作成していたかのように見せかけた。こうすることで小容量のROMデータで広大な世界が賄えるのである。例えば3Dパズルゲームの『センチネル』は、たった48KB-64KB程度の容量で10,000の異なるステージを持っていたとされる。極端な例の一つは銀河交易ゲームの『エリート』であり、それぞれに256個の太陽系を従えた2の48乗(約282兆)個の銀河を舞台とするゲームとして計画されていた。しかし、そのような巨大すぎる宇宙がプレイヤーに不信感を与えることをパブリッシャ側が懸念したため、これらの銀河のうち8つが最終バージョンとして選択された[8]。他の注目に値する初期の例としては、1985年に発売された惑星探索ゲーム『Rescue on Fractalus』があり、エイリアン惑星の岩だらけの山をフラクタルを用いてリアルタイムでプロシージャルに作成していた。また、1982年にアクティビジョンが発売した『River Raid』は、線形帰還シフトレジスタを用いて生成された擬似乱数列を使ってスクロールする迷路の障害物をプロシージャルに生成していた。
近年の使用例

近年のコンピューターゲームでは初期のゲームのようなメモリとハードウェアの制約は無くなったが、ランダム化されたゲームプレイ、マップ構成、レベル、キャラクター、あるいはプレイするたびにそれぞれ異なる形で現れるその他の様相を作成するために、手続き型生成の手法が頻繁に採用されている[9][10]

2004年、『.kkrieger』と言うPC用ファーストパーソンシューティングゲームがドイツのデモグループからリリースされた。全てのデータがわずか96KBのMicrosoft Windows用の実行ファイル内に含まれており、実行時に数百MBの3Dおよびテクスチャデータを生成する形となる。プログラマーの一人によれば、技術デモとして見た場合はともかくとして「ゲームとしての側面に関する限り、それは完全な失敗でした(主な理由として、誰もゲームとしての側面に関して真底まで関与しなかったからです)。」[11]

Naked Sky Entertainmentの『RoboBlitz』は手続き型生成を利用することで、当時のXbox Live Arcade用ダウンロードゲームの「50MB未満」と言う規定内においてコンテンツの内容を最大化することができた。ウィル・ライトの『Spore』も手続き型生成を利用している。

手続き型生成は、アクションロールプレイングゲームや大規模マルチプレイヤーオンラインロールプレイングゲームなど、クエストドリブン(クエスト駆動型)ゲームのルートシステム(戦利品システム)においてよく使用される。クエストの報酬は固定であったとしても、武器や鎧といったその他の戦利品は、プレイヤーキャラクターのレベル、クエストの難易度、クエストでの彼らのパフォーマンス、および他のランダムな要素に基づいてプレイヤーごとにプロシージャルに生成される場合がある。これはつまり、手続き型生成システムが平均よりも優れた属性を持つアイテムを生成するようになっていた場合、戦利品として必ずレアアイテムをゲットできると言うことである。たとえば『Borderlands』シリーズではプロシージャル生成システムに基づいて、100万種類を超えるユニークな銃やその他の装備品を作成できる[12]

多くのオープンワールドゲームサバイバルゲームは、ランダムなシード値またはプレイヤーが入力したシード値から手続き的にゲームワールドを作成するため、プレイするたびに違ったプレイ体験が得られる。『Dwarf Fortress』およびその影響を受けて作られた『マインクラフト』を念頭において欲しいが、これらの生成システムは、おびただしい量のピクセルまたはボクセルをベースとして、資源、オブジェクト、および生物の分布を伴ったバイオームを作成する。プレイヤーは生成用のパラメーターを適時調整することが可能であり、例えばワールド内の水域の範囲を指定したりすることができる。これらのゲームに関連する、手続き型生成のワールドにおけるアーチファクト(歪み)に関してであるが、プレーヤーが探索できるスペースが制限されていない場合、アセットをランダムに組み合わせてコンテンツとして提示するという手続き型生成の手法において、スペースの端に向かうにつれてノイズが蓄積し、ついにはコンテンツよりもノイズが目立ち始める(つまり、あからさまにワールドがバグり始める)と言うことである。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:27 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef