Bem-vindo ao nosso desafio de programação para desenvolvedores de jogos! Este teste foi projetado para avaliar suas habilidades de implementação de mecânicas de gameplay em um ambiente 2D.
Baseado no vídeo de demonstração, você deve implementar as seguintes funcionalidades (em ordem de prioridade):
-
Movimentação básica do personagem
- Movimentação suave em todas as direções
- O sprite deve acompanhar o direção do personagem
-
Sistema de pulo
- Pulo básico
- Pulo duplo
-
Coletar Objetivos
- Coletar itens
- Passar de nivel apenas após coletar todos os itens
-
Morte
- Morrer ao cair no buraco
- Morrer ao cair em espinhos
- Ao morrer voltar ao inicio da fase
Avaliaremos sua submissão com base nos seguintes critérios:
- Funcionalidade - O quão próximo sua implementação reproduz as mecânicas demonstradas no vídeo
- Qualidade do Código - Organização, legibilidade e boas práticas
- Física e Sensação - O quão natural e responsivo se sente o controle do personagem
- Criatividade - Soluções inovadoras para os problemas apresentados
- Completude - Quantas das mecânicas solicitadas você conseguiu implementar
- O projeto deve ser executável em PC Windows
Algumas funcionalidades são marcadas como opcionais neste desafio. A implementação dessas funcionalidades é um diferencial, mas não um requisito obrigatório. Você não deve se sentir pressionado a implementar todas elas. Recomendamos que primeiro implemente todas as funcionalidades principais antes de tentar as opcionais. Preferimos uma implementação sólida e bem feita das mecânicas básicas do que várias funcionalidades incompletas.
- O controle deve funcionar com gamepad (opcional)
- Controle da altura do pulo baseado no tempo de pressão do botão (opcional)
- Sinta-se a vontade para implementar quaisquer funcionalidades que demonstre suas habilidades! (opcional)
- Fork este repositório
- Implemente sua solução
- Submeta um pull request com sua implementação
- Inclua um breve documento explicando suas decisões de design e quaisquer informações adicionais que considere relevantes
- Um vídeo curto demonstrando sua implementação (Opcional)
- Não é esperado que você reproduza exatamente todos os aspectos do vídeo, mas quanto mais próximo, melhor.
- Priorize a implementação das mecânicas principais em vez de visuais elaborados.
- Se tiver dúvidas, sinta-se à vontade para abrir uma issue neste repositório.
- Divirta-se! Este desafio foi projetado para ser desafiador, mas também divertido de implementar.