Есть ли какой-нибудь общий язык, который используется для создания игр Play Station 1? Или как узнать, какой язык программирования используется для одной из этих игр?
Есть ли какой-нибудь общий язык, который используется для создания игр Play Station 1? Или как узнать, какой язык программирования используется для одной из этих игр?
Ответы:
Большинство игр для PS1 написаны, вероятно, на C, с некоторой сборкой и, возможно, небольшим «C с классами». Это не универсальная правда, обязательно - например, у Crash Bandicoot была хорошая часть логики игрового процесса, построенная в варианте LISP.
В общем, вы можете узнать, какие языки были использованы для игры, спросив разработчиков этой игры. Однако некоторые технологии оставляют контрольные подписи или водяные знаки, которые могут помочь вам сделать обоснованные предположения.
Для родных языков некоторые компиляторы или компоновщики могут оставлять шаблоны сигнатур или еще много чего в конечном двоичном файле (например, тенденцию хранить статические данные по определенному адресу или определенный шаблон инструкций по загрузке машинного кода для двоичного файла. На ПК вы часто может запускать такие инструменты, как Dependency Walker, к исполняемому файлу, чтобы увидеть, с какими библиотеками времени исполнения он ссылается, и оттуда сделать догадку о том, какой компилятор использовался для его сборки.
Точно так же, игры, построенные на управляемых языках, требуют среды выполнения и обычно громко жалуются, если они не обнаруживаются при запуске программы (эта жалоба обычно выполняется с помощью небольшого фрагмента исходного загрузочного кода в исполняемом файле, который вы также можете посмотреть ибо если бы вы были так склонны.
Конечно, эта информация, как правило, мало практична, поскольку в большинстве случаев она не помогает вам решить какие-либо конкретные проблемы, связанные с вашей собственной игрой.
Я был первым участником SCEA, когда мы выпустили PS1, и подавляющее большинство игр было написано на C, с некоторыми критическими по времени битами на ассемблере. Все звонки из библиотеки были также C.