Existe algum idioma comum usado para criar jogos do Play Station 1? Ou como posso descobrir qual linguagem de programação é usada para um desses jogos?
Existe algum idioma comum usado para criar jogos do Play Station 1? Ou como posso descobrir qual linguagem de programação é usada para um desses jogos?
Respostas:
A maioria dos jogos do PS1 provavelmente foi escrita em C, com alguma montagem e possivelmente um leve "C com classes". Isso não é uma verdade universal, necessariamente - por exemplo, o Crash Bandicoot teve uma boa parte de sua lógica de jogo construída em uma variante LISP.
Em geral, você só pode descobrir quais idiomas foram usados para um jogo perguntando aos desenvolvedores desse jogo. No entanto, algumas tecnologias deixam assinaturas avisadoras ou marcas d'água de um tipo que pode ajudá-lo a adivinhar.
Para idiomas nativos, determinados compiladores ou vinculadores podem deixar padrões de assinatura ou outros enfeites no binário final (por exemplo, uma tendência de armazenar dados estáticos em um endereço específico ou um certo padrão de instruções de código de máquina de inicialização para o binário. No PC, você geralmente é possível executar ferramentas como o Dependency Walker em um executável para ver a quais bibliotecas de tempo de execução ele se vincula e, a partir daí, fazer palpites sobre o compilador usado para construí-lo.
Da mesma forma, os jogos criados em idiomas gerenciados exigirão seus ambientes de tempo de execução e geralmente se queixam em voz alta se não forem encontrados quando o programa for iniciado (essa reclamação geralmente é realizada por meio de um pequeno pedaço de código nativo de inicialização no executável, que você também pode procurar pois se você era tão inclinado.
Obviamente, essas informações geralmente são de pouca utilidade prática, pois na verdade não ajudam a resolver nenhum problema específico relacionado ao seu próprio jogo.
Eu era o primeiro participante da SCEA quando lançamos o PS1, e a grande maioria dos jogos foi escrita em C, com alguns momentos críticos em assembler. Todas as chamadas da biblioteca eram C também.