Kit de MPAGD
MPAGD SHMUPKIT
Um projeto do Multi Platform Arcade Game Designer para criar shoot 'em ups verticais, começando pelo ZX Spectrum.
O que inclui
- Nave do jogador com movimento para a esquerda e para a direita e impulso para cima.
- Mísseis do jogador, disparados ao premir uma tecla.
- Inimigos com padrões de movimento construídos a partir de 16 direções.
- Um gerador de inimigos que controla quais aparecem.
- Um campo de estrelas com scroll no ciclo principal.
- Vidas, uma mensagem de fim de jogo e um ecrã de reinício.
- Progressão de níveis e vagas de ataque.
- Redefinição de teclas no menu de introdução.
- Um contador de sprites e um conjunto documentado de variáveis globais.
Guia de desenvolvimento
- MPAGD Shmupkit Dev Guide
- Referência de variáveis
- Evento de inicialização do jogo
- Evento do menu de introdução
- Evento do ecrã de reinício
- Ciclo principal 1
- Ciclo principal 2
- Evento de inicialização de sprite
- Evento do jogador
- Evento do míssil do jogador
- Evento do gerador de inimigos
- Evento do inimigo
- Evento do míssil inimigo
- Evento de matar o jogador
- Evento de jogo perdido
Como o kit executa o teu jogo
Cada fotograma segue o mesmo caminho. Seleciona um evento para ver o que faz.
Arranque
Em cada fotograma: os ciclos principais
Em cada fotograma: cada sprite
Quando o jogo termina
Inicialização do jogo
A variável L serve para acompanhar e fazer progredir os níveis e as vagas de ataque do jogo: quando o jogador sobrevive a um nível com sucesso, passa para o seguinte. Por isso, naturalmente, queremos começar no nível 1 (L=1)
Menu de introdução
Este é um menu de introdução bastante normal do MPAGD, mas acrescentei os comandos para redefinir teclas. Deixa sempre que os teus jogadores redefinam as suas teclas!
Inicialização de sprite
O importante aqui é que incluímos 'ADD 1 TO S' para que cada sprite que é inicializado seja somado ao contador de sprites (S). Usamo-lo em todo o Shmupkit para acompanhar quantos sprites estão no ecrã em cada momento, já que o MPAGD tem um máximo de 12 sprites no ecrã em simultâneo, NO ENTANTO, eu...
Ciclo principal 1
Tentei manter o ciclo principal o mais simples possível e acrescentei um campo de estrelas a deslocar-se para baixo com o comando STAR DOWN.
Jogador
O evento Player é bastante simples. Há controlos para o movimento para a esquerda e para a direita, e para o impulso para cima com a tecla de cima, que está limitado a meio do ecrã, mas é claro que podes alterá-lo.
Míssil do jogador
O míssil do jogador é definido em Sprite Type 1. Usa uma imagem de sprite simples de 16x16 e é lançado quando o jogador prime a tecla de disparo.
Gerador de inimigos
Esta é a sala das máquinas do Shmupkit. O próprio Spawner é um sprite em branco e o seu evento controla que inimigos devem surgir, onde, quantos, e define todos os parâmetros que controlam o inimigo e que são passados ao evento Enemy.
Inimigo
Os alienígenas seguem um padrão de movimento que é uma combinação de movimentos direcionais, Direção 0-15, cada uma a representar um ponto de uma bússola de 16 pontos, e um número de repetições.
Míssil inimigo
Os mísseis inimigos descem pelo ecrã bastante depressa. Quando são lançados por um inimigo, passamos ao míssil a direção de deslocação do inimigo e fazemos o míssil desviar-se para a esquerda ou para a direita em conformidade: se o inimigo ia para a esquerda quando disparou, o míssil também se desviará para a esquerda.
Matar o jogador
O que acontece quando o jogador é morto? Diminuímos as suas vidas e atualizamos o contador de vidas no ecrã
Jogo perdido
Uma mensagem simples de GAME OVER, semelhante à de GET READY no evento Restart Screen:
Ecrã de reinício
Este evento é executado quando o jogo arranca pela primeira vez ou recomeça depois de o jogador ser morto.
Variáveis globais
As variáveis que o Shmupkit usa, com as livres deixadas para o teu jogo.
| A | Livre para uso próprio |
|---|---|
| B | Livre para uso próprio |
| C | Cor do inimigo |
| D | Abates necessários para o bónus |
| E | N.º de inimigos na vaga |
| F | Inimigos restantes |
| G | Atraso na libertação de inimigos |
| H | Probabilidade de disparo da arma do inimigo |
| I | Distância em X para ativar a arma do inimigo |
| J | Tipo de sprite do inimigo |
| K | Imagem do inimigo |
| L | Nível/vaga |
| M | X do jogador para usar noutros eventos |
| N | Y do jogador para usar noutros eventos |
| O | Livre para uso próprio |
| P | Pontos por cada abate |
| Q | Altura para o lançamento da arma alienígena |
| R | Livre para uso próprio |
| S | Contador de sprites |
| T | Gatilho |
| U | Livre para uso próprio |
| V | Livre para uso próprio |
| W | Arma do inimigo |
| Z | Música (reservada) |
