Projeto#
Informações gerais#
- Equipes de 3 integrantes (ou 4 integrantes, se inclui um aluno apoiado e aluno apoiador)
- A nota poderá ser individualizada, considerando a participação de cada integrante durante o desenvolvimento e a apresentação do projeto.
Objetivo#
Desenvolver um jogo autoral em JavaScript utilizando a biblioteca p5.js, aplicando os conceitos de Programação Orientada a Objetos estudados durante a disciplina.
Requisitos funcionais#
- O jogo deve possuir uma tela inicial contendo, no mínimo, o título do jogo e uma forma de iniciar a partida.
- O jogador deve controlar um personagem ou objeto principal por meio do teclado.
- O jogo deve possuir um objetivo claro (sobreviver, marcar pontos, coletar itens, derrotar inimigos etc.).
- Deve existir pelo menos um desafio ao jogador, como inimigos, obstáculos, armadilhas ou limite de tempo.
- O jogo deve possuir uma condição de vitória, derrota ou término da partida.
- O jogo deve exibir informações relevantes durante a partida, como pontuação, vidas, energia ou tempo restante.
- Deve ser possível reiniciar a partida após seu encerramento.
- O jogo deve utilizar sons e/ou efeitos visuais para tornar a experiência mais agradável.
Requisitos de qualidade#
- O jogo deve ser jogável sem necessidade de intervenção no código-fonte.
- O jogo não deve apresentar erros que impeçam sua execução durante a avaliação.
Requisitos de programação#
- O projeto deve utilizar programação orientada a objetos.
- Devem existir, no mínimo, três classes implementadas pela equipe.
- Cada classe deve possuir atributos e métodos coerentes com sua responsabilidade.
- O jogo deve utilizar múltiplos objetos de uma mesma classe.
- Os objetos devem interagir entre si durante a execução do jogo.
- O código deve estar organizado em arquivos separados sempre que apropriado.
- Variáveis, métodos e classes devem possuir nomes claros e significativos.
- O código deve estar devidamente indentado e organizado.
- O código não deve conter trechos desnecessariamente duplicados.
- Cada classe deve representar uma entidade ou responsabilidade bem definida dentro do jogo.
Requisitos de criatividade#
- O tema do jogo é livre, mas precisa ser aprovado pelo professor para ser desenvolvido.
- Os elementos gráficos podem ser produzidos pela própria equipe ou obtidos em fontes permitidas, desde que sua utilização seja informada.
- A equipe é incentivada a adicionar funcionalidades além das exigidas.
- A equipe deve desenvolver uma identidade própria para o jogo, evitando reproduzir integralmente jogos existentes.
Restrições#
- O projeto deve ser desenvolvido em JavaScript utilizando exclusivamente a biblioteca p5.js.
- O jogo deve executar corretamente em um navegador moderno.
- Não é permitido copiar integralmente projetos disponíveis na internet.
- Caso seja utilizado código de terceiros, sua origem deve ser citada.
- O desenvolvimento deverá ocorrer ao longo das etapas de entrega previstas pelo projeto.
- Cada integrante da equipe deve ser capaz de explicar o funcionamento do código do projeto, especialmente as partes das quais participou.
Entrega#
- Código-fonte completo do projeto.
- Arquivos de imagens, sons e demais recursos utilizados.
- Um arquivo README contendo:
- nome do jogo;
- objetivo;
- instruções de execução;
- comandos do jogo;
- créditos dos recursos utilizados.
Etapas de entrega#
Entrega 1 – Proposta do jogo Valor: 10% da nota total
- Nome provisório.
- Objetivo do jogo.
- Mecânicas principais.
- Esboço das telas (à mão já é suficiente).
- Divisão inicial das responsabilidades entre os integrantes.
Entrega 2 – Protótipo funcional Valor: 35% da nota total
- Todas as mecânicas principais devem estar implementadas.
- O jogo deve ser totalmente jogável do início ao fim.
- É permitido utilizar apenas formas geométricas e cores sólidas.
- Não é necessário incluir sons, animações refinadas ou arte definitiva.
Entrega 3 – Versão candidata Valor: 25% da nota total
- Artes e sons adicionados.
- Interface praticamente concluída.
- Correção de bugs conhecidos.
- Balanceamento da dificuldade.
- Pequenos ajustes de usabilidade.
Entrega 4 – Versão final Valor: 30% da nota total
- Projeto concluído.
- Código organizado.
- README atualizado.
- Apresentação do jogo.
Critério de avaliação#
| Critério | Peso |
|---|---|
| Funcionamento do jogo | 40% |
| Qualidade do código | 25% |
| Aplicação de POO | 20% |
| Criatividade e acabamento | 10% |
| Apresentação | 5% |
Resumo#
- 3 classes.
- Controle pelo teclado.
- Colisões.
- Sistema de pontuação.
- Tela inicial.
- Tela de fim de jogo.
- Sons ou efeitos visuais.
Extras (bônus)#
- Animações.
- Mais de uma fase.
- Inimigos com comportamentos diferentes.
- Power-ups.
- Sistema de recordes.
- Menu de configurações.
- Dificuldade progressiva.
- Efeitos de partículas.
- Música de fundo.