• Mitspieler gesucht? Du willst dich locker mit der Community austauschen? Schau gerne auf unserem ComputerBase Discord vorbei!

Starten und lesen von Spieldateien

Watchman

Lt. Commander
Registriert
Okt. 2011
Beiträge
1.408
Hallo Leute,

Eine Frage zum technischen Vorgang beim Starten von Spielen.
Also man hat alle dateien von einem installierten Spiel in einem bestimmten Verzeichniss.
Wenn ich etwas in diesen dateien ändere , wirken die Änderungen auch aufs Spiel.
Aber wie werden diese Dateien ausgführt , gelesen oder gestartet ?
Wenn diese in einer Programmiersprache entwickelt wurden , wo ist der Quellcode , und welche Verbindung ist die zwischen den dateien im Verzeichniss und dem Quellcode ?
Und warum sind alle Dateien im Verzeichniss in normaler Sprache geschrieben ?

Ich bin dankbar für jegliche Antworten.

Mfg , Watchman
 
Wenn Du jetzt mal ein Beispiel geben würdest...

Bei 90% der Dateien, vermutlich noch mehr als 90%, wird gar nichts passieren, wenn Du sie änderst. Oder das Spiel startet einfach nicht mehr, ist Fehlerhaft.

Bei den Dateien, die das Spiel als Konfigurationsdateien vorsieht, da kannst Du im *Klartext* etwas drin ändern und das hat Auswirkungen auf gewisse Parameter im Spiel. Eben genau darum, weil der Spielehersteller dies so vorgesehen hat.
 
Beispiele gibt viele...es geht um die genaue verknüpfung zwischen Quellcode und Config usw.
Und wenn ich die verschlüsselten Dateien entschlüssele , und mit einer Entwicklungsumgebung öffne , welche einen direkten Compiler besitzt , wäre das Einsehen des Quellcodes möglich ?
 
Die Funktion der Config bzw. Des Vorgangs muss doch irgendwo verknüpft sein ?Die EXE liest ja den Quellcode.
 
Watchman schrieb:
Die Funktion der Config bzw. Des Vorgangs muss doch irgendwo verknüpft sein ?

Sind sie ja auch:
Quelltext (dann später übersetzt und beim start der .exe ausgeführt):

Code:
Lese config.txt Zeile 7
Wenn Zeile 7 gleich 1 dann mache Gegner schwer
Wenn Zeile 7 gleich 2 dann mache Gegner sehr schwer

Die .exe "liest" nicht den Quellcode, die .exe ist "übersetzter" Quellcode

Ich glaube du solltest dich mal in die Grundlagen der Programierung (Was ist Quelltext, was ist ein Compiler etc.) einlesen
 
Zuletzt bearbeitet:
ich kenne die Grundlagen , zumindest von c++ :) . Sonst würde ich die begriffe ja nicht erwähnen -
Danke für die Erklärung übrigens :D
 
Watchman schrieb:
ich kenne die Grundlagen , zumindest von c++ :) . Sonst würde ich die begriffe ja nicht erwähnen -
Danke für die Erklärung übrigens :D
Nun zwischen kennen und wissen was sie bedeuten liegt oft ein Unterscheid ;) (Aber ich will hier ja nix unterstellen :heilig:)

Kein Ursache. Was ich noch erwähnen wollte: das "mache Gegner schwer" ist dann wieder Quellcode (bzw. teil der exe) Die Config enthält also kein Quellcode, sonder liefert nur Werte auf denen das Programm entscheidet welcher Teil des Codes wie ausgeführt wird. Es wird also eine Variabel "von außen" Gefüllt, nicht durch das Programm oder eine Eingabe des Benutzers
 
Watchman schrieb:
ich kenne die Grundlagen , zumindest von c++ :) . Sonst würde ich die begriffe ja nicht erwähnen -
Danke für die Erklärung übrigens :D

Na offensichtlich kennst du sie nicht. Wie oft hast du in C oder C++ eine ausführbare Datei erstellt und in dieser noch irgendwas mit dem Quelltext machen können? Bei Sprachen wie C wird der für Menschen les- und bearbeitbare Quellcode durch einen Compiler geschickt und in reinen Maschinencode umgewandelt. Dieser Maschinencode ist dann deine .exe oder .dll (um mal in der Windows-Welt zu bleiben). Nur echte Profis können jetzt aus diesem Maschinencode noch leidlich herauslesen, was in dem Programm wie funktioniert.

Grafiken, Levelaufbau und 3D-Models liegen üblicherweise in einem komprimierten Format irgendwo herum, sie bestehen aus dem, was Modellierungssoftware (Blender, Maya,...) und Leveleditor irgendwann einmal ausgespuckt haben. Audio wird oftmals als mp3 gelagert, Video oftmals als Bink Video.

Die Konfiguration steht wahlweise in einer leidlich verständlichen Datei (Endung üblicherweise .cfg oder .ini, spielt aber keine Rolle, ist halt nur Text) oder landet in der Windows Registry. Das hat schlichtweg praktische Gründe. Wenn du an der Config rumpfuschst ändern sich einige kleine Aspekte des Spiels, du kannst da aber üblicherweise nichts machen, was du nicht auch über das Ingame-Menü machen kannst.
 
Zurück
Oben