Survive — Controlando objetos

Survive-8_controle

Quando do comecei este projeto tinha em mente que seu objetivo não seria o de demonstrar como (re)fazer o jogo A, ou B. Para tal bastaria (re)escrevê-lo, publicar o código e aí comentar tediosamente a função de cada bloco de código. A ideia sempre foi a de documentar o processo de desenvolvimento (o durante) mas também repassar a teoria necessária para o caso de alguém se aventurar em algo parecido.

Nesta parte é a vez de aprender como mandar das “instruções” para movimentar os objetos na tela usando os joysticks do MSX.

Continuar lendo

Anúncios

Survive — Colisão de sprites II

survive-7_colisão_de_sprites
Por mais incrível que possa parecer, pois havia algum código por lá, a parte anterior contemplava apenas da “teoria” envolvida na coincidência/colisão de sprites com o TMS9128. Especificamente no caso dele saber que ela (a colisão) aconteceu é apenas o começo pois fica faltando a parte mais importante na história pois o VDP do MSX diz que dois (ou mais) sprites esbarraram em algum canto da tela mas não os identifica. E neste caso, até identificá-los todos os sprites na tela são suspeitos.

…aliás, que fique claro que não estou falando de Keyser Söze aqui! 🙂

Continuar lendo

Survive — Ainda nos sprites

survive-5_putsprite_teste

Finalmente consegui algum tempo e também inspiração para prosseguir com o “desenvolvimento em forma de narrativa” do Survive. Na publicação anterior expliquei o funcionamento e as idiossincrasias dos sprites do MSX e fiz um protótipo em C de uma rotina para funcionar como se fosse o comando PUT SPRITE do MSX-BASIC.

Bem, agora é a vez de implementar esta mesma rotina em assembly de Z80.

Continuar lendo

Survive — Organizando o código

survive-3_atom

Relembrando daqueles dois exemplos da parte anterior, quando o “cartridge.asm” foi transformado no “hello.asm” e o número de linhas do programa mais que dobrou passando de 20 para 41 linhas. Até aí tudo bem, programas de computador tendem a aumentar de tamanho conforme as funcionalidades são acrescidas mas programas em assembly são  praticamente instruções sequenciadas e isto cresce bem rápido.

Assim, como também acontece em qualquer linguagem de programação, quanto maior é o programa, mais difícil é mantê-lo organizado. Daí vem a pergunta: Isto é importante?

CLARO QUE É! Quando escrevi a versão para MSX do Flappy Bird usei algumas regras que pareciam (muito) boas na teoria mas justamente a prática cuidou de avacalhá-las, ou seja, hora de rever alguns conceitos. 🙂

Continuar lendo