Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Auch wenn Eigenwerbung stinkt möchte ich hier auf einen Artikel Hinweisen den ich heute veröffentlicht habe : Random Dungeon Generation
In diesem "Artikel" geht es um meine Herangehensweise für einen Zufallsdungeongenerator, wie in vielen Spiele aus dem "Dungeon Crawler"-Genre benutzen (Eye of the Beholder, Black Crypt, Shining in the Darkness, auch wenn diese keine Zufallsdungeons nutzen). Einen solchen Generator wollte ich schon immer schreiben (zumindest seit ich zum ersten mal einen Dungeon Crawler gespielt habe) und quasi als Ausgleich zu meiner permanenten Arbeit an Projekt "W" hab ich mich in den letzten Tagen mal hingesetzt und einen solchen Zufallsgenerator für Dungeons geschrieben.
Allerdings habe ich mich hier nicht an anderen Generatoren orientiert und auch keine Artikel zu dem Thema gelesen, da ich sowas komplett von Anfang an selbst machen wollte. Ob meine Version jetzt die beste, schönste, oder sonstwas ist bleibt offen. Daher habe ich den Artikel eher als eine Art "Journal" geschrieben in dem ich meine Schritte auf dem Weg zum Zufallsgenerator beschrieben habe.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nettes Teil.
Wie John Lee einst sagte: "Wanne see some games!"
Du hast da ja definitiv das Zeug dafür - abgesehen von einem - Zeit.
Aber es gibt hier scripter für Events, Leute die sehr gut modelln und texturieren können und vielleicht auch den ein oder anderen spezi der dir im Kern zuarbeiten könnte.... vielleicht wäre so ein Spiel mal ein gutes Community Projekt. Irgendwann vielleicht...
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Die Ergebnisse sehen auf jeden Fall gut aus. Den ganzen Artikel habe ich jetzt nicht gelesen, nur ab den Türen (das meiste hab ich ja wohl auch im Chat mitbekommen ).
Jetzt fehlt wirklich nur noch ein Spiel drumherum.
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Cool, ich wollte mir schon immer mal etwas zu dem Thema durchlesen, bzw. selbst einen Generator schreiben. Ich werds mir auf jedenfall mal durchlesen.
EDIT: Der Ansatz gefällt mir. Ich weiß zwar nicht wie die "Profis" es machen, aber das sieht mir schon recht gut aus. Als Spiel könnte ich mir einen Endlos-Dungeon vorstellen, der immer weiter Zufalls-generiert wird Nur müsste man die Rauminhalte dann auch am Besten komplett generieren, da man sonst vielleicht 10-20 verschiedene Räume hat, die man immer wieder sieht.
Danke für den Artikel, der kommt mir für mein Projekt auch sehr gelegen Bis jetzt werden da die Dungeons nur Raumweise in einem festen Gitter erzeugt, was nicht besonders überzeugend ist (alle Räume gleich groß, Abstand zwischen zwei Räumen fest).
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Freut mich wenn jemand den Artikel gebrauchen kann. Hoffe dann aber auch dass wier hier auf DGL mal etwas von deinem Projekt zu sehen bekommen
Ansonsten habe ich bereits eine Idee für einen "Dungeon Crawler" (eigentlich sogar zwei) die nicht gerade gängig ist und sich eher an Erwachsene richtet. Mal sehen ob ich die umsetze, interessieren würde es mich schon. Ich hab zwar nicht sonderlich viel Zeit, aber allein dadurch dass die Level automatisch generiert werden, würde ein großer Teil de Contenterstellung wegfallen. Einen Prototypen wirds aber auf jeden Fall geben, denn die Spielidee ist mir zu schade sie nicht zumindest testweise umzusetzen.
Registriert: Mi Jul 15, 2009 20:48 Beiträge: 111 Wohnort: Berlin
Programmiersprache: Delphi,JS,PHP,AS3,C#
Seth hat geschrieben:
Als Spiel könnte ich mir einen Endlos-Dungeon vorstellen, der immer weiter Zufalls-generiert wird
das ist ne super idee! ich find sie so gut, dass man sie fast aufschreiben sollte, in eine art idee'n buch^^ ich könnte mir das als spielmodus vorstellen.... vill ein survival mode, in dem man mal mehr möglichkeiten hat, man kann sich bewegen. räume und ggf gerätschaften in den räumen nutzen, oder man erhöht von raum zu raum die gegnerschwierigkeit, und hat ne neue skala für den erfolg. genaueres wäre zu überlegen, aber so könnte der ballerbude-survivalmode aussehen...
_________________ thanks to the internet we have rule 34, wich states that if something exists, theres a pornographic version of it,
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Meine Spieleidee hat übrigens auch was mit Überleben zu tun, auch wenns nicht ganz in deine Richtung geht. Sprich der Dungeon wird am Anfang des "Levels" generiert, und Gegner im traditionellen Sinne wirds auch nicht geben, und man wird wahrscheinlich sowohl essen als auch trinken müssen. Zum Setting sag ich aber noch nix.
P.S. : Ich hab gestern mal kurz an der Technik gebastelt und man kann jetzt in 3D durch die Dungeons streifen, inklusive halbwegs brauchbarem Parallaxmapping, dass dann dank PPL auch eine schöne Lichtquelle um den Spieler herum simuliert. Da diese auch leicht flackert und alles recht düster ist, kommt das schon in etwa in die Richtung in die ich möchte : http://www.saschawillems.de/misc/dungeo ... oto_01.jpg und http://www.saschawillems.de/misc/dungeo ... oto_02.jpg
Sieht in Bewegung natürlich besser aus, den Parallaxeffekt sieht man auf den Bildern eher nicht so gut. Ausserdem sind die Texturen nurz Platzhalter, da sie zu meinem angepeilten Setting nicht passen. Aber da man für diese Technik ja sowohl Normalen als auch Höhenmaps für die Texturen braucht hab ich halt genommen was da war und die Höhenmaps selber erstellt. Von daher sieht z.B. die Wand in Shot zwei nicht ganz so plastisch aus wie es mit der Technik möglich wäre.
Registriert: Do Jun 28, 2007 17:58 Beiträge: 193
Programmiersprache: Pascal, C
Hallo,
danke für den Interessanten und detailierten Artikel.
Habe mit diesem als Basis nun auch ein Dungeon-Generationssystem erstellt. Meines Besitzt dabei die Fähigkeit Räume mit unregelmäßigen Formen zu erstellen. Hierzu dürfen die Endpartitionen des Quadtrees nicht unter einen gewissen Wert geschrumpft werden, wodurch einige Räume zusammenwachsen. Im anschließenden Schritt separiere ich die Räume wieder voneinander, suche mir einen Raum als "Startraum" aus und verbinde anschließend alle mit einem Weg.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Schön das andere auf meinen Artikel aufbauen. Dein Ergebnis sieht ganz interessant aus, wobei mir persönlich ein Zufallsdungeon in dem man quasi nur einen Weg hat nicht so gefällt. Aber bin mal gespannt, hast du vor da noch mehr draus zu machen?
Nutze hier Parallax Mapping und Per-Pixel-Beleuchtung. Für die Physik benutz ich den neuen Character Controller aus Newton 2.00, mit dem man in wenigen Zeilen Code einen Character durch seine Umgebung laufen lassen kann. Ausserdem nutze ich Newton auch für die Sichtbarkeitsberechnung der Karte, genauergesagt die Raycastfunktionalität. Da der Dungeon ja ah als Kollisionsgeometrie für Newton vorliegt war es naheliegend Sichtbarkeit auch so zu machen. Ist zwar nur ein allererster Prototyp, aber evtl. wird daraus mal ein Spiel.
Registriert: Do Jun 28, 2007 17:58 Beiträge: 193
Programmiersprache: Pascal, C
Sascha Willems hat geschrieben:
Schön das andere auf meinen Artikel aufbauen. Dein Ergebnis sieht ganz interessant aus, wobei mir persönlich ein Zufallsdungeon in dem man quasi nur einen Weg hat nicht so gefällt. Aber bin mal gespannt, hast du vor da noch mehr draus zu machen?
Momentan schon: Nur so viel sei verraten: Ich "missbrauche" gerade Andorra 2D als 3D-Engine (geht super!)... Und um HDR werde ich auch nicht drum rum kommen... Es befindet sich aber noch nicht in einem "Screenshotwürdigen" zustand - habe gerade erst Quadtrees und Objektverwaltung fertig. Und die Sache mit dem "nur einen Weg" ändere ich auch noch. Ich kann den Raum-Verbindungs-Algorithmus ja auch zwei mal starten.
@Sascha Das klingt so wie "Ich hab das mal gerade in 10 Minuten aus dem Boden gestampft..." Dafür siehts ziemlich gut aus. Du sagst mir als Anfänger also jetzt bitte, dass du alle Bibliotheken etc. schon hattest und nur zusammensetzen musstest, oder dass das deutlich länger gedauert hat als du den Anschein erweckt hast...ich weiß nicht was sonst passiert, aber ich hab das Gefühl es wirkt sich negativ auf meine Motivation aus xD
Okeh...mal ernsthaft: Sieht ziemlich gut aus fürn Prototypen...hast du auch Informationen zum Spielgeschehen? Meintest ja mal, es sollte etwas anders werden als man das so kennt. Oder willst du damit (noch) nicht rausrücken?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Naja, viel ist da ja nicht drin. Ich hab zwar etwas länger als 10 Minuten gebraucht, aber der Prototyp hat ohne Zufallsgenerator weniger als 1000 Zeilen. Da ist ja auch nix besonderes drin. Parallax Mapping hab ich schonmal was gemacht, musste ich also nur um eine Schleife für mehrere Lichtquellen erweitern, der Charactercontroller kommt von Newton, etc. Wenn man Gas gibt hat man sowas in ein oder zwei Stunden fertig.
Und zum Spiel selber sag ich noch nix. Nicht dass ich hier was großartig zur Spielidee sag, und nachher kommt nie ein Spiel raus.
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.