Я просматривал некоторые алгоритмы и статьи о процедурном создании подземелья. Проблема в том, что я пытаюсь создать дом с комнатами, и они, кажется, не соответствуют моим требованиям.
Во-первых, в подземельях есть коридоры, где в домах есть залы. И хотя изначально они могут показаться одинаковыми, зал - это не что иное, как пространство, которое не является комнатой, а коридор специально разработан для соединения одной зоны с другой.
Еще одно важное отличие от дома в том, что у вас есть определенная ширина и высота, и вы должны заполнить все это комнатами и залами, тогда как в подземелье есть пустое пространство.
Я думаю, что коридоры в доме - это нечто среднее между коридором темницы (приводит вас в другие комнаты) и пустым пространством в темнице (это явно не определено в коде).
В частности, требования следующие:
- Есть набор предопределенных комнат,
я не могу создавать стены и двери на лету. - Комнаты можно поворачивать, но
не изменять их размер. Опять же, поскольку у меня есть предопределенный набор комнат, я могу только вращать их, но не изменять их размер. - Размеры домов заданы и должны быть полностью заполнены комнатами (или залами),
т. Е. Я хочу заполнить дом 14х20 доступными комнатами, следя за тем, чтобы в нем не было пустого пространства.
Вот несколько изображений, чтобы прояснить ситуацию:
Как вы видите, в доме «пустое пространство» все еще можно пройти, и оно доставит вас из одной комнаты в другую.
Итак, сказав все это, может быть, дом - это действительно очень плотное подземелье с коридорами. Или это что-то проще, чем темница. Может быть, есть что-то там, и я не нашел это, потому что я действительно не знаю, что искать.
Вот где я хотел бы получить вашу помощь: не могли бы вы дать мне советы о том, как разработать этот алгоритм? Есть мысли о том, какие шаги он предпримет? Если бы вы создали генератор подземелий, как бы вы изменили его в соответствии с моими требованиями? Вы можете быть настолько конкретным или общим, как вам нравится. На самом деле, я собираюсь выбрать твои мозги.