Projeto 1 · O seu jogo de coleta
Duração: 30 horas-aula (depois da Aula 3.11). Formato: individual. Dupla só com autorização do professor, e então com divisão de tarefas escrita. Ferramenta: GDevelop 5, aplicativo para computador.
A proposta
Fazer um jogo de coleta seu, com a mesma estrutura do Sementes do Sertão, mas com tema, personagem e regras próprias. Exemplos de temas: catar lixo na praia de Icaraí, colher caju antes da chuva, pegar livros na biblioteca antes do sinal, recolher peças de robô no laboratório.
Requisitos obrigatórios
| Nº | Requisito | Aula de origem |
|---|---|---|
| 1 | GDD de uma página aprovado antes de programar | Módulo 2 |
| 2 | Três cenas: início, jogo e fim | 3.8 |
| 3 | Personagem com animação Parado e Andando, virando para o lado certo | 3.2, 3.3 |
| 4 | Movimento por teclado e por toque | 3.3, 3.9 |
| 5 | Item que se coleta e renasce em lugar sorteado dentro da área segura | 3.4, 3.6 |
| 6 | Pontuação, vidas e tempo no placar | 3.5, 3.7, 3.8 |
| 7 | Um perigo que fica mais difícil com o tempo | 3.7 |
| 8 | Recorde na tela final | 3.8 |
| 9 | Pelo menos 2 sons e 2 caprichos | 3.10 |
| 10 | Pelo menos um desenho feito por você (Piskel ou papel digitalizado) | 3.2 |
| 11 | Exportado para HTML5 e rodando num servidor local | 3.11 |
| 12 | Eventos comentados; ficha de créditos | 3.4, 3.10 |
Cronograma sugerido (30 h)
| Horas | Etapa | Entrega parcial |
|---|---|---|
| 4 | GDD de uma página e esboço das telas | GDD aprovado |
| 4 | Desenhos e objetos | objetos com animações |
| 10 | Eventos (copiando a estrutura do Sementes e adaptando) | jogo jogável v1 |
| 4 | Teste com 5 pessoas (ficha do Módulo 2) | fichas preenchidas |
| 4 | Ajustes, sons e caprichos | v2 |
| 2 | Exportação, .zip e README | entrega final |
| 2 | Mostra | apresentação |
O que entregar
- Pasta do projeto do GDevelop (o
.jsoncom as pastas de imagens e sons). .zipda pasta exportada em HTML5.README.mddo jogo: nome, como jogar, controles, autor, créditos (modelo emPROJETOS.md).- GDD v final e as 5 fichas de teste.
- Diário do projeto.
Rubrica do Projeto 1 (28 pontos, convertidos para 4,0)
| Critério | 1 (iniciando) | 2 (em desenvolvimento) | 3 (adequado) | 4 (avançado) |
|---|---|---|---|---|
| Funcionamento | não chega ao fim da partida | chega ao fim com falhas | todos os 12 requisitos funcionam | funciona e trata casos raros (ex.: duas coletas no mesmo quadro) |
| Eventos | desorganizados, sem comentários | funcionam, poucos comentários | comentados e na ordem da partida | organizados e explicados em voz alta pelo autor sem consultar |
| Controles | só teclado | toque com problemas (tremor, lado errado) | teclado e toque bons | ajustados com base em teste com jogadores |
| Dificuldade | fácil ou impossível demais | muda pouco com o tempo | cresce com o tempo de forma justa | ajustada com números (tabela ou teste registrado) |
| Arte e som | só os arquivos do Sementes | um desenho próprio | desenho próprio + 2 sons + 2 caprichos | identidade visual coerente, créditos completos |
| Teste e iteração | sem teste | testou sem registrar | 5 fichas e uma mudança justificada | v1 × v2 comparadas com números |
| Publicação | não exportou | exportou mas não rodou | roda no servidor local com README | roda no celular (ou registro de tentativa) |
Nota = soma ÷ 7.
Mostra (2 h)
Igual à do Módulo 2: visitantes jogam sem explicação por 5 minutos; o autor tem 2 minutos para contar o que o teste mostrou e o que mudou. Avaliada pela rubrica R2 (AVALIACAO.md).
Questões de saída (individuais, 20 minutos)
- Qual a diferença entre objeto e instância? Dê um exemplo do seu jogo.
- Por que "Exclui o objeto Semente" no evento de colisão apaga só uma semente?
- Para que serve a variável global
UltimaPontuacao, se já existePontos? - Por que o redemoinho usa força instantânea e não permanente?
- Por que o jogo exportado não roda com dois cliques no
index.html?
Gabarito
- Objeto é o molde (com animações e comportamentos); instância é cada cópia na cena. Exemplo do aluno.
- Porque a condição de colisão seleciona só as instâncias que estão encostando; as ações valem para as selecionadas.
Pontosé variável de cena e se perde quando a cena Jogo fecha; a global sobrevive à troca para a cena Fim.- Porque a força é recalculada todo quadro mirando a posição atual do jogador; a permanente iria se somando e o redemoinho sairia voando.
- Porque o navegador bloqueia o carregamento dos arquivos do jogo abertos direto do disco; é preciso um servidor web (o próprio GDevelop avisa isso ao exportar).