IRC Logs for #zfx


2022-11-14

07:25:24 Hannes joined the channel
07:25:45 Hannes: Guten Morgen!
08:11:38 joeydee joined the channel
08:14:02 Hannes: Hallo joeydee
08:15:08 joeydee: moin
08:15:27 joeydee: na was treibst du so, Hannes?
08:15:58 Hannes: ich schaue mir Unity Tutorials an
08:16:12 Hannes: und du?
08:16:28 joeydee: Ah cool, hatte mir eigentlich auch vorgenommen, da mal wieder reinzuschauen.
08:16:57 joeydee: Im Moment null coden, mehr Modellbau mit 3D-Drucker auskosten.
08:18:43 Hannes: ich informiere mich über Dungeon-Generierung
08:19:45 joeydee: da gibts ja ein paar Methoden. Hast du was bestimmtes im Auge?
08:25:58 Hannes: ich hab was im unity forum gefunden, was ich mir ganz gut vorstellen könnte
08:26:20 Hannes: https://forum.unity.com/threads/help-with-procedural-level-generation-different-room-sizes.825135/
08:40:57 joeydee: dann berichte mal wenn du was lauffähiges hast, interessiert mich generell auch (nur tech, kein aktives Projekt dazu)
08:52:26 joeydee: Ich hatte da mal einen Ansatz begonnen der einen großen Raum rekursiv in 2 teilt, mit einem Durchgang dazwischen. Da entsteht auch ein komplett begehbares Labyrinth. Wollte da mal weitermachen, damit verschieden große Räume und auch Gänge entstehen, hatte auch eine vage Idee dazu, aber nie ausprobiert.
08:55:30 Hannes: einen Binärbaum mit zufälligen Raumgrößen hatte ich mal gemacht. Ich wusste aber nicht so richtig wie ich die Räume verbinden soll
08:55:50 Hannes: Es entstanden so viele Flure
08:56:33 Hannes: und jede Menge leerer Raum
08:58:00 joeydee: Die Methode die ich beschrieb erzeugt (wenn bis zum letzten Schritt durchgezogen) erstmal so ein Karopapier-Labyrinth, wo es im Prinzip nur Gänge, Ecken und Winkel gibt, alles ausgefüllt ist, aber auch jedes Kästchen von überall erreicht werden kann.
08:58:23 joeydee: Aber das wollte ich nur als Grundlage, um daraus typischere Dungeons zu machen.
10:22:24 joeydee: Hannes, hattest du da auf ZFX einen Thread dazu? Zu deinem Dungeon-Projekt, bzw. zur Frage nach prozeduralen Dungeons? Meine mich zu erinnern, finde aber nichts mehr.
10:32:11 xq: moin moin
10:33:25 xq: ah, dungeon generierung
10:33:27 xq: schönes thema!
10:33:30 xq: 3D-Druck auch
10:33:44 xq: joeydee: check dis out! https://mq32.de/public/sddrive-02.mp4
10:34:40 joeydee: ja cool :D
10:35:12 Hannes: xq, hallo
10:35:30 Hannes: joeydee, ich hab nur mal vereinzelt bilder gepostet
10:35:43 xq: joeydee: es macht schon verdammt spaß, sowas zu basteln
10:36:00 xq: ich brauch aber definitiv noch ne runde 2, hab auf dem weg ne menge erfahrung gesammelt
10:36:45 Hannes: https://www.spieleprogrammierer.de/index.php?page=Attachment&attachmentID=5847&h=a8f9ec69de73b11916a16ab14f7db10c6ac19475
10:37:04 Hannes: ein bild von meinem alten monogame projekt
10:37:20 xq: ich hatte auch mal ne idee für nen procgen für dungeons, komme aber grade nicht mehr auf den algo
10:37:28 xq: muss mal gucken, ob ich wieder was finde
10:40:15 Hannes: das ist alles ein gefrickel mit unity. ich bin nur am suchen
10:40:29 xq: ich würde wahrscheinlich den kram roh in C# implementieren
10:40:31 xq: erst mal ohne unity
10:41:03 xq: die grundidee von meinem generator war glaube ich, dass man quasi ne art "baumsuche" macht
10:41:15 xq: aber beim ablaufen der äste jeweils zufällige features auswählt
10:41:43 xq: starte mit: "raum". suche eine nachbarzelle, packe dort ein {raum,durchgang,flur} hin
10:41:54 xq: wenns nicht ging, einfach nochmal mit was anderem probieren
10:42:16 joeydee: ich skizziere euch mal meine Idee. Die müsste funktionieren, aber mangesl Zeit habe ich sie erst zur Hälfte in Code evaluiert.
10:43:37 xq: hau rein!
10:43:48 xq: ich skribbel vllt. nebenher auch ein wenig an meiner rum
10:44:58 joeydee: Sind 6 Bilder, ich erkläre nacheinander, wenns geht keine Zwischenrufe bis dahin ;)
10:45:58 joeydee: Am Anfang gibte einen großen "Raum". Rekursiv wird jeder Raum in 2 geteilt, mit einem Durchgang. Hier die erste Teilung: https://www.phoximages.de/uploads/2022/11/i70746br4bk0.jpg
10:46:20 joeydee: (Das ist ein bekanntes System)
10:46:34 joeydee: Ein paar Schritte weiter: https://www.phoximages.de/uploads/2022/11/i70747br3t4z.jpg
10:47:12 joeydee: Bis nix mehr geht (hier Rastergröße, aber man muss das nicht an ein Raster binden): https://www.phoximages.de/uploads/2022/11/i70748bo3tur.jpg
10:47:35 joeydee: So ein Labyrinth ist natürlich nicht gewünscht für Games, das Wesentliche kommt gleich.
10:49:24 joeydee: Man stoppt vorher (Mindestgröße für Räume), und je Raum zieht man von jedem Durchgang aus einen Flur und baut am Ende jedes Flurs eine Box, welche z.B. alle den Mittelpunkt des Raums überlappen müssen. Um sicherzustellen dass alle verbunden sind. https://www.phoximages.de/uploads/2022/11/i70749bf5kcn.jpg
10:49:50 joeydee: Mal grob skizziert für alle Räume: https://www.phoximages.de/uploads/2022/11/i70750bbeyn1.jpg
10:50:02 joeydee: Result: https://www.phoximages.de/uploads/2022/11/i70751btuain.jpg
10:51:02 joeydee: Wie stark die Räume den Space füllen, oder wie die Proportionen für die Räume sind (lang und schmal unterbinden) lässt sich alles justieren.
10:51:09 joeydee: So, ferdsch.
10:52:48 joeydee: Man muss das auch nicht als Baum speichern, einfach ne Liste von Räumen reicht. Der Labyrinth-Algo stellt sicher, dass alle Areale prinzipiell erreichbar bleiben.
10:54:38 xq: das problem ist, dass dabei auch nur diese wurstel-dungeons entstehen
10:54:41 xq: die alle nur ästeln
10:54:50 xq: statt nen zusammenhöngenden block zu bilden
10:57:46 joeydee: Es entsteht eigentlich genau das, was ich versuche zu erstellen. Was du als "Problem" beschreibst, war zumindest für mich eigentlich Ziel, also Räume welche durch Gänge verbunden sind.
10:58:27 joeydee: Zeig mal ne Map was du optimalerweise meinst. Gibt da ja verschiedene Stile, was man erreichen möchte.
10:58:44 joeydee: Weiß auch nicht was Hannes' Ziel ist.
11:00:27 joeydee: Oder meintest du einfach allgemein realistischere Gebäuderäume? Das hier sind natürlich unterirdische Dungeons.
11:00:37 Hannes: ich mache mehr ein Grundriss für ein Haus
11:00:56 Hannes: also wie dieses Beispiel: https://www.phoximages.de/uploads/2022/11/i70747br3t4z.jpg
11:03:11 xq: joeydee: was mich stört ist, dass jeder raum entweder eine oder zwei türen hat
11:03:20 xq: bzw das ist falsch
11:03:25 xq: die räume haben einen HUB
11:03:30 xq: und ich hab keine loops
11:05:09 joeydee: Kann man im 1. Algo einfach ändern. Ein Durchgang ist nur Mindestvoraussetzung, damit es keine "Inseln" gibt.
11:05:36 xq: jo stimmt
11:07:38 joeydee: Und im zweiten Schritt: wie die Raumkonturen genau erstellt werden, da kann man auch viel ausprobieren. Auch Blobs für natürlichere Höhlen. Oder einfach die ganze Box nehmen (mit einem Inset für Wanddicke): https://www.phoximages.de/uploads/2022/11/i70752bv33yc.jpg
11:09:01 joeydee: Also ich müsste es mal selbst fertigcoden und testen, aber ich 'glaube', es könnte ein ziemlich flexibler und gut steuerbarer Algo werden. Man kann auch Mischen, da jeder Raum letztendlich mit anderen Einstellungen generiert werden kann.
11:10:10 joeydee: Oder Map-Areale erzeugen, welche stärker unterteilt sind als andere. Oder dass Unterteilungen bestimmte Voraussetzungen erfüllen müssen (min. x Meter von der nächsten Wand weg, Raumproportion nie schmaler als x zu y, ...)
11:13:24 joeydee: Zwei Durchgänge/Wand: https://www.phoximages.de/uploads/2022/11/i70753bzgh2r.jpg
11:15:50 xq: das sind ja aber auch wieder nur übergange von A nach B, nur halt zwei statt einer
11:17:47 joeydee: Wodurch Loops entstehen. Wo ist jetzt das Problem?
11:19:06 xq: naja, geht mir eher darum, dass ich halt A->B->C laufen kann
11:20:28 joeydee: ?
11:21:40 xq: naja, in deinem fall kann ich ja nur A-[x]->B->[y]->A laufen
11:29:11 joeydee: Nö. Schau nochmal genauer.
11:30:06 joeydee: https://www.phoximages.de/uploads/2022/11/i70754bqyqjc.jpg
11:33:08 xq: oh
11:33:10 xq: *facepalm*
11:33:12 xq: sorry
11:34:05 joeydee: :) - aber wie gesagt, das war bisher die Idee, ich müsste es mal machen und auf Pitfalls checken.
11:35:24 joeydee: Wenn, würde ich auch gerne noch Kriterien für Türen einbauen.
11:35:43 xq: hehe
11:35:56 xq: ich grübel ja immer noch darüber, wie man so ein dungeon tatsächlich interessant gestaltet
11:36:00 xq: bzw. jegliche art von level
11:36:08 xq: weil nen gewisses backtracking ist geil
11:36:11 xq: aber zu viel ist wieder scheiße
11:36:17 xq: kein backtracking hiese schlauchlevel, also auch kacka
11:37:36 joeydee: Ich habe auch ne vage Idee, wie ich "gesperrte" Areale mache, und in welchem Bereich der "Schlüssel" sein muss, damit der komplette Level lösbar ist.
11:39:09 joeydee: (Questmäßig war Descent ja so aufgebaut, mit den farbigen Keycards)
11:41:31 xq: jo, doom ja auch :_)
11:41:41 joeydee: "Level interessant gestalten" ist halt viel human composition, kann man automatisieren, aber muss man auch viel von menschlicher Auffassungsgabe dazu wissen, und wie man diese steuert. Ähnlich wie Theorien zur Bildaufteilung in Fotografie/Malerei.
11:41:43 xq: aber ne "keycard" ist ja nur eine beliebige condition
11:41:53 joeydee: ja genau.
11:41:54 xq: jo, stimmt
11:43:17 joeydee: Hab mal was dazu gelesen, wie in Open-World-Titeln Questwege und Ablenkungen "komponiert" werden, damit der Spieler möglichst lange und interessiert dabei bleibt.
11:45:24 joeydee: Einfachstes Szenarium: Weg und Blick auf das Ziel ist versperrt (Environment, NPCs, ...), kleiner Umweg muss genommen werden (um einen Felsen herumlaufen), das lenkt den Blick auf einen neuen POI, welcher deutlich näher als das eigentliche Ziel scheint.
11:46:27 joeydee: Und wenn man sowas automatisieren will, ist Hindernis- und POI-Placement fast so wie das Aufteilen des Binärlabyrinths.
12:06:52 Schrompf joined the channel
12:20:32 Hannes: bis bald
12:31:56 Magister joined the channel
13:36:56 Magister joined the channel
18:36:41 Magister joined the channel
19:16:26 Hannes joined the channel
19:16:38 Hannes: heyho
19:16:54 Hannes: Karak ist heute Nachmittag angekommen
19:18:00 Hannes: dann hab ich was fürs Wochenende
19:31:54 Magister: hi Hannes
19:32:05 Magister: was ist karak?
19:50:30 Hannes: Ein Gesellschaftsspiel
19:51:25 Hannes: xq hat Karat empfohlen
19:51:32 Hannes: da hab ich zugeschlagen
19:51:40 xq: eig. wars meine freundin :D
20:22:29 Schrompf joined the channel
20:23:27 Schrompf: tsss.
20:23:42 Schrompf: xq, Hannes: ich habe mir nach dem Lesen des Logs heute die Legenden von Andor bestellt
20:24:12 Schrompf: zu zweit nur mit Frau fand ich Spiele immer bissl lahm, aber wir haben ja gelegentlich Besuch und die Kinder vertun sich inzwischen haaalbwegs zuverlässig selbst
20:24:28 Schrompf: karak muss ich mal googeln
20:27:40 Schrompf: für kinder ab 7! auch gleich noch bestellt
20:35:07 Hannes: Schrompf ist auf Shoppingtour
21:08:00 Schrompf: jaaa <3