Как стать автором
Обновить

Комментарии 10

НЛО прилетело и опубликовало эту надпись здесь

Я сейчас крайне редко получаю ошибки. Например, чтобы сделать скриншот для статьи мне пришлось уровней 25-30 сгенерировать. Поэтому, тайлы добавляем в порядке необходимости для визуала или геймплея. Т.е. стараемся в золотую середину: рисовать тайлов столько, чтобы процент ошибок не раздражал. Как-то расширять систему WFC дополнительными проверками, банально нет времени. Над игрой работает всего 2 человека, и более приоритетных задач больше чем надо.

НЛО прилетело и опубликовало эту надпись здесь

У нас каждый тайл - это обычный актор. Если глянуть второе видео, видно что помимо кнопок генерации карты, есть еще кнопки генерации декора. Это команда акторам как-то себя "украсить": добавить пару камушков сверху, сменить материал и даже основной меш. Важно чтобы грани совпадали. Т.е. можно считать, что происходит дополнительное изменение тайлов, но уже после формирования уровня. WFC по сути задает только форму уровня.

А про блэклисты я не понял... У каждого тайла это просто массив пар: тайл и сторона. Причем если сторону не указать, то считается, что этот тайл нигде рядом ставить нельзя. Разрешены ссылки и на себя (тогда два одинаковых тайла рядом не поставить). Заполняется просто: видим "некрасивую" ситуацию, добавляем в черный список.

Возможно вам было бы полезно совместить ваш метод с этим: https://habr.com/ru/post/481218/, чтобы убрать тот небольшой процент неудачной генерации. Что-то вроде, сначала делаете комнаты, потом заполняете их случайными тайлами и т.д.

У нас все проще: уровни очень маленькие примерно 12х12х3 тайла. Т.е. я бы сказал одна комната и есть. А для огромных карт, алгоритм почти всегда находит подходящий вариант. Я просто что-то больше 20х20 редко генерирую и не помню ситуаций когда вываливалось бы с ошибкой.

Выше в комментарии правильный подход был предложен: для проблемы ошибок надо полноту проверять. Ну и наполнять набор тайлов.

"... Этот продукт не поддерживает ваш язык. Пожалуйста, перед покупкой ознакомьтесь со списком поддерживаемых языков..." Печально...

Русский язык естественно будет. Если его сейчас добавлять в список, то стим насыпет дополнительных проблем с оформлением странички (нужно же поддерживать все языки, а это доп. тексты, арт и т.п.). Сейчас нет времени, а ближе к релизу займемся локализацией.

Ну хотя бы такой расклад уже радует, молодцы!

Можно еще в ссылки добавить по желанию.
https://www.youtube.com/watch?v=-5_FIqTDuzc&list=PLXNFA1EysfYny9oR45bFI7edFi_A2-8b8

Благо WFC в Гудини уже пару лет как завезли в Labs.
И если не надо динамически генерить,есть смысл там сразу всё делать,благо помимо куча готовых инструментов,для процедурной вариативности наполнения уровня и т.д.
+Houdini Engine есть для UE и Unity если надо потом потвиковать


Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории