Круто. На самом первом шаге для комнат можно прогнать какое-то количество итераций генетического алгоритма для «разумного» расположения между собой разных типов комнат (ну и в целом для соблюдения правил расположения комнат). Например, спальни не должны располагаться рядом с обеденным залом, заключённых держать в самых нижних уровнях, склады рядом с кухнями и т.п.
Юнит равен чему угодно, величина не постоянна.
Можно принять 1 юнит как 1 метр, а можно как 1 мм или 93 км. И так и так будет правильно.
Что-то накладывается масштабом, а что-то ограничениями.
Тут по-моему из-за механизма прокладывания коридоров. Проще принять за 1 юнит 5 метров и после копать коридоры такой ширины, чем заставить прокладывать их с шириной не менее 5 юнитов.
Интересно, но мне кажется переход из 2D в 3D лишний. Можно послойно генерировать 2D уровни, сцепляя их отдельными комнатами с лестницами или вкраплениями с половинками лестниц. В добавок к этому можно также генерировать пещеры, в последствии меняя высоту отдельных комнат.
Процедурная генерация многоэтажных 3D-подземелий