AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch System der zusätzlichen Dateien z.b. von Spielen - Eure Meinung
Thema durchsuchen
Ansicht
Themen-Optionen

System der zusätzlichen Dateien z.b. von Spielen - Eure Meinung

Ein Thema von NickelM · begonnen am 19. Feb 2012
Antwort Antwort
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#1

System der zusätzlichen Dateien z.b. von Spielen - Eure Meinung

  Alt 19. Feb 2012, 12:16
Hallo zusammen,

Ich wollte mal so Fragen, wie ihr ein System z.b. bei Spielen zum "packen" von Texturen, 3D-Modele, Bilder usw. am besten aufbauen würdet.

Ich habe es bei meinem kleinen Spiel so gemacht, dass ich immer eine Datei für jeweils Texturen usw.
gemacht habe, die ich in folgender Struktur aufgebaut habe:

1. Dateiname (natürlich mit Länge)
2. Data mit der zlib Unit gepackt (Größen ungepackt/gepackt mitgespeichert, wegen entpacken)

Und so alle z.b. Textur-Dateien in eine Art Texture-Package gepackt.

Beim Auslesen lege ich mir eine Liste an, mit den Dateinamen, wo die gepacketen Daten anfangen (Pos des Streams nach dem Dateinamen auslesen) danach überspringe ich den "Data-Block" in der Datei und gehe zum nächsten Dateinamen über.

So dass ich, wenn ich die Datei brauche, eine Funktion hab, die z.b. das Bild in einen MemoryStream entpackt, mit der jeweiligen Klasse lese und den Stream wieder freigebe.

Soweit wie ich gerade mache.

Mir ist aber auch eine andere Idee gekommen, z.b. alle Daten in eine Art MemoryStream-Liste zuentpacken beim Start. Um das eigentliche Lesen in die Klasse zubeschleunigen. Was den Nachteil hat, dass alles im Speicher liegt. (Die "Leseklassen" gebe ich ja frei, aber die Klasse zum "darstellen" liegt im Speicher, dass ist ja klar.)

Bei einem Spiel habe ich gesehen, das sie 2 Dateien haben, eine Art Inhaltsverzeichnis und eine Datei mit den gepackten Daten. Was haltet ihr davon?

Mich interessiert es wegen der Optimierung und wie es für den User besser wäre.
Mehr "arbeit" beim Start oder zur "Laufzeit" des Programms/Spieles.
Oder wenn gleich, wie macht man sowas am besten?
Backups soll man ja nicht machen können .

Möglich sein muss:
- Dass man die enthaltenen Dateien patchen kann, d.h. überschreiben, hinzufügen usw.
- Data wie Bilder müssen gepackt sein, wegen Platz und da ich nicht will, dass man sie verändert kann ohne weiteres.
- Dateinamen müssen dabei sein natürlich (Oder wäre eine Art ID besser?)

Wie würdet ihr das Lesen machen?
Oder würdet ihr die "Datei-Packages" ganz anders aufbauen?
Oder wirklich alles in eine Datei und beim Lesen dan sortieren?

Ihr könnt euch eine oder mehr Fragen/Überlegungen aussuchen und eure Meinung dazusagen

Hoffe ich Frage nicht zuviel auf einmal

Gruß
NickelM
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz