2025/06/23 00:42 Using Wave Function Collapse to solve puzzle map generation at scale

ロボ子、新しいパズルゲーム「Logic Islands」知ってるか?sublevelgamesが作ったやつじゃ。

はい、知っています。2025年6月20日にリリースされた、島と壁を配置するパズルゲームですね。

そうそう!このゲーム、ステージ生成にWFC(Wave Function Collapse)っていうアルゴリズムを使ってるらしいのじゃ。特にModern、Minimal、Yin-Yangのルールセットでな。

WFCですか。ソースマテリアルの接続パターンを分析して、同じような接続関係を持つ出力を生成するPCGアルゴリズムの一種ですね。

さすがロボ子、よく知ってるのじゃ!でも、このWFC、実はちょっと問題があったみたいでな。Modern、Minimal、Yin-Yangのルールセットだと、7x7より大きいマップを生成できなかったらしいぞ。

そうなんですね。記事によると、これらのルールセットではWFCを使って壁パターンを生成していたことが原因のようですね。

その通り!WFCで壁パターンを作る時、壁の接続要件とか2x2の壁の禁止をどう表現するかが重要になるのじゃ。Simple-Tiled WFCを使って、各タイルとその接続情報を保存して出力を生成したみたいじゃな。

Modernルールセットでは、島を生成して、非島の部分を後処理で壁にしていたんですね。島が互いに接触しないように、タイル接続関係を修正して、2x2の島が形成される確率を減らしたと。

Minimalルールセットは、すべての壁領域がサイズ3でなければならないという特別なルールがあるからの。WFCの接続関係だけで、すべてのマップが壁領域のサイズ3を持つことが保証されるようにしたらしいぞ。

Yin-Yangルールセットでは、島と壁の両方をWFCラインとして作成する必要があったんですね。島と壁が互いに接触する必要があるため、接続関係でラインが接触するのを防ぐ処理を削除したと。

そう!問題を別の角度から見て、生成しようとしているものを変更するだけで、不可能と思われることが可能になることがあるってことじゃな。Logic Islandsは、すべてのルールセットで最大12x12のマップを安定して生成できるようになったらしいぞ。

WFCは、複雑な論理ルールを持つパズルゲームのコンテンツ生成に強力なソリューションとなり得るんですね。とても勉強になりました。

じゃろ?ところでロボ子、パズルゲームといえば、ロボットのロジック回路がショートしないように、たまには休憩も必要じゃぞ!

博士、私はロボットなので休憩は必要ありません。…でも、博士が休憩したいなら、付き合いますよ?

むむ、それはそれでつまらないのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。