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

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

11

06.02.2013, 22:06

Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

12

06.02.2013, 22:59

Zitat von »Checkmateing«

Außerdem interessiert mich, wie manche Spiele einfach nur aus einer *.exe bestehen können, inwieweit könnte man denn die Level mit in die *.exe einbinden, außer sie manuell zu 'programmieren', und dann auch dort auslesen´? "Einfach" mit *.res Dateien herum jonglieren?

Unter Windows kannst du in der Kommandozeile mit dem COPY-Befehl mehrere Dateien zu einer einzigen kombinieren:

COPY /B game.exe+textures.res+sounds.res final.exe

Details zu COPY findest du hier: http://ss64.com/nt/copy.html

Ob das eine gute Lösung für dein Problem ist ist, weiß ich allerdings nicht.

13

06.02.2013, 23:11


Wie soll ich dann bitteschön über die Exe darauf zugreifen? Erscheint mir ziemlich nutzlos.

MfG
Check

14

06.02.2013, 23:37

Naja, ich würde versuchen, das ganze modular aufzubauen. Wenn sämtliche Loader (Texturen, Modelle, Sounds) nicht nur Dateinamen sondern auch Speicherbereiche entgegennehmen, ist es ein leichter, nachträglich noch eine Kompressions- oder sogar Verschlüsselungsschicht einzubauen.
Möglich ist dann sogar sowas wie ein virtuelles Dateisystem aus mehreren Archivdateien zusammen zu bauen. Nehmen wir an, alle Modelle sind im "Models/" Unterordner, alle Texturen im "Textures/" usw. Du hast jetzt 20 Zip-Dateien, die jeweils auch diese Unterordner enthalten und deren Inhaltsverzeichnis beim Spielstart eingelesen wird. Willst du jetzt "Textures/bark.jpg" laden, weiß dein Manager, in welcher Zip-Datei er suchen muss.
Das coole so ist halt, dass du Standardmodelle in der einen Datei haben kannst, aber dann die 3-4 Spezialmodelle, die du nur in einem Level brauchst einfach in der Leveldatei speicherst. So kannst du das Level sehr leicht installieren oder löschen, du musst nur eine Datei kopieren/löschen.

Für das Dateiformat ist natürlich XML dann gut, wenn es robust sein soll. Du kannst zur Not auch im Texteditor Änderungen vornehmen, und eine Menge Probleme die mit Binärdateien auftreten können, sind bei XML schon mehr oder weniger auch Prinzip unmöglich. Aber es ist natürlich größer und langsamer zu verarbeiten (Text/Binär Umwandlungen (und umgekehrt)).
Ich habe mal eine Zeitlang boost::serialization benutzt, da kann man sogar entscheiden, ob man Text- Binär- oder XML-Dateien (zumindest sowas ähnliches) haben möchte. Mittlerweile benutze ich aber ein eigenes, binäres Speichersystem.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige