Artigos 100% compatíveis com os retro computadores TK 90X e TK 95 da Microdigital e com a linha ZX Spectrum da Sinclair.

www.retroprogramacao.blogspot.com

www.retroprogramacao.blogspot.com

03/05/2016

Criando jogos para o TK 90X, TK95 e Zx Spectrum. (1ª Parte)

Motivado pelos recentes anúncios de lançamento do Zx Spectrum Next (www.specnext.com), um projeto que, devido ao alto grau de sofisticação, provavelmente despertará o interesse de uma nova geração de entusiastas da retro-computação, resolvi estudar de forma detalhada o que temos hoje disponível para a criação de jogos nesta plataforma.

O Zx Spectrum sempre liderou soberanamente neste assunto e nenhum outro computador de 8 bits se igualou a ele em termos de disponibilidade de jogos. O mais incrível é que até hoje muitos entusiastas continuam criando novos jogos e dando uma sobrevida ao nosso "pequeno notável".
Passadas as comemorações de 34 anos do Zx Spectrum original e com o lançamento de novidades como o ZX Vega, o ZX Vega+ e agora o ZX Spectrum Next (sendo este um micro completo), as atenções recaem naturalmente para o seus divertidos softwares.

Então a minha missão será identificar (e experimentar) as ferramentas disponíveis para a construção de games (que exigem um conhecimento mais apurado de programação) e, na medida do possível, disponibilizar os links necessários (caso algum esteja falhando, por favor, comuniquem para que eu possa restaurá-los ou redirecioná-los para outro funcional).

AGD - Arcade Game Designer


Programa freeware, lançado em 2008, por Jonathan Cauldwell.


Recentemente este sistema foi mencionado em nossa lista de discussão do Clube do TK90X (vide nossa listagem de links deste blog) e, segundo os demais colegas, seria a maneira mais fácil de criação de jogos para o Spectrum, seja no próprio computador ou em emuladores.
Neste primeiro momento vamos fornecer os links para download do aplicativo e tutoriais, pois seria redundância e trabalho desnecessário repetir as mesmas instruções aqui. Certamente, pelo fato da maioria das instruções estarem em inglês, faremos o nosso pequeno roteiro em bom português.  :)

Primeiras versões no WOS:
http://www.worldofspectrum.org/infoseekid.cgi?id=0020176

Versão mais atualizada:
http://www.spanglefish.com/egghead/index.asp?pageid=397755

Fórum de desenvolvimento do AGD:
http://arcadegamedesigner.proboards.com/

Tutoriais em vídeo:
http://randomkak.blogspot.com.br/p/agd-video-tutorials.html

Vários jogos criados com esta ferramenta:
https://sites.google.com/site/speccy21/home


Novidades da versão 4.6:

"Sprites agora podem ser coloridos individualmente usando o comando SPRITEINK. Se os sprites 16x16 não forem grandes o suficiente, há uma opção para usar 16x24 . Nota ainda há uma "one-size-fits-all" política, mas pelo menos agora você tem uma escolha. Ele vai realmente redimensionar suas sprites para você.
Agora existem 9 eventos sprite, e alguns outros novos eventos. Quer uma tela de menu intro/controle ? Há um evento para que (e um novo comando, CONTROLMENU, permitindo que o usuário pressione 1, 2 ou 3 para selecionar teclado, Kempston ou controles Sinclair , respectivamente). Há um novo evento para interceptar quando um sprite cai muito longe (ou seja, atinge o final de sua mesa de salto) e agora há 2 eventos no final do jogo - um para a vitória, um para o fracasso. Talvez o mais útil de todos é o fato de que o editor de eventos em si agora move o cursor diretamente para todas as linhas que não compreende, em vez de deixá-los para o usuário a encontrar, como sempre fazia antes.
Há um novo menu variado, com várias opções. Isso permite você se especializar no motor para um determinado tipo de jogo. Existem 3 alternativas: em primeiro lugar, há um motor de partículas com explosões, starfields, lasers e o efeito pó mágico ou rastro de vapor. Alternativamente, há um mecanismo de efeitos que permite que as mensagens de texto (seja no jogo ou em uma tela de texto do menu de controle /static) possam ter texto de altura dupla, marcar rotinas de exibição e um efeito de janela fade. Também há uma opção de aventura, tipo Dizzy/Magic Knight, que lembra-se de mudanças no jogo feitas nas telas com o novo comando PUTBLOCK e redesenha quando você sai e voltar a entrar em uma tela. A modificação de aventura também tem um novo tipo de bloco que você pode achar útil: blocos de água. Qualquer Sprite que tem o comando QUEDA em seu evento vai agora flutuar para o topo de um patch de água tanto para cima como para baixo.
A chamada para as rotinas de teclado/controle joystick foi movida, por isso é agora possível detectar movimentos dentro de um loop REPEAT, desde que você use ATRASO 1 dentro dele. Isso pode soar como uma pequena alteração, mas abre a possibilidade de codificar seus próprios minigames pequenos. Há um modelo de evento de bônus bastante simplista para que você possa ver como fazê-lo.
AGD 4 também permite que você carregue em uma tela de carregamento, e vai criar o carregador de base relevante para você, salvando-o automaticamente. Se você optar por criar um carregador automaticamente, AGD não voltará para BASIC, mas dará um loop de volta para o evento menu de tela intro /controle. Você não precisará escrever uma única linha de BASIC! No entanto, se você não pedir o AGD para criar o carregador BASIC, seu jogo voltará ao BASIC, no final, como sempre fez, assim você ainda pode escrever seu próprio código BASIC se você desejar.
Os mapas podem agora ser de até 11 salas de largura. Existem novas variáveis ​​- Q, R E o relógio só de leitura. Os blocos de escada são mais robustos e existem comandos redesenhar e silêncio. Você pode multiplicar e dividir também. Posições Sprite são mais eficientes do que em 3.5, bem como, e o editor posição do sprite agora destaca o sprite atualmente selecionado. Para os técnicos, há opções para desativar som AY ou a rotina que classifica os sprites que pode vir a calhar - não há necessidade mais de cortar o motor para estas coisas. Há também uma nova paleta da ULAplus padrão.
Para os usuários mais tecnicamente avançados, acrescentou-se instruções para a leitura do mouse Kempston e também chamar rotinas externas como músicas Beep de qualquer lugar dentro de um jogo. É um pouco complicado para iniciantes, mas certamente pode ser feito.
Agora a má notícia ... Você não poderá atualizar um jogo escrito com 3,5-4,0. Se você já está desenvolvendo um jogo com a versão 3.5 ou 4,0, terá que terminar nestas versões ou reiniciar tudo novamente. Em segundo lugar, apesar dos intensos testes, provavelmente haverá erros aqui e ali ..."
(texto extraído do autor e traduzido automaticamente).