Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
03.10.2012, 16:20
McScore



Hallo alle Miteinander

Für mich ist es in Left 4 Dead 2 am aufregendsten, eine Kampange zum ersten Mal zu spielen. Die Ungewissheit, ob ich in die richtige Richtung laufe, macht es spannend. Daher habe ich mir gedacht, ein Generator für neue, zufällig zusammengewürfelte Karte sei lustig. Dann habe ich einen geschrieben.

Dieses Python Script beinhaltet einen einfachen Parser für Valves Map Files. Mehrere Teilkarten können zufällig zu einer neuen Karte zusammengesetzt werden.

Leider gibt es bei der automatischen Erzeugung der Navigationsinformationen für die Bots (und Zombies!) Probleme, die ich nur umständlich lösen konnte.

Das Script hat noch einige Macken, aber als Proof-Of-Concept reicht es allemal. Leider fehlt mir die Zeit, dieses Projekt weiterzuführen. Falls Du interesse hast, nimm den Quelltext und die Kartenteile und mach was eigenes draus!

Ergebnis:
Script: http://www.hehoe.de/mcs/downloads/L4D2MapGenerator.zip
Beispiel: http://www.hehoe.de/mcs/downloads/L4D2MapGenerator_proofOfConcept.zip

--

... und der große böse Wolf bootete und bootete und bootete ...
Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts!
http://www.mcscore.de.vu
13+3+7=23, 133/7+23=42


Dieser Beitrag wurde am 03.10.2012 um 16:25 von McScore bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
03.10.2012, 18:34
the-middleman



Ich finde die Idee sehr cool. Habe auch schon ein paar mal an Zufallsmaps gearbeitet, dann aber eher mit Wänden die auftauchen oder Verschwinden.

Mit deinem Navigationsproblem kann ich dir leider auch nicht helfen.

Könntest du für Laien erklären wie das ganze funktioniert? Werden die maps nach dem compile zufällig angeordnet? Oder vorher? Ist das multiplayerfähig?

--

Spielen: Prison, Ispatel 4: Classic, Heart of evil
Anschauen: Spirit of Half-Life: Legion

The Trap ist mit abstand die fantastischste Mod die ich seit langem gespielt habe!

zum Seitenanfang zum Seitenende Profil || Suche
002
03.10.2012, 21:22
McScore



Zitat:
the-middleman postete
Werden die maps nach dem compile zufällig angeordnet?
Vor dem Compile.

Zitat:
the-middleman postete
Ist das multiplayerfähig?
Ja, denn L4D2 alleine Spielen ist nicht schön. ;) Nach dem Compile unterscheidet sich die Map nicht mehr von anderen. Nur dadurch, dass das Navigationsnetz nicht von Hand erstellt wurde, laufen die Bots und Zombies häufig nicht die sinnvollsten Wege.

Zitat:
the-middleman postete
Könntest du für Laien erklären wie das ganze funktioniert?
Ja, gerne.
Die Quellen einer Karte werden vom Hammer Editor bekanntlich in einer VMF-Datei gespeichert. VMF ist ein freundliches textbasiertes Format. Ein Hauptteil der Arbeit liegt im Lesen, Verarbeiten und Speichern von VMF Dateien.
Ich habe mir überlegt, es wäre sinnvoll, eine zufällige Karte aus vorgefertigten Teilen zusammensetzen zu lassen. Ich habe sie Kacheln genannt. Mehrere VMF-Dateien können als Kacheln geladen werden. Eine Einschränkung dieser frühen Version ist, dass die Kacheln tatsächlich alle gleich groß und quadratisch sind. Das muss in zukünftigen Versionen nicht unbedingt sein, vorausgesetzt ich implementiere eine ordentliche "passt diese Kachel noch da hin?" Funktion. Wie dem auch sei, jede Kachel ist im Hammer Editor eine eigenständige Karte. So kann man eine Kachel bequem erstellen, dekorieren, kompilieren und begutachten.
Damit ich die Karte zusammensetzen kann, muss jede Kachel mindestens einen Übergang besitzen. In jede Wand kann ich ein Loch in der Größe einer Tür schneiden und mit einem neuen Block wieder auffüllen. Die Außenseite des Blocks belege ich mit einem bestimmten Material (konfigurierbar). Nach dieser Seite kann ich im Programm suchen und weiß so, wie ich die Kacheln positionieren muss, damit sie nahtlos aneinander passen. Momentan ist es noch nötig, den Block auch noch einer Visgroup zuzuordnen. Sie haben die Namen door_north, door_east und so weiter, da ich noch keine "wo ist hier Außen?" Funktion geschrieben habe. Zusätzlich habe ich noch die Möglichkeit eingebaut, dem Übergang eine Tür zu geben. Wird bei der Generierung der Zufallskarte der Übergang nicht benutzt, weil keine weitere Kachel angelegt wurde, wird die Tür entfernt und der Block bleibt in der Wand.
Weitere technische Details stehen in der Readme im Archiv.

Es gab ein vergleichbares Projekt.
http://home.tiscali.se/hxpro/hl2rmc/
http://www.moddb.com/mods/half-life-2-random-map-creator-10
http://halflife2.filefront.com/file/HalfLife_2_Random_Map_Creator;47054
Seit sieben Jahren scheint sich da nichts mehr getan zu haben. Da für das Spielen in L4D2 ein Navigationsnetz zwingend notwendig ist und jener Zufallskartengenerator eine automatische Erstellung nicht beinhaltet, habe ich meinen geschrieben. Ich möchte da auch noch gerne mehr Arbeit reinstecken, leider weiß ich jedoch nicht, wann ich dazu wie viel Zeit finde.

--

... und der große böse Wolf bootete und bootete und bootete ...
Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts!
http://www.mcscore.de.vu
13+3+7=23, 133/7+23=42


Dieser Beitrag wurde am 03.10.2012 um 21:34 von McScore bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
11.05.2013, 14:22
McScore



Ich vergaß in dieser Beschreibung ein Update: Kacheln müssen nicht mehr quadratisch sein. Übergänge können sich auf den Außenseiten an beliebigen Positionen befinden.

--

... und der große böse Wolf bootete und bootete und bootete ...
Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts!
http://www.mcscore.de.vu
13+3+7=23, 133/7+23=42

zum Seitenanfang zum Seitenende Profil || Suche