Estou tentando descobrir o básico do desenvolvimento de jogos em C64, além do BASIC, e poderia usar alguns conselhos sobre algo muito básico, mas importante: o que é realmente tudo isso na tela e como desenhá-lo?
Dê uma olhada em Katakis / Denaris :
Há pelo menos 9 coisas diferentes na tela:
- A barra de pontuação, com fontes diferentes
- O próprio navio
- Um satélite conectado ao navio, destacável
- Projéteis de Armas Secundárias
- Projéteis de Arma Primária
- Objetos em movimento (podem ser naves inimigas)
- A barra de status, com uma imagem do navio, o número de vidas e três seções que podem preencher
- A barra de carga da arma principal, pode ser preenchida até o fim
- Um campo de estrelas de rolagem em segundo plano
- (não numerado na tela) Objetos sólidos, como pedras ou paredes de metal que fazem parte do plano de fundo
O C64 suporta apenas 8 sprites por linha de varredura horizontal, então não acho que tudo no meio da tela possa ser um sprite? Suponho que qualquer coisa que exija uma colisão seria um sprite (já que posso obter detecção de colisão de hardware com sprites), mas mesmo assim atingi rapidamente o limite de 8 sprites. Além disso, minhas armas podem disparar muito mais que um projétil - minha nave, o satélite e 6 balas já seriam 8 sprites seguidos (observe cerca de 50 segundos no vídeo).
Além disso, qual modo gráfico seria usado em um jogo como esse? O Manual de programação lista o modo de mapa de bits que modifica essencialmente a memória da tela diretamente. É nesse modo que eu normalmente deveria estar trabalhando? Como eu comporia todos os elementos não-sprites juntos para exibi-los na tela?
Muitas coisas na barra de pontuação e status são estáticas ("Área: 01" ou "quadro"), então acho que vou preenchê-las apenas uma vez quando o nível começar. O que precisa ser atualizado - a pontuação, as barras de carga na parte inferior - seria atualizado preenchendo a memória da tela com preto e desenhando a nova pontuação a cada quadro?
Ou tenho que desenhar a tela inteira em todos os quadros?