Использование коллапса волновой функции для решения задачи генерации карт-головоломок в масштабе ( sublevelgames.github.io )
Я столкнулся с интересной проблемой в своей игре-головоломке Logic Islands — 3 из 6 наборов правил зависали навсегда при попытке сгенерировать карты размером более 7×7.
Сработавший трюк? Использование коллапса волновой функции, но выбор того, что генерировать, на основе каждого набора правил — острова для некоторых, стены для других. Эта гибкость сделала сложные ограничения (например, «нет блоков 2×2») тривиальными для выражения в виде правил соединения плиток.
Мой любимый результат: набор правил «Minimal» обеспечивает «все области стен должны быть ровно 3 ячейки», используя всего 11 плиток и локальные ограничения WFC. Постобработка не требуется.
Теперь карты 12×12 генерируются мгновенно, а не зависают навсегда.
Кто-нибудь еще использует WFC для решения логических головоломок, выходящих за рамки типичного синтеза текстур?
Source: news.ycombinator.com