Arena Survival Top-Down
Jogo 2D de arena onde o jogador sobrevive a ondas infinitas de inimigos utilizando movimentação e disparos direcionais.
- Nível
- fácil
- Categoria
- Programação
- Tecnologias
- Game Engine 2D, C#, GDScript, C++, Physics 2D, UI Systems
Objetivo do Projeto
O projeto consiste no desenvolvimento de um jogo 2D com visão superior focado na sobrevivência em uma arena fechada. O objetivo principal é implementar os fundamentos de um game loop completo incluindo controle de entrada de usuário, detecção de colisões, instanciação dinâmica de objetos e gerenciamento de estado do jogo.
A aplicação final entrega uma experiência arcade contínua. O jogador deve desviar de inimigos gerados proceduralmente pelas bordas do mapa e utilizar projéteis para eliminá-los acumulando pontos até que sua vida seja completamente esgotada.
Características e Regras de Negócio
- Movimentação e Controle: O personagem do jogador deve se mover nos eixos X e Y em um ambiente bidimensional utilizando as teclas de direção. A rotação do personagem ou a direção dos disparos deve seguir a posição do cursor do mouse.
- Sistema de Inimigos: Inimigos devem ser instanciados fora da visão da câmera de forma aleatória em intervalos regulares de tempo. O algoritmo de movimentação dos inimigos deve calcular constantemente a direção do jogador e aplicar velocidade contínua até ocorrer uma colisão.
- Mecânica de Disparo: O jogador aciona a criação de instâncias de projéteis através do clique do mouse. Os projéteis possuem velocidade fixa e são destruídos ao colidir com inimigos ou após saírem dos limites da arena para otimizar o uso de memória.
- Sistema de Vida e Pontuação: O jogador inicia com uma quantidade predefinida de pontos de vida. Colisões diretas com inimigos subtraem vida. A destruição de um inimigo adiciona pontos ao placar global. A condição de derrota é ativada quando a vida chega a zero.
Stack e Arquitetura
- Modelagem de Dados: Componentes estruturais dos atores principais representados por classes ou nós. O jogador possui atributos de velocidade, vida atual e cadência de tiro. Os inimigos possuem atributos de velocidade de perseguição e dano de colisão.
- Lógica e Serviços: Gerenciadores de estado controlam o fluxo de iniciar, pausar e finalizar a partida. Um sistema de pooling de objetos pode ser utilizado para gerenciar a criação e destruição repetitiva de projéteis e inimigos.
- Interface e Interação: Componentes de tela sobrepostos à câmera principal exibem a pontuação atual e uma barra de vida. Menus simples contendo os botões de controle de estado acionam as transições de cena ou recarregamento dos dados.
Passo a Passo de Desenvolvimento
- 1. Setup e Modelagem: Configuração do projeto na engine escolhida, importação de formas geométricas primárias e configuração da câmera estática limitando a visão da arena.
- 2. Lógica Central: Programação dos scripts de movimentação do jogador e de perseguição dos inimigos. Configuração das caixas de colisão e simulação física cinemática bidimensional.
- 3. Interface e Interações: Implementação da lógica de disparo com cálculo de vetores a partir da posição do mouse. Construção da interface gráfica para exibição dinâmica dos dados numéricos.
- 4. Validações e Testes: Ajuste numérico da velocidade das entidades. Validação do acionamento da tela de conclusão e limpeza total das instâncias em memória ao reiniciar a partida.
Critérios de Conclusão
- O jogador consegue se mover livremente dentro dos limites da tela respondendo aos comandos de teclado.
- Os projéteis são instanciados corretamente na direção do cursor do mouse e registram colisão com as entidades adversárias.
- Entidades inimigas surgem em intervalos constantes e calculam a rota de interceptação do jogador.
- O sistema contabiliza a pontuação ao destruir entidades e reduz a integridade do jogador ao sofrer contato físico.
- A tela de reinicialização sobrepõe a visualização principal no momento da derrota.
Desafios Extras (Opcional)
- Implementar suporte a gamepads para controle de movimento nos direcionais analógicos isolando a orientação da mira.
- Desenvolver um sistema de progressão temporal reduzindo o intervalo de geração das entidades inimigas a cada ciclo de sessenta segundos.
Comentários
0Participe da conversa
Faça login com sua conta para deixar dúvidas, sugestões e trocar ideias com outros estudantes.
Nenhum comentário ainda. Seja o primeiro a participar da discussão!