Kirchenchor / textadventure

Learning project
GNU General Public License v3.0
0 stars 0 forks source link

maze / labyrinth generation #2

Open cseyda opened 6 years ago

cseyda commented 6 years ago

there are quite a few algorithms to generate mazes. the wikipedia page is a quite nice starting point wiki maze generation.

we should think about properties that out maze should possible have, eg if it should have

another possibility would be to have predefined structures of a few rooms / corridors, that are then placed and combined with additional corridors.

Acidburn707 commented 6 years ago

Weiß nicht, wollen wir Räume? Hätte das wohl wie bei Drachenhort gelöst - Einfach nur Gänge, die eben ich Sackgassen enden können. Ansonsten würd ich das einfach viereckig machen, mit gleichen Seitenlängen. Eventuell könnte man am Anfang auswählen, wie groß die Karte werden soll.

Wegen Algorithmen muss man halt schauen...da kenn ich mich wahnsinnig gut aus. :D

cseyda commented 6 years ago

Der Punkt mit den Algorithmen war zu zeigen, dass die Ergebnisse drastisch verschieden sind, und dass wir wissen müssen, was wir haben wollen, um den passenden Algorithmus auszuwählen.

Deswegen dann die Beispiele für euch, was wir haben wollen.

Wir bewegen uns auf einem Grid, da wird nichts rund sein, oder verschiedene Seitenlängen haben?

Acidburn707 commented 6 years ago

Ich hab nirgendswo was mit rund geschrieben? Und verschiedene Seitenlängen könnte das Grid ja trotzdem haben.

cseyda commented 6 years ago

Kannst du mir ein Bild von einem Grid mit verschiedenen Seitenlängen zeigen? :thinking:

Acidburn707 commented 6 years ago

Ist "Grid" wieder irgend n dämlicher Fachbegriff für irgendwas? Kann ich kein Grid als 5x8 oder sonst was haben? Dann hab ich doch unterschiedliche Seitenlängen.

cseyda commented 6 years ago

5x8 bezeichnet die größe des grids an sich; nicht die seitenlänge eines jeden feldes. grid ist nicht direkt fachbegriff, aber allgemein versteht man darunter eine anordnung an gleichartigen feldern in einer logisch zu repräsentierenden art und weise, zum Beispiel auch Hexadiagonalgrids.

In unserem fall haben wir keine seitenlängen, da das grid nur logisch vorhanden ist, und für unsere zwecke seitenlängen irrelevant sind.

Acidburn707 commented 6 years ago

Jetzt kapier ich was du willst. Ich hab von der Karte geredet und nicht von einem Feld. Die Karte soll gleiche Seitenlängen haben.

cseyda commented 6 years ago

Wieso soll die Map gleiche Seitenlängen haben? Inwiefern ist das Gameplay relevant?

burningox commented 6 years ago

Also ich hätte gedacht, dass man mehrer "Orte" hat und man die miteinander verbinden kann. Dadurch könnten wir grundlegend unterschiedliche Mazes haben (Dungeon, Stadt, Wald etc.)

Eine Stadt/Dorf würde ich anders anordnen als einen Dungeon. Und selbst dann hätte ich noch nach der Art des Dungeons unterschieden. Eine Kanalisation hat eine andere Struktur (lange Korridore mit einzelnen Räumen) als eine Höhle (wild und unlogisch mit Sackgassen). Und falls man in die Hölle kommt, könnte man Dantes Kreise nachzeichnen.

Also wie bei den Tiles und den Events. Ich würde da für Häuser eine Grundstruktur nehmen (Einzelräume, die miteinander verbunden sind (Treppe, Küche, Dachboden, Keller, Wohnzimmer). Kann man solche Strukturen auch speichern? Wenn man in ein Haus zurückkehrt, sollte es ja gleich bleiben?

Dungeons (natürliche Höhlen etc.) können gerne wie der Prims's algorithm aussehen. Wobei viele Sackgassen wohl auch nervig sind. Ich hab die Struktur von Dungeons eh selten verstanden und wenn dann nur, wenn sie "handgemacht" waren (Abkürzungen, wiedererkennbare Orte etc. Ich bin da aber wohl viel zu graphisch ... wobei man solche Elemente sicher auch einbauen kann). Daher tue ich mir da schwer ein gewisses Maze für Dungeons auszuwählen. Sonst kann man Hinweise innerhalb der Dungeons geben, ob man in Richtung Ziel läuft (Hier riecht es nach frischer Luft, es kommt ein wenig Helligkeit rein, der Weg geht nach oben). Das müsste man dann mit einem "richtigen" und einem "falschen" Weg abpassen und ich weiß nicht, ob das geht.

Zur Frage mit der Map: Ich glaube auch nicht, dass sich die Länge der Map spielrelevant auswirkt. Außer man will auf etwas hindeuten (Anfangs breiter, mehr Möglichkeiten für Sackgassen und Loot und dann merkt man, dass sich die Karte zuspritzt, weil dort etwas besonderes ist (Eingang zur Hölle etc.) Das würde man ja auch auf der Map sehen (die ja mitgezeichnet werden soll) und könnte sich darauf einstellen, dass es gleich zu einem Event kommt.