Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.07.2007, 02:25

Zufällige Levelgenerierung - Wie?

Hallo erstmal! :)

Momentan bin ich eher abstinent was die Programmierung angeht, allerdings mache ich mir hin und wieder Gedanken darum, wie gewisse Dinge wohl umgesetzt werden könnten. So bin ich letztens beim Diablo-Spielen auf eine interessante Herausforderung gestossen, nämlich die zufällige Level-Generierung, welche im besagten Spiel außerordentlich gute Ergebnisse liefert. Als weiteres Beispiel könnte man Infinity (http://www.fl-tw.com/) hernehmen, ein SciFi-Spiel (allerdings noch in Entwicklung) dessen Universum nicht von Hand erstellt sondern berechnet wird.

Bleiben wir beim Beispiel von Diablo. Hier stellt sich mir nun die Frage, wie man am effizientesten die zufällige Levelgenerierung umsetzen kann, ja wie überhaupt die Theorie dazu aussieht. Ich habe leider nur eine vage Vorstellung davon, deshalb wende ich mich an Euch, da es sicherlich Leute gibt, die damit Erfahrung gemacht haben. Mir ist's dabei im Grunde egal, ob ihr lediglich selbst erdachte Theorien zum Besten gebt, oder mir gar Lektüre zu dieser Programmier-Art (es gibt doch bestimmt auch eine Bezeichnung dafür, oder?) empfehlen könnt. Die Umsetzung ist ja letztlich mir überlassen ;).


Danke schonmal. :)

2

27.07.2007, 11:19

Mein Vorschlag: Du müsstest erst einmal zufällige Zahlen generieren lassen, die die Koordinate bestimmter Objekte (Gebäude etc.) darstellen und dann irgendwie die Wege so rendern, dass sie zu den Objekten führen. Insgesamt ist das aber nicht so einfach zu realisieren.
Sprachen: C/C++, C#, Assembler (16-Bit), QuickBASIC

Sicaine

unregistriert

3

27.07.2007, 12:05

Sind das bei Diablo2 nicht lvl gebiete die eben auf paar wenige bestimmte Moeglichkeiten zusammengeklebt wurden?

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

27.07.2007, 15:04

Die Levels in Diablo 2 sind schon jedesmal komplett zufällig. (das merkt man am besten online, weil dann bei jedem neuen Spiel die Levels komplett neu generiert werden, im Singleplayer wird die Welt nur jedesmal neu generiert wenn man einen neuen Helden anfängt), sie genügen aber immer bestimmten Bedingungen und oft gibt es Levelteile, die immer gleich sind.

Zitat von »"scratch"«

Als weiteres Beispiel könnte man Infinity (http://www.fl-tw.com/) hernehmen, ein SciFi-Spiel (allerdings noch in Entwicklung) dessen Universum nicht von Hand erstellt sondern berechnet wird.



Das Konzept haben die aber auch geklaut, das gibts schon lange :) In Gems 1 gibt es einen Artikel zum Erstellen von Welten aus festen oder zufälligen Zufallsgenerator-Zahlenreihen.

5

27.07.2007, 18:55

Ich bin mir nicht ganz so sicher, ob die Levelgenerierung in Diablo *komplett* zufällig geschieht. Ich denke eher, dass zunächst das Layout des Levels erstellt und danach dieses Layout mit vorgefertigten Bausteinen bestückt wird, also die Grafiken für Gänge, Räume usw. Mich interessiert dabei, wie man (eventuell mit einer einzigen Formel) dieses Grundskelett des Levels glaubwürdig generieren kann. Gibt's diesen Artikel aus Gems irgendwo zum Nachlesen?

[Edit]
Für diejenigen, die es interessiert:
Ich habe gerade ein pdf gefunden, welches die "zufällige Labyrinth-Generierung" beschreibt: http://www2.informatik.uni-erlangen.de/Lehre/WS200506/GameAlgHS/download/Rathmann-Prozedurale_Labyrinth-Generierung.pdf?language=de

Alternativ einfach mal nach "zufällige levelgenerierung" googlen.

Werbeanzeige