Алгоритм поиска подземелий в современных видеоиграх может работать следующим образом: 2
- Последовательная генерация новых комнат. 2 Они соединяются друг с другом через туннель. 2 При этом каждой ячейке придаётся определённая стоимость перемещения: у пола она ниже, а у стен — выше. 2 Поэтому в большинстве случаев алгоритм предпочитает создать туннель, передвигаясь по полу, но иногда он «пробивает» стену — так получаются закольцованные карты или комнаты с несколькими проходами. 2
- Применение алгоритма поиска пути A*. 2 Когда появляется новая комната, она отделена от остальных. 2 Чтобы соединить её с локацией, применяется алгоритм поиска пути A*. 2 Он высчитывает наименьшую «стоимость» пути, а затем генерирует маршрут. 2 После этого вдоль туннеля создаются переходы между комнатами. 2
Также для создания случайно генерируемых подземелий может использоваться алгоритм, который включает следующие этапы: 4
- Создание комнат. 4 Внутри заданного круга создаются комнаты со случайной шириной и высотой. 4 Чтобы комнаты не сбивались в кучу и не накладывались друг на друга, используется симуляция каждой комнаты как твёрдого физического тела. 4
- Определение главных комнат. 4 Затем по главным комнатам производится триангуляция Делоне, на основе которой выстраивается график. 4 Это нужно для того, чтобы каждую из ключевых комнат можно было достичь, но они при этом не находились рядом друг с другом. 4
- Добавление коридоров. 4 Сначала они выстраиваются между точками графика главных комнат. 4 Затем на «скелет» из коридоров накладываются оставшиеся комнаты. 4