Esiste un linguaggio comune utilizzato per creare i giochi di Play Station 1? O come posso scoprire quale linguaggio di programmazione viene utilizzato per uno di quei giochi?
Esiste un linguaggio comune utilizzato per creare i giochi di Play Station 1? O come posso scoprire quale linguaggio di programmazione viene utilizzato per uno di quei giochi?
Risposte:
La maggior parte dei giochi per PS1 sono stati probabilmente scritti in C, con qualche assemblaggio e forse qualche "C con classi" leggero. Questa non è una verità universale, necessariamente - per esempio Crash Bandicoot aveva una buona parte della sua logica di gioco costruita in una variante LISP.
In generale, puoi scoprire quali lingue sono state usate per un gioco chiedendo agli sviluppatori di quel gioco. Tuttavia, alcune tecnologie lasciano firme rivelatrici o filigrane di un tipo che può aiutarti a fare ipotesi istruite.
Per le lingue native, alcuni compilatori o linker possono lasciare modelli di firma o quant'altro nel file binario finale (ad esempio una tendenza a memorizzare dati statici in un determinato indirizzo o un determinato modello di istruzioni del codice della macchina di bootstrap per il file binario. Sul PC, spesso può eseguire strumenti come Dependency Walker contro un eseguibile per vedere a quali librerie di runtime si collega e da lì fare ipotesi ponderate su quale compilatore è stato usato per costruirlo.
Allo stesso modo, i giochi compilati in lingue gestite richiederanno i loro ambienti di runtime e di solito si lamentano rumorosamente se non vengono trovati all'avvio del programma (questo reclamo viene solitamente eseguito tramite un piccolo codice nativo di bootstrap nell'eseguibile, che puoi anche guardare perché se fossi così incline.
Naturalmente, queste informazioni sono generalmente di scarsa utilità pratica, poiché nella maggior parte dei casi non ti aiutano a risolvere particolari problemi legati al tuo gioco.
Ero la prima festa di SCEA quando abbiamo lanciato la PS1, e la stragrande maggioranza dei giochi è stata scritta in C, con un po 'di tempo critico in assemblatore. Tutte le chiamate in libreria erano anche in C.