Чи існує якась спільна мова, яка використовується для створення ігор Play Station 1? Або як я можу дізнатися, яка мова програмування використовується для однієї з цих ігор?
Чи існує якась спільна мова, яка використовується для створення ігор Play Station 1? Або як я можу дізнатися, яка мова програмування використовується для однієї з цих ігор?
Відповіді:
Більшість ігор PS1, ймовірно, були написані на мові C, з деякою збіркою та, можливо, легким "C з класами". Це не є універсальною істиною, обов'язково - наприклад, Crash Bandicoot мав добру частину своєї логіки гри, вбудованої у варіанті LISP.
Загалом, ви можете дізнатися, які мови використовувались для гри, лише запитавши розробників цієї гри. Однак деякі технології залишають підписи або водяні знаки такого роду, які можуть допомогти вам зробити здогадки.
Для рідних мов деякі компілятори чи посилання можуть залишати шаблони підписів чи що-небудь ще у остаточному двійковому файлі (наприклад, тенденція до зберігання статичних даних за певною адресою або певна схема інструкції машинного коду завантажувальної техніки для двійкового. На ПК ви часто можна запускати такі інструменти, як Dependency Walker, проти виконуваного файлу, щоб побачити, до яких бібліотек часу виконання він посилається, і звідси робити освічені здогадки про те, який компілятор використовувався для його побудови.
Аналогічно, побудова ігор на керованих мовах вимагатиме їх середовища виконання і зазвичай голосно скаржиться, якщо вони не знайдені під час запуску програми (ця скарга, як правило, здійснюється за допомогою невеликого коду власного завантажувального коду у виконуваному файлі, який ви також можете подивитися бо якби ти був так схильний.
Звичайно, ця інформація, як правило, мало практична, оскільки вона не допомагає вирішити будь-які конкретні проблеми, пов'язані з вашою власною грою в більшості випадків.
Я був першою учасницею в SCEA, коли ми запустили PS1, і переважна більшість ігор були написані на мові С, з деяким часом критичними бітами в асемблері. Усі дзвінки до бібліотеки також були C.