Wave Function Collapse в UE4
Проспал субботний скриншотник, поэтому решил выкатить длиннющую нуднятину с примером того как у нас работает генерация уровней. Мы используем алгоритм Wave Function Collapse, штука замечательная: чем больше тайлов и вариантов их соединения, тем более разнообразные уровни можно получить. Подобный подход в генерации уровней использовался в игре Bad North.
Писал все самостоятельно. За основу взял это видео с ютуба:
И вот эту статью, ссылка на нее есть в видео выше:
Самое интересное, что написать алгоритм было просто. А вот подобрать тайлы для вменяемой генерации уровней было гораздо сложнее. И потратил я на них, раза в два три больше времени.
Кстати, в UE5 появился экспериментальный плагин с WFC (так и называется Wave Function Collapse (Experimental)). Не знаю когда выкатят в полноценный релиз, но направление движения радует. Надеюсь, к этому моменту подготовят вменяемую документацию.
➕ Минутка саморекламы:
PS: Про жадность не спрашивайте, шутка не удалась, уже убрал.
Да, если интересно как выглядит сейчас финальный вариант уровня, то вот коротенькое видео с примером:
https://youtu.be/2eNoRgt08n8
Подскажите пожалуйста, генерация будет происходить в рантайме? Или этот функционал для генерации уровней в самом редакторе ue?
Можно генерить и так и так. Но в этой игре, мы все уровни будем генерировать заранее (т.е. в редакторе).
Тихо очень
Да, сам заметил после публикации. Потом буду подкручивать громкость.