|
|
|
#1
|
||||
|
||||
|
@ Matze: Dann pack doch deine Map auch in den Vorstellungs-Thread und leg ein paar Bilder dazu.
![]() @Topic: Ich denke es gibt viele die einen echten Zufallsgenerator zum Erstellen von Karten begrüßen würden. Prinzipiell sehe ich jedoch einen großen optischen Nachteil darin. Die erstellten Karten werden im Vergleich zu konventionell editierten recht schlecht aussehen, da z.B. Straßen und Wege nicht vorhanden sind und wenn doch dann nicht zu den vorhandenen Gebäuden passen (nur mal als Beispiel). Ebenso wird es auch bei den Texturen sein. Selbst wenn ein Generator viele Details erstellen würde, dann würde dieser vermutlich Stunden lang laufen bis eine Map fertig ist. Das eigentliche Problem ist eben das die Komplexität einer heutigen 3D-Map nicht einmal ansatzweise mit der einer 2D-Map zu vergleichen ist. Das wird auch der Grund sein warum eigentlich kaum noch ein Spiel einen solchen Generator einsetzt. Aber Hut ab wenn sich da einer rantraut. Sicherlich ist es aber dennoch eine gute Alternative wenn man schon alles durchgespielt hat was es so gibt.
__________________
-->Reviews von Gamern für Gamer bei Gamer-Oase.de<--
Oh, isn't there someone else you can annoy? Friends? Family? Poisonous reptiles? - Manfred in Ice Age |
|
#2
|
||||
|
||||
|
Ich habe da eher an ein paar Sekunden Erstellungszeit pro map gedacht
![]() Genau wie du geschrieben hast sehe ich das grösste problem in zusammenhängenden objekten -> strassen, flüsse, gebirgsverläufe. Deshalb die ersten versuche mit einzelnen Objekten wie Gebäude, Bäume usw. Wenn ichs mal geschafft habe die Bäume zu Wäldchen zu gruppieren wirds interessanter ![]() Die 3D Map hat nur einen Unterschied zu anderen maps: die z-achse. deshalb werde ich anfangs nur 2d arbeiten (so wie in der sahara beispiel map deren Z-Achse stets 0 ist, also keine hügelaufweist). mal sehn was draus wird, kann frühestens sonntag Abend damit beginnen, werde aber bis dahin schon mal einige überlegungen anstellen ![]() |
|
#3
|
||||
|
||||
|
Das stimmt nicht ganz. Bei 2d hast du ein festes Hexfeld und kannst das Spielfeld einteilen wie ein Schachbrett, das ist bei 3d nicht mehr der Fall. Hier musst du präzise Koordinaten angeben. Das heißt auch das Objekte miteinander kollidieren können. Während du bei 2d schlicht abfragen könntest ob ein Feld von einem Objekt belegt ist müsste man bei 3d alle möglichen Koordinaten in der Umgebung absuchen..... und jetzt wirds kompliziert.
__________________
-->Reviews von Gamern für Gamer bei Gamer-Oase.de<--
Oh, isn't there someone else you can annoy? Friends? Family? Poisonous reptiles? - Manfred in Ice Age |
|
#4
|
||||
|
||||
|
da hast du recht. im xml file steht nirgendwo drin wie gross ein Element ist. da drin gibts bloss die rotation und die position. Hab überlegt mir meinen eigenen "Raster" über die map zu legen und danach dann die objekte zu verteilen. dieser raster sollte grob genug sein damit nichts kollidiert, aber auch nicht zu grob, sonst siehts nicht gut aus.
die ersten paar tests werden hoffentlich zeigen was geht und was nicht... |
|
#5
|
||||
|
||||
|
Kann man in der XML File erkennen um welches Objekt es sich handelt? Wenn ja müsste man die Größe des Objektes erfassen und dann den entsprechenden Bereich für neue Objekte sperren. Und genau das ist der Grund weshalb ich denke das aufwendige Maps sehr lange brauchen um generiert zu werden.
![]() Ich denke da mal gerade an meine bisher aufwendigste Map Amazon Rainforest mit ca. 3000 Objekten. Da muss sehr viel berechnet und getestet werden. Wenn dann noch das Gelände hinzukommt........ ich brauch nen Quad-Core
__________________
-->Reviews von Gamern für Gamer bei Gamer-Oase.de<--
Oh, isn't there someone else you can annoy? Friends? Family? Poisonous reptiles? - Manfred in Ice Age |
|
#6
|
||||
|
||||
|
Ja, man kann sehen um welches Objekt es sich handelt, wieviel HP es hat, an welcher Position es steht, welchem Player es gehört, aber grösse ist leider nicht dabei.
Das müsste man selbst mal pro Objekt definieren. Hier Beispielcode für ein Haus + einen Tiberium Spike: Code:
<Structure Angle="0" EventList="" Faction="PlyrNeutral/teamPlyrNeutral" Health="100" Team="PlyrNeutral" ThingTemplate="TiberiumSpike" id="TiberiumSpike"> <Position x="2011.48" y="2546.55" z="0"/> </Structure> <Structure Angle="2.41606" EventList="" Faction="PlyrCivilian/teamPlyrCivilian" Health="100" Team="PlyrCivilian" ThingTemplate="North_Carolina_House_02" id="North_Carolina_House_02"> <Position x="421.119" y="616.583" z="0"/> </Structure> ![]() 3000 Objekte sind für generierten Code ja praktisch nichts. Hab da eher das kleine Problem mit der Mapgrösse. Deswegen bräuchte ich diese map mit je einem Objekt in jeder Ecke um die grösse + positionierung herauszufinden. Vergleich mal die Map: Height, Width mit den Player Start Positions X Y Werten. Denk dass das um den Faktor 10 verschoben wurde. Code:
<MapMetaData BorderSize="2" CRC="0" Description="Map:Sahara/Desc" DisplayName="Sahara" FileName="Data" Height="324" IsMultiplayer="true" IsOfficial="false" NumPlayers="2" Width="224"> <StartPosition Name="InitialCameraPosition"> <Position x="0" y="0" z="0"/> </StartPosition> <StartPosition Name="Player_1_Start"> <Position x="1329.96" y="379.811" z="0"/> </StartPosition> <StartPosition Name="Player_2_Start"> <Position x="836.264" y="2658.04" z="0"/> </StartPosition> </MapMetaData> Geändert von Peda1983 (29-07-2007 um 09:16 Uhr). |
|
#7
|
||||
|
||||
|
Das mit der Verschiebung um den Faktor 10 von dem du sprachst liegt glaub ich daran, das die Map immer etwas größer ist als wie ingame. 10 nahm ich immer zu der zeit als ständert.
Ich hab mal eben 2 Bäume auf einer testmap gesetzt. Einen außerhalb der ingamemap aber sonst noch auf der map. als X/Y Postion hat dieser -13.63, 4005.91 Ein anderer Baum steht innerhalb der ingamemap und hat die X/Y 31.14, 3964.45 hier noch n bild der beiden Bäume Baum1 ist oben links Baum 2 der unten rechts ![]()
__________________
![]() vom 20.3.2006 - 20.3.2011 in der Zivilisation 21 |