Tile-Based Map Generation using Wave Function Collapse in 'Caves of Qud'
Summary
TLDRブライアン・バクリィは、プロシージャル生成ゲーム「ケイブズ・オブ・カット」の開発者であり、同社の共同創業者であるフリーホールド・ゲームズのメンバーです。彼は、ゲームのマップ生成に使用されている「波動関数崩壊」という手法について語りました。この手法は、パーリンノイズなどの一般的な手法に加えて、新しい手法も使用していると述べました。波動関数崩壊は、俄国の数学者マキシム・グーマンによって開発され、MITライセンスで公開されています。この手法はタイルベースのマップデザインにも適用できますが、彼らはテクスチャモードを使用し、小さなトレーニング画像から任意の大きさの出力を生み出すことができます。この手法は、タイルの隣接性を強力に制約づけることができるため、より強力な結果を得ることができます。また、この手法を応用して、マップのセグメント化や詳細なドアや家具の配置など、より複雑なマップを生成する方法についても説明しました。最後に、この手法を他のプロジェクトに取り入れることの容易さと、ドキュメントの充実度について触れ、話は終了しました。
Takeaways
- 🎮 Brian Buckleyは、Freehold Gamesの共同創設者で、ゲーム「Caves of Qud」の開発に携わっています。
- 🧩 「Caves of Qud」は、プロシージャル・ジェネレーションを用いて、タイルベースのゲームマップを作成しています。
- 📈 ゲームのマップは80×25タイルで、壁、生物、植物などの要素が抽象的に表現されています。
- 🌐 Wave Function Collapse(WFC)というテクスチャ合成手法を使用し、マップの多様性を実現しています。
- 🤖 WFCは、ロシアの数学者Maxim Guminによって開発され、MITライセンスで公開されています。
- 🔍 WFCはタイルとテクスチャの2つのモードで動作し、小さなトレーニング画像から大きな出力を生み出すことができます。
- 🛠️ WFCは、入力されたトレーニング画像に基づいて、すべてのタイルの可能性を超位置状態にし、徐々に選択を狭めます。
- 🏗️ ゲームマップの生成では、WFCを用いて大域的な構造を作り、その後詳細を手動で追加することで、均質性の問題を解決しています。
- 🔄 WFCを使用する際には、同種のタイルが繰り返し生成されることを避けるため、制約を追加することが重要です。
- 📉 過剰適合を防ぐために、WFCの出力を用いて基本的な壁構造を生成し、その後にドアや家具などの詳細を追加します。
- 🔢 WFCのトレーニングセットは、できるだけ小さな画像を使用し、必要とする性格を詰め込んでいます。
- 🔄 対称性を使用することで、WFCは同じタイルが異なる角度で繰り返されることを防ぎ、タイル配置の多様性を確保できます。
Q & A
ブライアン・バクリーが開発したゲームは何ですか?
-ブライアン・バクリーが開発したゲームは「Caves of Qud」です。
Caves of Qudのマップ生成にはどのような手法が使用されていますか?
-Caves of Qudのマップ生成には、パーリンノイズなどの一般的な手法に加えて、波動関数崩壊という新しいテクスチャー合成手法が使用されています。
波動関数崩壊とは何ですか?
-波動関数崩壊は、マキシム・グーマンというロシアの数学者が開発した、タイルベースのプロシージャル生成手法です。タイルやテクスチャに対して作用し、入力されたトレーニング画像の性質を持ちながら、より大きな出力を生み出します。
波動関数崩壊の訓練画像はどのくらいの大きさが良いですか?
-波動関数崩壊の訓練画像は、8x8ピクセルや16x16ピクセルなどの小さいサイズが効果的です。訓練画像が小さいほど、より強力な結果を得ることができます。
Caves of Qudのマップはどのようにして生成されますか?
-Caves of Qudのマップは、波動関数崩壊手法を使用して生成されます。タイルベースのゲームであるため、各マップは80x25タイルで構成され、壁、生物、植物などが抽象的な形で表現されています。
波動関数崩壊手法を実装する際のコードは複雑ですか?
-波動関数崩壊手法を実装する際のコードは、3行のシンプルなコードで済むため、複雑ではありません。モデルを初期化し、実行させ、出力を取得するだけで済みます。
Caves of Qudのマップ生成で直面した問題は何ですか?
-Caves of Qudのマップ生成で直面した問題は、同質性とオーバーフィッティングの2つです。同質性は、大きな出力が均質的になる傾向があることを意味し、オーバーフィッティングは、訓練画像に色を追加することで出力が多様でなくなる傾向があることを意味します。
同質性の問題はどのように解決されましたか?
-同質性の問題は、出力空間をセグメント化し、波動関数崩壊を使用して詳細を埋めることで解決されました。これにより、均質的な出力ではなく、より興味深いグラフ構造が得られます。
オーバーフィッティングの問題はどのように対処されましたか?
-オーバーフィッティングの問題は、波動関数崩壊の出力を用いて高いレベルの壁構造を生成し、その後のプロセッシングでドアや家具などの詳細を生成することで対処されました。
Caves of Qudの開発チームはどのようにして波動関数崩壊手法を実装しましたか?
-Caves of Qudの開発チームは、ゲームのアエスセティックに沿って、生成システムを自由自在に動かし、出力を組み合わせることで実装しました。また、タイルベースの手法を用いて、デザイナーが制御できるプリファブを組み合わせることで、より細かい制御が可能です。
波動関数崩壊手法のリポジトリはどの言語で利用できますか?
-波動関数崩壊手法のリポジトリは、20以上の異なる言語で利用可能です。MITライセンスで公開されており、幅広く利用されています。
Outlines
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenMindmap
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenKeywords
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenHighlights
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenTranscripts
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführen5.0 / 5 (0 votes)