Em que plataforma os videogames de TV antigos foram desenvolvidos? [fechadas]

13

Estou muito ansioso para saber como os videogames de TV (que todos jogávamos na infância) foram desenvolvidos e em qual plataforma.

Eu sei como os jogos são desenvolvidos para dispositivos móveis, PCs com Windows e Mac, mas não estou entendendo como (naquela época) Contra, Duck Hunt e todos esses jogos foram desenvolvidos. Como eles têm gráficos altos e um grande número de estágios. Então, como eles conseguiram desenvolver jogos em um ambiente de tamanho tão pequeno e com uma plataforma de configuração mais baixa?

Mihir Palkhiwala
fonte
3
Jordan Mechner divulgou as fontes do Prince of Persia para o Apple II há alguns meses: confira aqui se estiver interessado.
Laurent Couvidou

Respostas:

17

Os jogos realmente antigos - escritos para NES, Game Boy, SNES e até sistemas mais antigos como a família Atari - eram geralmente escritos em linguagem assembly . Isso foi necessário porque os compiladores C da época eram inexistentes ou não tinham a tarefa de gerar código suficientemente eficiente.

Eles foram capazes de espremer tudo isso em cartuchos pequenos - para o NES, até 256 KB eram muitos dados (embora existissem jogos maiores) - porque eles usavam truques inteligentes, como gráficos baseados em ladrilhos e cores baixas, permitindo muito de dados a serem armazenados em muito pouco espaço. Além disso, chips especializados para vídeo e áudio tornaram possível lidar com essas coisas com mais eficiência, sem ter que fazer tudo no software.

Com o tempo, os compiladores C se tornaram mais eficientes e os dispositivos se tornaram mais poderosos - N64, GBA e dispositivos posteriores usavam C ou mesmo C ++ por padrão - e a montagem foi reservada para pequenos pedaços de código em que era necessária uma otimização extra para atender consistentemente os 60FPS alvo (ou qualquer taxa de quadros em que o jogo seja executado).

Michael Madsen
fonte
4
Os jogos antigos do @Mihir não eram perfeitos de forma alguma. Mas parte do motivo pelo qual eles parecem funcionar melhor do que alguns jogos recentes é porque eles também são muito, muito menos complexos do que seus colegas modernos.
chaosTechnician
1
@AndroidCoader, o que você está procurando é chamado de emulador. Eles existem para muitas plataformas, simulando a função de sistemas antigos em máquinas modernas, mas geralmente existem muitos problemas legais / área cinzenta associados ao uso deles para jogar.
chaosTechnician
Eu acredito que o "Gran Turismo", quando foi lançado no PS, tinha grandes quantidades de código escritas em assembly por causa da física envolvida.
precisa saber é o seguinte
3

Lembro-me de escrever jogos simples para o Commodore 64 / Vic20 no início dos anos 80. Alguns BASIC (acredite ou não - alguns jogos foram completamente codificados em BASIC - o BASIC estava na ROM da máquina, assim como um brinde) - mas principalmente em montadores. O Assembler também não era consistente - a maioria das máquinas tinha vários montadores comerciais disponíveis (embora, como a maioria da época, eu escrevi os meus). Os gráficos no C64 eram muito avançados na época com sprites de hardware de varredura (apenas 8 permitidos na tela de cada vez - mas eles poderiam ser duplicados em software com alguns truques, fornecendo centenas, mas apenas 8 variedades na tela de cada vez). Eles eram de 16 cores (paleta - que poderia ser alterada em tempo de execução, assim como o sprite). Sprites eram 2D, é claro.

O primeiro "computador doméstico" com o qual eu brincava (ignorando as máquinas científicas e de negócios anteriores) era um ZX81 (minha escola tinha um ZX80 - mas estava trancado em uma caixa de vidro como uma exibição de museu - ninguém sabia como usá-lo!). Imagine escrever um jogo em 1/4 de K (isso é 256 bytes!) - agora isso é habilidade!

Wolf5370
fonte
3

Os sistemas de videogame ou consoles de primeira geração (antes de serem chamados de consoles) a partir do final da década de 1970 e ainda hoje são desenvolvidos como qualquer sistema de computador incorporado .

Um computador incorporado é um computador (ou seja, um microcontrolador ou microprocessador) em um sistema eletrônico que não se assemelha a um computador pessoal ou a um sistema de computador multiusuário maior (por exemplo, sistema de compartilhamento de tempo, minicomputadores e mainframes); uma grande diferença é que eles normalmente não têm a entrada / saída agora padrão via terminal de vídeo e teclado.

Atualmente, o desenvolvimento é feito em outro computador, atualmente em um PC ou estação de trabalho de desenvolvedor usando um ambiente de desenvolvimento de plataforma cruzada que produz executáveis ​​para o sistema de destino - o sistema de videogame nesse contexto, que geralmente é uma arquitetura de microprocessador diferente do desenvolvimento CPU do próprio sistema (ou host ).

Dois exemplos de sistemas de jogos de vídeo atuais são para o Sony Playstation 3, que é baseada na Sony, Toshiba e IBM 's processador Cell , e para dispositivos móveis (smartphones, tablets), que são muitas vezes ARM microprocessadores baseados.

Conforme Michael Madsen indicado, a maior parte da programação foi feita em assembly, e não em uma linguagem compilada de alto nível, como C ou Pascal. Isso foi necessário para ajustar todo o conteúdo do jogo dentro dos limites do sistema altamente restrito (muito pouca RAM e capacidade limitada de ROM do cartucho), bem como acessar co-processadores como o TIA do Atari 2600.

mctylr
fonte