Autor: Eduardo Souza Rocha
Recriação do jogo Space Invaders para segunda fase do PSel (Processo Seletivo) do FoG (Fellowship of the Game)
- É um jogo digital
- O jogo abre
- O jogador pode movimentar a nave horizontalmente
- O jogador pode atirar um laser para cima em linha reta
- Os alienígenas devem aparecer da parte superior da tela
- Os alienígenas se movem horizontalmente,
- Quando a linha de de alienígenas atingir o limite da tela, deve descer um pouco e andar na outra direção (horizontalmente)
- Se um laser atingir um alienígena, ele deve ser destruído
- Se o jogador for atingido por um laser de um alienígena, ele deve perder uma vida
- O jogo acaba quando:
- O jogador perde todas as suas vidas
- Um alienígena atinge a parte inferior da tela
- Fazer menu iniciar
- Poder pausar o jogo
- Implementar sistema de pontuação
- Quando o jogador destruir um alienigena
- Alienígenas mais distante da margem inferior concedem mais pontos
- Implementar mais de uma fase
- Dificuldade das fases aumentar progressivamente
- Ter mais de um tipo de alienígena
- Inserir alienígena de bonûs que passa rapidamente no topo da tela, de tempos em tempos
- Estruturas que protege o jogador
- O Highscore é salvo em uma arquivo
- Criar menu de pausa
- Janela pode ser redimensionada
- É possível usar tela cheia
- Efeito de explosão para o alienígena
O jogo é controlado através do teclado, sendo as teclas e as ações as seguintes:
Tecla | Ação |
---|---|
Esc | Pusa |
Seta para esquerda | Mover para esquerda |
A | Mover para esquerda |
Seta para direita | Mover para direita |
D | Mover para direita |
Espaço | Atirar |
R | Restart |
F | Fullscreen |
F11 | Fullscreen |
Tem algumas teclas com funções que me ajudaram durante o desenvolvimento do jogo, se você tiver curiosidade de testar, elas são as seguintes:
Tecla | Ação |
---|---|
N | Ganhar instantaneamente a fase |
G | Perder instantaneamente |
L | Fechar jogo |
C | Ativa o modo de debug, mostrando os colisores e as flags em game.state |
P | Acelerar o jogo |
O Makefile não faz tudo automatizado do zero. Ainda precisa fazer coisas antes para o build funcionar