Методы генерации случайных миров в компьютерных играх эволюционировали следующим образом:
- BSP-деревья. 1 Один из самых простых алгоритмов, который заключается в рекурсивном разделении областей на две части. 1 После генерации дерева внутри каждой из областей создаётся комната случайного размера, ограниченная размерами области. 1 Полученные комнаты соединяются с ближайшими при помощи прямоугольных ломаных линий, символизирующих туннели. 1
- Туннелирование. 1 Основная идея такого подхода заключается в «пробивании» туннелей и комнат в полностью заполненном пространстве. 1 В простейшей реализации алгоритм редко приводит к хорошим результатам, так как большинство карт получаются сильно однообразными и линейными. 1
- Клеточные автоматы. 1 Основной идеей таких алгоритмов является симуляция «живого» организма — клетки, определяющей, к какому типу относится та или иная ячейка карты. 1
- Шумы. 1 Такие алгоритмы позволяют получить бесконечные области, состоящие из значений от -1 до 1, после чего данные числа могут использоваться для получения карты уровня. 1 Например, светлые участки шума Перлина считываются как возвышенности, а тёмные — как низины. 3 На их основе алгоритм создаёт приблизительный рельеф будущей карты. 3 Процесс повторяется несколько раз, пока не получается достаточно достоверный ландшафт с горами, долинами и ущельями. 3
Также для создания разных миров используются «сиды» (seeds) — «зёрна». 7 Это значение, которое закладывается в алгоритмы генератора при создании мира. 7 Чаще всего оно представлено в виде псевдослучайного ряда цифр. 7