Servus.
Hat irgendjemand eine Idee oder ein Konzept wie man eigene Map-Files macht. Damit meine Ich also Script-Dateien wo man dann alles auslesen und verändern könnte.
Ich will z.B. speichern wo ein bestimmtes Quad mit Bumpmap und normaler Texture hinkommt.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Ich denke du hast ne komplette Engine geschrieben?!?Da sollte man auch durchaus in der Lage sein ein eigenes Kartenformat auf die Beine zu stellen.
Aber auch wie in deinem Enginethread muss ich dich hier wieder auffordern mehr Infos zu geben.Ein Dateiformat ist immer anwendungsspezfisich,und wenn du uns nicht mitteilst was du da drin haben willst und wofür genau deine "Engine" ausgelegt ist,dann kann dir keiner helfen.
Also. Ich will gerade auf der Engine basierend ein Strategie-Spiel programmieren. Wie speichere ich die Daten wie zum Beispiel position eines bestimmten Quads/Objektes/Wie auch immer am elegantesten ohne das jemand daran rumfummeln kann.
@SoS:
Ja ich eine komplette Engine programmiert. Da aber diese Frage nicht wirklich was mit OpenGL zu tun hat, hab ich auch keine Ahnung davon.
Ich hab mich in den letzen 1 1/2 Jahren nur mit OpenGL beschäftigt und dann könnte man auch einige Sachen vergessen haben.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das iss immer noch nicht genau genug um einen Dateiaufbau vorzuschlagen.Wie ist denn deine Szene gegliedert?Nutzt du eine Raumunterteilungstechnik wie nen BSP-Baum oder Octrees?Oder gehts dir nur darum einfach deine Dreiecke in eine uneinsehbare Datei zu packen?Wenn ja,dann schau dir mal den TFileStream an, in den man direkt Records reinschreiben kann,und dessen Daten da in einem für Menschen unlesbaren Formate gespeichert werden.
Im Quellcode sieht das dann in etwa so aus :
Code:
var
F : TFileStream;
...
begin
F := TFileStream.Create(FileName, fmCreate);
for i :=0toHigh(Dreiecke)do
F.Write(Dreieck[i],SizeOf(TDreieck));
F.Free;
In der Datei kann dann keiner mehr rumfummeln,und das Auslesen geht genauso einfach.
Registriert: Di Jul 01, 2003 18:59 Beiträge: 887 Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
i store the data for 3DAS in xml files. But that means everyone kan take a look at them, and they grow quite big. So i store al files in one archive with compression and for protection i use a simple xor encoding. Maybe this gives you some ideas of what is possible.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das XML-Dateiformat ist wirklich nicht schlecht.Für mein neustes Projekt nutze ich dies auch (dort werden damit allerdings keine 3D-Daten beschrieben).Es lässt sich dank der von Delphi mitgebrachten Klassen leicht parsen und schreiben,ist dank der Attribute leicht erweiterbar und zudem noch portabel.
Ausserdem hats wie alle Textformate den Vorteil, das es auch fürs menschliche Auge lesbar ist.Das hilft einem in der Entwicklungsphase ungemein beim Debuggen,weshalb ich zumindest dann ein solches Format verwenden würde,und erst in einem fertigen Release (das veröffentlicht werden soll) auf ein reines Binärformat ausweichen würde.
Die Idee von SoS is mir am Anfang auch gekommen. Da ich aber ein komplexes Level-System habe, habe ich mich ersma für die TFileStream Variante entschieden. Hat auch Vorteile da man ganz simple komplette Records, Objekte usw. speicher und wieder laden kann. Fürs debuggen habe ich eine Log-Unit geschrieben, die automatisch eine MapDebug.txt ausgibt und dort alle Informationen übersichtlich darstellt.
Mitglieder in diesem Forum: 0 Mitglieder und 4 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.