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