Wave Function Collapse в UE4

Eternal Mist. Генерация уровней в редакторе #UE4.

Проспал субботний скриншотник, поэтому решил выкатить длиннющую нуднятину с примером того как у нас работает генерация уровней. Мы используем алгоритм Wave Function Collapse, штука замечательная: чем больше тайлов и вариантов их соединения, тем более разнообразные уровни можно получить. Подобный подход в генерации уровней использовался в игре Bad North.

Писал все самостоятельно. За основу взял это видео с ютуба:

И вот эту статью, ссылка на нее есть в видео выше:

Самое интересное, что написать алгоритм было просто. А вот подобрать тайлы для вменяемой генерации уровней было гораздо сложнее. И потратил я на них, раза в два три больше времени.

Кстати, в UE5 появился экспериментальный плагин с WFC (так и называется Wave Function Collapse (Experimental)). Не знаю когда выкатят в полноценный релиз, но направление движения радует. Надеюсь, к этому моменту подготовят вменяемую документацию.

➕ Минутка саморекламы:

PS: Про жадность не спрашивайте, шутка не удалась, уже убрал.

41
5 комментариев