Os meus jogos de 2025

Como alguns devem saber, apesar de estar afastado da programação há alguns anos, o lançamento do The Spectrum fez-me relembrar bons velhos tempos, e como tal resolvi voltar a fazer jogos para ele.

Apesar de já não lidar com o ZX Spectrum há 35 anos o lançamento do The Spectrum relembrou-me a minha infância e os jogos que fazia na altura. Devido a tal, e tendo o ZX Spectrum sido o grande responsável pelo meu gosto pela tecnologia e pela programação, resolvi voltar a programar para ele.

Confesso que o início foi complexo. Já não estava habituado a fazer todos os bytes contarem e a restrições na linguagem que obriga a se fazer coisas simples em muitos mais passos. E rapidamente ao reeditar o treinador de futebol de 1985 deparei-me com problemas de memória. Tanto que tive de abandonar a ideia de o jogo ser para o 48K, passando a ser para o 128 K.

Aqui deparei-me com problemas, pois o Spectrum apenas endereça 64K de cada vez, o que significa que usar o resto da RAM implica mover dados de uma para a outra. Para além do mais, o chip sonoro do Spectrum usa a totalidade do CPU para reproduzir um som que seja, pelo que tive de recorrer a algo bem rápido, o assembler, para resolver esses problemas.

Assim, consegui fazer o jogo e colocar-lhe uma música de 3 canais simulados, reeditando e melhorando o jogo de 1985, especialmente a nível gráfico.



MANAGER DE FUTEBOL 2025

A questão é que após ter acabado o jogo tive a noção que tinha aprendido muito sobre o ZX Spectrum e que o jogo tinha ficado encanado por não conhecer essas situações no início do desenvolvimento.

Assim avancei com o Star Carrier Ruffian, um jogo 100% novo, e onde explorei a possibilidade de processamento múltiplo simultâneo. Fui também mais longe, e pela primeira vez explorei o chip sonoro AY do 128, tendo colocado uma música de 3 canais reais no jogo. Explorei igualmente a RAM do 128 K ao máximo e dei uso à minha liberdade criativa para o grafismo.

STAR CARRIER RUFIAN



Este jogo teve uma excelente receptividade. Para além de ter estado em número um na Planeta Sinclair por um tempo que lhe permitiu entrar no Top 10 historico dos jogos que mais tempo estiveram em primeiro lugar, foi-me comunicado que o jogo tinha sido nomeado para jogo do ano na categoria acção estratégia, numa gala de prémios que irá acontecer em Fevereiro de 2026.

Satisfeito com a receptividade resolvi avançar para outro projecto. Desta vez a ideia era criar um jogo para o 48K, que estava ausente até ao momento, do meu suporte.

Nesse sentido voltei ao uso do Beeper do Spectrum numa nova música de 3 canais, criando o jogo Banana Shake. Dado que o jogo apenas requeria uma pequena área do ecrã, tive a ideia de usar o resto para recriar uma imagem retro das consolas Game & Watch, inserindo o jogo no centro.



A recetividade deste jogo não podia ter sido melhor. Uma série de pessoas adoraram o jogo e pediram uma versão compilada de forma a eliminar a única falha do jogo, a sua velocidade.

Assim, pela primeira vez, compilei o jogo, lançando-o. O resultado foi que a revista Break Space o considerou ACE Game, uma categoria apenas atribuída aos melhores jogos analisados, e que há data da premiação, apenas 10 jogos tinham conseguido.

BANANA SHAKE



Esta premiação levou-me a desenvolver outro jogo. Mas nesse jogo quis experimentar algo diferente, a compressão de imagens. A ideia era comprimir as mesmas e descomprimir em tempo real.

Nesse sentido, usei código experimental e basicamente dei por mim com dois projetos na mão. O que foi lançado primeiro foi o Lexicon Z80. Um jogo que mistura os conceitos do tradicional jogo do Enforcado com o Mastermind. Foi ele quem acabou por estrear a compressão de imagens. Usando um fundo que ocupa apenas 2KB em vez dos tradicionais 6.97 KB que ocupa uma imagem do ZX Spectrum.

LEXICON Z80

Mas este foi um projeto paralelo pois ao mesmo tempo desenvolvia um outro.



O seu nome era Oh no! More Monkeys. É baseava-se numa máquina real de Game & Watch que joguei em pequeno e me fascinou, mas que desconhecendo qual era, recriei usando apenas o que tinha na memória.

Sei agora, depois de publicado que o jogo original se chamava Monkeys e era da VTech, tendo sido lançado em 1981.

A questão é que, o lançado pouco ou nada tem a ver com o original. Dado que achei o jogo fácil e repetitivo demais, fui acrescentando alterações e novidades, e o resultado final acaba por ser bastante diferente e mais completo em todos os capítulos do que a maquina que o inspirou.

OH NO! MORE MONKEYS



A receptividade ainda está por ser vista, mas este foi um jogo complexo de ser desenvolvido. Isto porque a geração de macacos não pode ser aleatória, a aceleração dos macacos furiosos tem de verificar se tal vai criar conflitos com outros que se movem mais devagar, e tudo isto tem de ser feito sem que o processamento perturbe a movimentação do jogador.

Diga-se apenas que o seu desenvolvimento foi bem complexo. Muito mais do que pode parecer, sendo o jogo mais complexo que desenvolvi até hoje a nível da programação interna.

Mas não acabo por aqui. Estou atualmente a tentar desenvolver algo que vai mais longe do que alguma vez fui. E aos poucos estou a ter sucesso no pretendido.

Será mais um jogo 128K, no qual já consegui meter mais grafismo do que alguma vez imaginei possível no ZX Spectrum tudo graças às rotinas em assembler de compressão e descompressão de imagens que acontecem em tempo real (Qual Kraken da PlayStation, qual quê 😉 ). Estou também a trabalhar numa rotina assembler para usar os interrupts do Spectrum, algo que ando a tentar há algum tempo sem sucesso, mas que posso dizer, acho que estarei perto de conseguir. Isso irá permitir ter uma música a tocar permanentemente em fundo durante o jogo, algo que espero conseguir.

O jogo será um jogos de aventura exploração com elementos de survival, em que a personagem procura pela mítica cidade de ouro, Quivira.



QUIVIRA

Este último jogo não tem ainda data prevista de lançamento.



Subscreva
Notify of
guest
1 Comentário
Antigos
Recentes
Inline Feedbacks
Ver todos os comentários
André
7 de Setembro de 2025 16:03

Excelente!

error: Conteúdo protegido
1
0
Queríamos ouvir a tua opinião. Comenta!x