Engine e Frameworks
Phaser.js
Motivo da Escolha
Leve, eficiente para jogos 2D, altamente customizável, documentação recente com exemplos e funcionalidades e comunidade altamente ativa (Discord e Reddit).
Funcionalidades Utilizadas:
Câmera e Movimentação: Implementação da Câmera Top-Down com Foco no Jogador
Tipo de Câmera:
Câmera Top-Down Focada no Personagem:
Mantém o jogador sempre centralizado na tela, permitindo uma visão ampla do ambiente ao redor.
Movimento da Câmera:
Acompanhamento Suave (Lerp):
Ajuste de suavização na movimentação da câmera para evitar que ela siga o jogador de maneira brusca.
Configuração de lerp.x e lerp.y para valores próximos de 0.1, criando um efeito de "delay" natural.
Limite de Movimento (Bounds):
Definição de limites para a câmera não ultrapassar as bordas do cenário, mantendo o jogador sempre visível.
Jogador não pode sair da área de combate.
Efeitos Especiais na Câmera:
Shake (Tremor):
Câmera treme em explosões, ataques poderosos ou dano crítico no jogador.
Configurável em intensidade e duração para diferentes eventos.
Flash e Fade:
Flash: Ao coletar power-ups ou ao ser atingido.
Fade In/Out: Para transições entre arenas ou cenas narrativas.
Sprites e Animações: Gerenciamento de Spritesheets para Animações Fluidas
Organização e Importação:
Spritesheets Otimizadas:
Spritesheets compactas para minimizar o tempo de carregamento.
Organização por personagem, inimigos, projéteis e efeitos visuais (como explosões).
Pré-carregamento:
Utilização do método
preload()
para carregar assets antes de iniciar a cena, garantindo transições suaves.
Animações do Jogador:
Animações de Movimentação:
Idle: Quando o personagem não se move, dando uma sensação de vida (ex: respiração, cabelo ao vento).
Corrida: Animações dinâmicas com mudanças conforme a direção do movimento.
Animações de Combate:
Ataque Básico: Diferentes animações para cada tipo de arma.
Recuo (Knockback): Movimentos ao ser atingido, aumentando o feedback visual.
Animações de Interação e Contexto:
Morte e Renascimento: Animação dramática ao morrer e efeito de respawn ao recomeçar.
Animações de Inimigos:
Movimentação e Ataque:
Padrões de Ataque: Animações específicas para inimigos atiradores e corpo a corpo.
2.4. Efeitos Visuais (VFX):
Impactos e Explosões:
Efeitos de Partículas: Para tiros, explosões e poderes especiais.
Desaparecimento Gradual: Efeito de fade-out para corpos de inimigos e itens coletados.
Feedback de Dano:
Flash Vermelho: Piscada rápida ao ser atingido para indicar dano.
Shake no Sprite: Pequeno tremor para dar sensação de impacto.
Física Integrada: Utilização da Física do Phaser com Cannon.js ou Planck.js para Colisões Complexas
Física de Movimentação do Jogador:
Inércia e Aceleração:
Movimentação suave com aceleração ao começar a andar e desaceleração ao parar.
Ajuste fino para dar a sensação de peso e fluidez ao personagem.
Colisões e Interações:
Colisões Precisas:
Uso de Cannon.js ou Planck.js para colisões pixel-perfect entre projéteis, inimigos e o jogador.
Colisões com Objetos do Cenário:
Colisão com paredes ou obstáculos ao redor do mapa/background
Colisões com Projéteis:
Ajuste de velocidade, e colisão correta do hitbox.
Forças e Impactos:
Knockback e Empurrões:
Jogador e inimigos são empurrados ao sofrer dano crítico ou explosões.
Física ajustada para evitar sobreposição ou glitch em paredes.
Interações Ambientais:
Destruição de Objetos:
Objetos no cenário que podem ser destruídos, afetando o campo de batalha.
Efeitos Climáticos:
Ventos que afetam a movimentação de projéteis e personagens.
Poças d'água com fricção reduzida, aumentando a velocidade de movimento.
Atualizado