Ich und ein Team arbeiten an einem Fabrikbauspiel, das dem Spieler zu Beginn des Spiels eine zufällige Fabrik gibt. Um sicherzustellen, dass es ein Gefühl von "Fairness" gibt, würde die zufällig erzeugte Fabrik im Idealfall eine Fläche innerhalb weniger Einheiten von (Platzhalterwert) 30 haben.
Es ist relativ einfach, einen einfachen Zufallsgenerator für Rechtecke zu schreiben, um diese Spezifikationen zu erfüllen. Unser Ziel ist jedoch, dass die Fabrik komplexer ist, vielleicht aus 2, 3 oder sogar 4 sich überschneidenden Rechtecken besteht und komplexere Formen erzeugt (denken Sie an L, Gebäude in U- und O-Form).
Ich habe versucht, ein zufälliges Rechteck zu generieren und dann mit der Basisalgebra ein zweites Rechteck auszufüllen. Bisher hatte ich jedoch kein Glück, mehr als zwei Rechtecke zu implementieren, und auch dann bin ich mit den Ergebnissen für ein Design mit nur zwei Rechtecken nicht zufrieden .
Einige weitere relevante Informationen: 2D von oben nach unten Einige der Mechaniken sind faktoriell, sodass Räume eine angemessene Länge und Breite haben sollten, um Platz für Maschinen zu schaffen.
Danke im Voraus!
BEARBEITEN: Wenn ich "gute" oder "schlechte" Ausgaben sage, ist eine schlechte Ausgabe jede Ausgabe, deren Speicherplatz vom Player nicht genutzt werden kann. Die Fabrikform begrenzt, wo der Spieler Fabrikmaschinen wie Förderbänder platzieren kann. Idealerweise sollte die Fabrik keine Bereiche mit einer Breite von nur 1-2 Blöcken haben. Die Form sollte nicht ein oder zwei große Rechtecke mit einer Linie von 1-2 Blöcken sein, die an einer Seite "hängen". Eine gute Ausgabe wäre, wenn die gesamte Bodenfläche "bearbeitbar" ist, sodass alle Bereiche mindestens 3-4 Blöcke breit sind. Eine gute Ausgabe muss nicht immer komplex sein (1 oder 2 Rechtecke sind in Ordnung), aber es sollte eine faire Chance bestehen, wenn sie aus mehr als 1-2 Rechtecken besteht.