Como foi o desenvolvimento de jogos no Apple II? [fechadas]

14

Eu fiz uma pergunta semelhante sobre o desenvolvimento do DOS há um tempo e recebi uma excelente resposta: Qual era a cadeia de ferramentas típica para o desenvolvimento de jogos do DOS?

Agora estou me perguntando como era o desenvolvimento de jogos no Apple II no final dos anos 70 / início dos anos 80. Estou interessado principalmente nos primeiros: II e II +, mas também gostaria de respostas sobre IIe etc.

Então, aqui estão as minhas questões:

Quais idiomas foram usados?

Presumo 6502 assembler, mas o BASIC foi fornecido e provavelmente usado muito também. Você consegue pensar em jogos populares escritos em BASIC? E o C?

Como foi o desenvolvimento do assembler 6502?

Percebi que você pode inserir códigos op diretamente se iniciar o monitor do sistema e pode até executar o assembler diretamente com o mini assembler. Mas não consigo imaginar que os jogos foram escritos assim, havia editores / IDEs? Como os programas foram armazenados em discos / fitas?

Como foi o desenvolvimento do BASIC?

O intérprete do Apple II BASIC não é tão ruim assim, acho que você pode escrever programas completos lá. Ele também permite que você salve / carregue programas, presumo que seja em disco / fita. Mas não havia editor visual?

Havia APIs ou Middleware?

Ou era necessário conversar diretamente com o hardware o tempo todo, se você quisesse desenhar algo ou tocar um som? Havia alguma biblioteca?

Mais alguma coisa diferente de hoje?

Ficaria feliz em ouvir outras diferenças, como os formatos de imagem / áudio usados. Dado que não havia realmente um conceito de arquivos, se eu entendi direito, estou me perguntando como isso funcionou. Você precisou digitar seus gráficos e sons no assembler? Como isso funcionou no BASIC?

futlib
fonte
A introdução ao Graphics Black Book de Michael Abrash foi escrita por John Carmack, e ele fala sobre como foi fácil fazer gráficos - você acabou de executar um comando de empate e ele mudaria automaticamente. Pelo que me lembro de ter tocado nos anos 80, você poderia fazer essas ligações diretamente através do BASIC.
Philip
Eu já liguei para isso em outro lugar, mas ... de qualquer forma, Jordan Mechner lançou o código fonte da versão Apple II do Prince of Persia . Isso pode ser interessante para você!
Laurent Couvidou
Uma das peculiaridades mais notáveis ​​do Apple II era que os gráficos não eram mapeados diretamente na memória; em vez disso, o sistema usava um tipo estranho de sistema intercalado em que a linha que seguia a linha 0 na memória não era a linha 1, mas a linha 64; a linha 128 seguiu a mesma na memória e somente depois a linha 1 aparece. É por isso que você vê os estranhos efeitos de carregamento 'tri-banded' nos jogos Apple II.
Steven Stadnicki

Respostas:

5

Fiz muita programação na Apple (não profissionalmente, mas é o que aprendi) e na Applesoft BASIC e assembler onde ficava para os entusiastas. Outras línguas estavam disponíveis - o logotipo era comum, Pascal era escrito em todos os lugares, mas eu não conhecia ninguém que o usasse, eu não sabia muito bem que o C era usado em qualquer plataforma da Apple até o Orca C para o Apple IIGS; intérprete com gráficos no estilo de tartaruga (ou o nome de logotipo) flutuando também.

Abordarei algumas de suas perguntas e depois as idéias básicas:

Você consegue pensar em jogos populares escritos em BASIC? E o C?

Um monte de shareware foi escrito em BASIC, não apenas no Applesoft BASIC, mas também no Integer BASIC (que, como o nome indica, não tinha números de ponto flutuante). A série Eamon me vem à mente, mas não consigo pensar em muitas outras. Além disso, muito do software escrito pelo Beagle Bros. foi feito no BASIC (principalmente utilitários, não jogos).

Porém, acredito que a maioria dos softwares comerciais foi escrita em assembler.

Mas não consigo imaginar que os jogos foram escritos assim, havia editores / IDEs? Como os programas foram armazenados em discos / fitas?

Eu usei o Merlin Assembler, para chamá-lo de IDE, mas pode ter funcionado bem. Como você disse, você pode ir para o monitor do sistema, inserir códigos de operação e executar a partir daí. Merlin tinha uma maneira de retornar a ele a partir do monitor do sistema (que não me lembro como agora).

Mas não havia editor visual?

Havia uma ferramenta de terceiros que tornava o ambiente da Applesoft um pouco melhor e permitia que você usasse suas setas para rolar pela tela e fazer edições como um editor visual (você ainda precisaria pressionar Enter no final de uma linha ou as mudanças não fariam). Não me lembro o que era, usei bastante.

Ou era necessário conversar diretamente com o hardware o tempo todo, se você quisesse desenhar algo ou tocar um som? Havia alguma biblioteca?

No Apple II + / IIe / IIc, você estava apenas conversando com o hardware. Havia alguns programas em ROM que você poderia usar, mas eles eram muito limitados e, geralmente, você faria PEEK e POKE vários locais de memória para alterar registros para fazer o que queria, por exemplo, para alterar os modos gráficos, cutucar 49152 para acionar o alto-falante etc. .

No Apple IIGS, a ROM era fornecida com um conjunto de bibliotecas semelhantes às do Macintosh, para fazer GUIs sofisticadas e outras coisas. As ROMs foram atualizadas com o tempo e, se você carregasse um disco do sistema que usava bibliotecas mais recentes, elas liam do disco em vez da ROM, causando um tempo de inicialização muito lento. Havia ROM 01, 02 e 03, e 02 -> 03 era uma atualização gratuita e havia uma versão anterior a 01, que faria uma atualização gratuita para 01 também.

Ficaria feliz em ouvir outras diferenças, como os formatos de imagem / áudio usados. Dado que não havia realmente um conceito de arquivos, se eu entendi direito, estou me perguntando como isso funcionou. Você precisou digitar seus gráficos e sons no assembler? Como isso funcionou no BASIC?

Havia arquivos, não sei o que você quer dizer com isso, e o ProDOS suportava diretórios não menos (o DOS anterior ainda não tinha o conceito de um arquivo que você reconheceria). Eu usei bitmaps e .pcx. Não me lembro de nenhum arquivo de áudio da série II + / IIe / IIc, mas isso era difícil de fazer barulhos mais sofisticados do que blips e bloops de videogame. Havia alguns hacks por aí que emitiam sons sofisticados (em particular, eu tinha um disco que tocava Gun N 'Roses), mas quase sempre era feito gramaticalmente.

Comparado aos ambientes modernos, era absolutamente primitivo. Mas lembre-se, não havia suporte para executar vários programas ao mesmo tempo; portanto, seu compilador também precisava ser seu editor - você não podia argumentar sobre os benefícios do vi vs. emacs; portanto, o que o compilador lhe deu, você aprendeu a usar. Eu acho que foi muito mais fácil do que usar bibliotecas empilhadas em bibliotecas, e há muitos truques se você estiver trabalhando para o hardware e souber o que é. Por exemplo, uma implementação comum de "pausa por um momento" era "para (int i = 0; i <1000; i ++)" (é diferente no BASIC), que nunca é usada agora, porque o hardware é tão rápido que você ' d precisaria de um número enorme e, mesmo que não fosse, seria executado em diferentes tipos de máquinas, por isso seria uma pausa diferente para pessoas diferentes (II +, IIe,

Isso é tudo da memória, eu não procurei nenhuma referência enquanto escrevia isso, então peço desculpas se minha memória está com defeito e lhe disse coisas erradas. Mas espero que isso lhe dê um gostinho e responda algumas de suas perguntas.

laaph
fonte
4

Quais idiomas foram usados?

6502 para a maioria, raramente C (Aztek), muitos BASIC, alguns Pascal (Apple Pascal).

Como foi o desenvolvimento do assembler 6502?

Havia alguns montadores e ferramentas bem organizados para o 6502: Orca / M, Merlin, e nos últimos dias foi possível desenvolver um PC e um link serial para a Apple para depuração remota. Não vamos esquecer os utilitários do Beagle Bros. Editar + compilar + executar, o mundo nunca muda ;-)

Como foi o desenvolvimento do BASIC?

Nenhum editor visual, apenas um console que permite interagir com o buffer BASIC no início. No entanto, a Beagle Bros. tinha algumas utilidades mágicas que fizeram a maior parte da dor desaparecer. E mais tarde houve conchas que, pelo menos, agiriam como um editor baseado em linhas para a sua escrita. Havia uma ferramenta (Expediter 2) que poderia processar seu BASIC em um binário de montagem que rodava muito mais rápido (uma viagem de ida).

Havia APIs ou Middleware?

Havia alguns, mas principalmente com um escopo muito restrito, nada parecido com o que você chamaria de SDK hoje. Sejamos honestos, em 48K você não pode pagar por uma API de uso geral. Nos últimos dias, surgiram dois ou três SDKs para fins específicos que surgiram para jogos de aventura clicky, jogos baseados em blocos,

Mais alguma coisa diferente de hoje?

Tudo e nada. As práticas permanecem as mesmas, as ferramentas melhoraram.

Patrick Hughes
fonte
-1

Intérprete básico nativo: Ao escrever um programa, você deve numerar cada linha, digite seu código e pressione Enter. Um programa básico é semelhante a: 10: CASA 20: IMPRIMIR "OLÁ! MUNDO"

Neste exemplo, HOME limpe a tela; se necessário, insira uma linha intermediária, fe .:

15: IMPRIMIR "CUMPRIMENTOS"

Como saída, deve limpar a tela, mostrar GREETINGS HELLO WORLD

O comando LIST mostra seu código (sem pausa!) Em alguns modos (apenas maiúsculas), sem maiúsculas, sem caracteres especiais. Nenhum jogo profissional foi escrito em BASIC, por causa do desempenho, você realmente podia ver seu programa desenhando as linhas.

Apenas efeitos sonoros, foi difícil tocar música, temos apenas um alto-falante com um bit (sem brincadeira).

ir para a montagem CHAMADA -151

você deve codificar manualmente no monitor sem IDE, digite o endereço e seu código (HEXA)

Alex
fonte