Páginas

Páginas aconselhadas

sábado, 15 de novembro de 2025

O Making of de Quivira: The Adventure, por Mário Armão Ferreira

Após já ter realizado alguns jogos no ZX Spectrum, eis que me resolvi meter em algo diferente. E Quivira é certamente diferente de tudo o que já criei, e diria mesmo que se revela inovador no ZX Spectrum (pelo menos dentro daquilo que eu conheço na máquina).

O conceito

A minha ideia inicial era a criação de uma aventura gráfica, mas sou muito sincero, as aventuras gráficas no Spectrum nunca foram muito o meu estilo. Por norma estas apresentam pouco grafismo, muito texto, e acima de tudo o datilografar de comandos, o que cria uma dificuldade enorme em saber o que escrever e que sintaxe. 

Depois, normalmente essas aventuras tem mapas algo extensos, mas que não são visíveis ao jogador, sendo que a liberdade nos é dada pela mera indicação de que podemos ir para Este, Oeste ou outra direção, e isso não é, igualmente algo que me fascine.

Assim, pretendia quebrar estes conceitos habitualmente existentes nesse tipo de jogos, e trazer algo diferente. Com uma enormidade de grafismo, liberdade total de movimentação, um mapa, e a percepção mais clara do que se pode ou não pode fazer.

E aqui começou a minha aventura pessoal com Quivira: The Adventure

A história

A primeira etapa era, naturalmente, a concepção da história. E sendo um fã dos produtos da Sony, sou daqueles que acredita que uma grande e coerente história é meio caminho andado para um grande jogo, daí que queria que a mesma tivesse um fundamento real e não fosse algo fictício ou fantástico.

No entanto, ao mesmo tempo precisava de algo mítico, mas apoiado em um fundamento ao qual me pudesse, de forma palpável, agarrar. Assim, acabei por pegar na lenda de Quivira, na história do conquistador Coronado, e a partir daí, ficcionar a minha aventura. 

Mas porquê Quivira?

Bem, acima de tudo porque vi na história do local, a possibilidade de a expandir de forma coerente para o meu jogo. Vejamos!

Conta-nos a história real que Coronado quando subjugou pela força das armas os Maias e Astecas, foi ludibriado com a história das 7 cidades de ouro, conhecidas como Cibola.

Quando essa história se revelou falsa, eis que um homem, conhecido como “O turco” vem dizer que Cibola foi apenas um engodo para afastar Coronado da real cidade de ouro, Quivira.

Assim, em 1541 Coronado, acreditando que essa cidade seria verdadeira, explorou tudo para Norte até à área onde hoje é o Kansas, onde apenas encontrou uma pequena aldeia muito pobre, onde uma conspiração com os locais planeava matar os Espanhóis.

O local ficou conhecido até hoje como Quivira, dado que esse nome foi dado ao lago existente na região, sendo que a comunidade cientifica aceita que essa era a real localização de Quivira, que na realidade nunca foi de ouro.

É esta história, contada de forma muito reduzida e simplificada que é representada na introdução do jogo.

Pizarro com os Incas e Astecas

Mas até aqui temos apenas a história mais conhecida. A parte interessante sobre Quivira advêm do facto que a comunidade científica se divide sobre a real localização desta cidade. E no deserto do Novo México temos umas ruínas conhecidas como Las Hermanas, que muitos acreditam ser a real Quivira. Infelizmente, claro, também sem ser uma cidade de ouro.

Las Hermanas

Ora esta situação abriu-me aqui a possibilidade desejada de algo coerente, e realista. A tal situação palpável sobre uma mitologia que me permitisse extrapolar. Afinal, se há duas potenciais localizações sobre a localização de Quivira… Porque não pode haver três?

E eis que, na estória, surge em 1940 Charles Parker, arqueólogo, que acredita que as duas localizações são erradas, e que Quivira se encontra em outro local… e que é realmente uma cidade de ouro.

Naturalmente a estória daqui para a frente é ficcionada, E a cidade que o seu filho, Nathan Parker, procura, não existe. Mas daí a época escolhida, pois nos anos 80, altura em que Nathan se mete à aventura, o mundo ainda era desconhecido, e sem grande mapeamento aéreo ou por satélite.

Claro que precisávamos depois de lhe retirar os meios que tinha… e daí o conveniente (para a nossa aventura), assalto que o deixa no deserto apenas com a roupa no corpo.

Com a base do jogo feita, foi altura de iniciar a arte gráfica, alguma da qual já viram acima. 

Como mera curiosidade, na minha arte introdutória do jogo, a certa altura temos um sinclair QL que nos mostra um marcador no mapa-mundo. O objectivo era que ele indicasse a presença do resultado da pesquisa sobre o deserto mexicano. Mas infelizmente as limitações de cor do Spectrum não permitiam colocar a seta a negro na zona devida, tendo de ficar a azul claro, o que lhe retirava todo o impacto visual. Daí que optei por registar a seta, mais ou menos, na localização do lago Quivira, onde se encontram as ruínas da aldeia que os arqueólogos acreditam ter sido Quivira.

Ou seja, o mapa não está errado, e nem há uma falha, sendo que o mapa está a indicar outra localização apenas porque o Spectrum tem limite no número de cores em cada quadrado de 8x8 pixels.

A concepção do jogo

Quanto ao jogo, comecei a esboçar os conceitos do que fazer, onde fazer, objectos e interacções a se ter, concebendo assim uma história passada num dos desertos mexicanos.

Rapidamente percebi que as interações podiam ser limitadas a basicamente 4 opções. Nos jogos de aventura escritas os comandos mais usados são o "Look around" ou "Examine", o "Use "item" in "object"", o "Use "object"" e o "Move" ou "Go".  Opções que muitos jogos espalham por muitas mais, como "push", "pull", "Open", "Close", "Use", etc, etc, mas onde na realidade essas opções apenas existem para criar uma maior dificuldade e variedade. 

Dado que eu não iria usar comandos escritos e a resolução do Spectrum não me permitia verdadeiramente expandir num menu com muitas opções, tal como o celebre interface gráfico da Lucas Arts, usado em jogos como Indiana Jones and the Last Crusade ou Monkey Island.

Para além do mais, usar esta variedade de opções obrigaria a uma variedade enorme de verificações no código que iriam consumir rapidamente a já de si reduzida memória da máquina, restringindo em muito o que poderia ser feito.

Assim resolvi reduzir a coisa a quatro ações, o mover, o usar itens do inventário, o examinar o cenário, e o interagir com o cenário, percebendo que para isso precisava apenas de três opções, o Look, Use e Move, sendo que o Look dobraria com a interação com o cenário pois ao pressionar o “M” para sair, caso tal fosse feito sobre os objetos do cenário com que podemos interagir, levaria a interações como apanhar os objectos.

E assim o resultado final acaba por resumir tudo a apenas três opções.

Aqui acabamos por ter um mundo aberto com 100 localizações, que requer gestão dos recursos, mas que pode ser abordado de forma livre. Temos também interacção com objectos e cenário para progressão, existindo um total de 31 localizações visualmente diferentes.

Mas como não podia deixar de ser, a determinada altura da programação, felizmente já perto do jogo já finalizado e jogável, eis que o temível erro "Out of memory" me aparece.

Nada que não fosse possível superar para colocar o jogo funcional, mas que me ia limitar em duas situações que ainda pretendia implementar: Uma pesquisa em zonas escuras com o uso de uma lanterna, e uma música constante em fundo durante o jogo.

Assim, para além de precisar de arranjar memória para acabar o jogo, tinha ainda a ideia de obter 700 bytes extra para implementar a situação da lanterna, e mais 4 KB para a música.

Ora com um código já quase realizado, encontrar possíveis optimizações compatíveis com todo o programa, em algo que já ia em 16 páginas de código não é exactamente pêra doce. 

Mas apesar de tal, consegui a memória para acabar o jogo, e ainda 600 bytes adicionais para a lanterna. Assim, apesar que com algumas diferenças face ao conceito original, a lanterna foi implementada.

Na parte da música é que a porca torceu o rabo. Libertar 4K seria uma tarefa Dantesca pois implicava libertar quase 1/9 da RAM. Para isso teria de reescrever quase todo o jogo. 

A realidade é que libertei mais de 2,5KB de RAM que rapidamente ocupei. O jogo usa a RAM de forma mais eficiente do que qualquer outro que tenha feito, sendo que de toda a RAM acessível do 128K devo ter livre pouco mais que 1KB.

Os cenários

Apesar de este ser um jogo ZX Spectrum, nada em Quivira foi deixado ao acaso. E todos os cenários são inspirados em realidades do México.

Oasis

Baseado nos oásis mexicanos

 
Deserto

O nome diz tudo. Baseado no deserto Mexicano.

 

Catos

Baseados nas grandes concentrações de catos por vezes encontradas

 
Mercador

Baseado nos antigos mercadores mexicanos 

 

Urso

Baseado no grande urso negro Mexicano

 

Stone Falls

A cachoeira de Pedra, baseada na cachoeira (Mexicana) calcinada conhecida como “El agua que hierve”

 

Conclusão

Penso que no global Quivira será um jogo de exploração divertido com elevado interesse, mas isso quem definirá serão vocês que o jogarem. Espero por isso que tirem tanto gosto de o jogar, como eu tirei de o criar. 

Nota: Em todas as imagens o mapa e inventário foram apagados para não criar “spoilers”.

Podem aqui vir descarregar o jogo.

Sem comentários:

Enviar um comentário