🌵
プロシージャル生成(自動生成) とは
一言で説明
プロシージャル生成とは、アルゴリズムによって自動的に生み出す技術を指します。
説明
ゲームに登場する多くのものは、人の手で作られれた様々なデータがあります。またそれらは人の手で配置されます。例えば木や草、洞窟といった自然物、家や城といった人工物もそうですし、キャラクターの動き (モーション)も、人の手で丁寧に作られています。
しかし、昨今では膨大なステージの数、めちゃくちゃ広いマップ、あるいは様々な条件下でキャラクターを動かさなくてはならなくなりました。…人の手で作れますが、すべてをカバーするには相応の人員、あるいは時間が必要です。
そういった問題を解決するために、天才的なプログラマーはアルゴリズムによる解決案を生み出しました。その技術は「プロシージャル生成」あるいは「自動生成」と呼ばれます。
「プロシージャル生成」自体は、ゲーム分野おいて様々なところで使われています。例えば以下のものがあります。
- 不思議のダンジョンシリーズのような「ローグライクゲーム」と呼ばれるゲームにある、ダンジョンの自動生成
- Minecraftのような「サンドボックスゲーム」にある、マップの自動生成
- 歩行時に障害物を避けたり、段差を上がったりするモーションの自動生成
「プロシージャル生成」のアルゴリズム
2D迷路の生成
- 棒倒し法
- 穴掘り法
- 壁延ばし法
2Dダンジョンの生成
- Racanhack
- Maze
フラクタル / 規則性があるノイズ
- Value Noise (バリューノイズ)
- Perlin noise (パーリンノイズ)
- 中点変位法
植物の生成
- L-system
植物を植える
- ハルトン・シークエンス
アニメーション
- スケルトン・ドリブン・アニメーション
参考
- 次世代ゲームにおける自動生成技術 - 三宅 陽一郎 - SlideShare
- クリエイティブコーディングの教科書 - miku - Zenn
- その3 パーリンノイズとフラクタル - IKD - ○×(まるぺけ)つくろーどっとコム
- ローグライクのダンジョンを自動生成する - @fazerog02 - Qiita
Discussion