Ich habe mir einige Algorithmen und Artikel zum prozeduralen Generieren eines Dungeons angesehen. Das Problem ist, dass ich versuche, ein Haus mit Zimmern zu bauen, die meinen Anforderungen nicht entsprechen.
Zum einen haben Dungeons Korridore, in denen Häuser Hallen haben. Und während sie anfangs vielleicht gleich aussehen, ist eine Halle nichts anderes als der Bereich, der kein Raum ist, während ein Korridor speziell dafür ausgelegt ist, einen Bereich mit einem anderen zu verbinden.
Ein weiterer wichtiger Unterschied zu einem Haus besteht darin, dass Sie eine bestimmte Breite und Höhe haben und das Ganze mit Räumen und Hallen füllen müssen, während bei einem Verlies der Raum leer ist.
Ich denke, Hallen in einem Haus sind etwas zwischen einem Dungeon-Korridor (der Sie zu anderen Räumen führt) und einem leeren Raum im Dungeon (der nicht explizit im Code definiert ist).
Insbesondere sind die Anforderungen:
- Es gibt eine Reihe vordefinierter Räume, in denen
ich keine Wände und Türen im laufenden Betrieb erstellen kann. - Räume können gedreht, aber nicht in der Größe verändert
werden. Da ich über einen vordefinierten Satz von Räumen verfüge, kann ich sie nur drehen, nicht aber in der Größe verändern. - Die
Hausmaße sind festgelegt und müssen vollständig mit Räumen (oder Hallen) gefüllt sein. Das heißt, ich möchte ein 14x20-Haus mit den verfügbaren Räumen füllen, um sicherzustellen, dass es keinen leeren Raum gibt.
Hier sind einige Bilder, um dies etwas klarer zu machen:
Wie Sie sehen können, ist der "leere Raum" im Haus noch begehbar und bringt Sie von einem Raum zum anderen.
Nach alledem ist ein Haus vielleicht nur ein wirklich sehr dicht gedrängter Kerker mit Korridoren. Oder es ist einfacher als ein Dungeon. Vielleicht gibt es da draußen etwas, und ich habe es nicht gefunden, weil ich nicht wirklich weiß, wonach ich suchen soll.
Hier möchte ich Sie um Ihre Hilfe bitten: Können Sie mir Hinweise zum Entwurf dieses Algorithmus geben? Irgendwelche Gedanken darüber, welche Schritte es unternehmen wird? Wenn Sie einen Dungeon-Generator erstellt haben, wie würden Sie ihn an meine Anforderungen anpassen? Sie können so spezifisch oder allgemein sein, wie Sie möchten. Ich bin wirklich auf der Suche nach deinem Verstand.