In welcher Programmiersprache wurden PS1-Spiele geschrieben?

15

Gibt es eine gemeinsame Sprache, in der Play Station 1-Spiele erstellt werden? Oder wie kann ich herausfinden, welche Programmiersprache für eines dieser Spiele verwendet wird?

Zim3r
quelle
3
Ich las ein Buch über PS2-Architektur, IIRC war es C.
JCORA
1
Diese Frage fällt wirklich unter die Kategorie "Welche Technologie wurde für ein bestimmtes Spiel verwendet?", Die für diese Website nicht als angemessen erachtet wird. Siehe die FAQ: gamedev.stackexchange.com/faq
Maximus Minimus

Antworten:

25

Die meisten PS1-Spiele wurden wahrscheinlich in C geschrieben, mit etwas Zusammenbau und möglicherweise etwas leichtem "C mit Klassen". Dies ist nicht unbedingt eine universelle Wahrheit - zum Beispiel hatte Crash Bandicoot einen guten Teil seiner Gameplay-Logik in einer LISP-Variante eingebaut.

Im Allgemeinen können Sie nur herausfinden, welche Sprachen für ein Spiel verwendet wurden, indem Sie die Entwickler dieses Spiels befragen. Einige Technologien hinterlassen jedoch verräterische Signaturen oder Wasserzeichen, mit denen Sie fundierte Vermutungen anstellen können.

Für Muttersprachen können bestimmte Compiler oder Linker Signaturmuster oder Ähnliches in der endgültigen Binärdatei hinterlassen (z. B. die Tendenz, statische Daten an einer bestimmten Adresse zu speichern, oder ein bestimmtes Muster von Bootstrapping-Maschinencode-Anweisungen für die Binärdatei. Auf dem PC Mit Tools wie Dependency Walker kann häufig eine ausführbare Datei überprüft werden, um festzustellen, mit welcher Laufzeitbibliothek sie verknüpft ist, und von dort aus können fundierte Vermutungen darüber angestellt werden, mit welchem ​​Compiler sie erstellt wurde.

In ähnlicher Weise benötigen Spiele, die in verwalteten Sprachen erstellt wurden, ihre Laufzeitumgebung und beschweren sich normalerweise lautstark, wenn sie beim Start des Programms nicht gefunden werden (diese Beschwerde wird normalerweise über ein kleines Stück nativen Bootstrap-Codes in der ausführbaren Datei erreicht, den Sie auch einsehen können denn wenn du so geneigt wärst.

Natürlich sind diese Informationen im Allgemeinen von geringem praktischem Nutzen, da sie Ihnen in den meisten Fällen bei der Lösung bestimmter Probleme im Zusammenhang mit Ihrem eigenen Spiel nicht wirklich helfen.


quelle
+1 Danke Josh, gibt es irgendwelche Programme, um die Programmiersprache des Spiels zu bestimmen? weil es ein Haufen * .bin-Dateien ist. oder eine Möglichkeit, den Quellcode anzuzeigen?
Zim3r
@Jake Das Anzeigen des Quellcodes von im Grunde genommen kompilierten, nicht verwalteten Binärdateien ist nahezu unmöglich, oder erfordert zumindest viel Zeit und Arbeit!
Delusional Logic
Vielen Dank, aber es gibt einige .bin-Dateien, von denen einige Audio- oder Videodateien sind. Auch diese Dateien können nicht geöffnet werden?
Zim3r
Sie könnten sein, aber "wie" kann ein sehr komplexer Prozess sein, wenn Sie die Quellformate nicht kennen und für diese Frage nicht in Betracht kommen.
2
@Gajoo Es wird zwar nicht so schmerzhaft sein, aber es wird nicht einfach, wenn Sie die Sprache nicht kennen. und da er daraus lernen will, wird es wirklich nicht so nützlich sein. Ich würde nicht denken, dass es sich lohnt.
Delusional Logic
16

Ich war die erste Party bei SCEA, als wir die PS1 auf den Markt brachten, und die überwiegende Mehrheit der Spiele wurde in C geschrieben, wobei einige zeitkritische Teile in Assembler enthalten waren. Alle Aufrufe der Bibliothek waren ebenfalls C.

Rob Craig
quelle
1
Das kann ich bestätigen; obwohl ich vermute, dass es sich bei den Bibliotheken um C-Calling-Konventionen handelte, in denen eine von Hand optimierte Assembly enthalten war, ähnlich den zeitkritischen oder trickreichen Stücken, die ich gesehen oder an denen ich gearbeitet habe.
Patrick Hughes