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?
graphics
game-industry
Mihir Palkhiwala
fonte
fonte
Respostas:
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).
fonte
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!
fonte
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.fonte