Wave Function Collapse в UE4

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

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

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

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

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

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

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

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

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

Да, если интересно как выглядит сейчас финальный вариант уровня, то вот коротенькое видео с примером:

https://youtu.be/2eNoRgt08n8

2
Ответить

Подскажите пожалуйста, генерация будет происходить в рантайме? Или этот функционал для генерации уровней в самом редакторе ue?

1
Ответить

Можно генерить и так и так. Но в этой игре, мы все уровни будем генерировать заранее (т.е. в редакторе).

3
Ответить

Тихо очень

Ответить

Да, сам заметил после публикации. Потом буду подкручивать громкость.

Ответить