Как генерируются миры — описание подходов для создания процедурных локаций в играх

Краткое знакомство с алгоритмом планирования, а также с симуляционным и функциональным подходами.

Как генерируются миры — описание подходов для создания процедурных локаций в играх
1818 показов
7.1K7.1K открытий

Поскольку мир генерируется кусками на лету, у конкретной точки может не быть нужных соседей, так как они ещё не сгенерированы.А как это работает поподробней? В minecraft есть понятия seed'а, разве это не значит, что заранее всё известно о ландшафте?
В No Man's Sky можно попасть разным людям на одинаковую планету, а значит seed общий один раз сгенерированный.

Ответить

Само наличие сида не дает тебе "всю инфу о ландшафте" - ее нужно вычислить через функцию Перлина (или несколько ее прогонов). И тебе придется начинать с первого блока, и ты действительно не знаешь инфы о соседних блоках, потому что ты еще не вычислил, какой блок будет у соседа.
Функция генерации блока - это, если грубо
f (seed, x, y, z) => BlockType
 И тебе нужно ее прогнать по всем блокам вокруг игрока, чтобы получить ландшафт

Ответить