Pular para o conteúdo
Jogos Digitais
Nesta página
  1. A proposta
  2. Requisitos obrigatórios
  3. Cronograma sugerido (16 h)
  4. O que entregar
  5. Rubrica do projeto (28 pontos, convertidos para 4,0)
  6. Questões de saída (individuais, 20 minutos)

Projeto 6 · Protótipo 3D: labirinto com chave e porta

Duração: 16 horas-aula (20 se a turma não fizer a Aula 9.8). Formato: em dupla. Cada um explica qualquer parte do código. Ferramenta: Godot 4.7, renderizador Compatibilidade.

A proposta

Fazer um labirinto 3D próprio: o jogador procura uma chave, abre uma porta e chega à saída, com a câmera em terceira pessoa. O tema é da dupla (casa de farinha, escola à noite, roça de milho, caverna da serra), desde que tenha chave (ou outro item), porta (ou outro bloqueio) e saída.

O projetos/chave-da-porteira/ é a referência para consulta. A dupla pode partir de uma cópia dele, mas precisa trocar o mapa, o personagem, os materiais e pelo menos uma regra.

Requisitos obrigatórios

NºRequisitoAula
1Projeto com renderizador Compatibilidade e pastas cenas, scripts, materiais, modelos9.1
2Personagem próprio feito de formas prontas, com a frente visível9.2, 9.3
3Pelo menos três materiais salvos em .tres9.2
4Pelo menos um modelo .glb (o mandacaru do curso, um do Blender ou de terceiros com CREDITOS.md)9.2
5CharacterBody3D com gravidade, giro e andar9.3
6Câmera em terceira pessoa com SpringArm3D que ignora o jogador9.4
7Labirinto montado pelo código a partir de um mapa de letras próprio9.5
8Chave, porta e saída avisando por sinais; a cena decide9.6
9Tempo na tela e melhor tempo salvo em user://9.6
10WorldEnvironment com céu, luz ambiente e neblina; sol com sombra9.7
11Tabela de medição com sombra e sem sombra9.7
12Telas de início e fim8.6

Cronograma sugerido (16 h)

HorasEtapaEntrega parcial
2Tema, mapa no papel conferido pela outra duplamapa aprovado
3Personagem, materiais, câmeraanda no chão de teste
3Labirinto pelo códigoanda dentro do labirinto
3Chave, porta, saída, tempopartida completa
2Clima, medição, telasversão para teste
2Teste com 3 colegas e correçõesdiário
1README e mostraapresentação

O que entregar

  1. Pasta do projeto do Godot (sem a pasta oculta .godot).
  2. README.md: nome, como jogar, controles, versão do Godot, autores, créditos.
  3. Mapa no papel (foto) e o mesmo mapa em letras.
  4. Diário com: as três câmeras testadas (Aula 9.4), a tabela de medição (Aula 9.7) e pelo menos um erro encontrado e como foi resolvido.
  5. CREDITOS.md, se usou qualquer coisa de terceiros.

Rubrica do projeto (28 pontos, convertidos para 4,0)

Critério1 (iniciando)2 (em desenvolvimento)3 (adequado)4 (avançado)
Funcionamentonão rodaroda com erros na Saídaos 12 requisitos funcionam, sem errostrata casos raros (pisar duas vezes na saída, primeiro recorde)
Espaço 3Dobjetos flutuando ou enterradosposições corretas, sem cuidado de escalaescala coerente (pessoa ~1,7 m, corredores largos para a câmera)explica a escolha de cada medida
Câmera e controlecâmera atrapalhasegue, mas bate na parede ou someterceira pessoa jogável, braço ignorando o jogadorduas câmeras ou ajuste justificado por teste com colegas
Labirinto e regrassem caminho até a saídacaminho existe, porta não bloqueiachave antes da porta, porta obrigatóriasegunda regra (duas chaves, armadilha, atalho)
Aparênciasem materiaisum material sótrês materiais, clima configuradoclima que combina com o tema e ajuda a jogar
Otimização e mediçãonão mediumediu sem comparartabela com e sem sombra, malha reaproveitadapropõe e testa outra melhoria com número
Domínio do códigonão explicaexplica com ajudacada um explica três trechospropõe mudança e mostra onde mexer

Nota = soma ÷ 7.

Questões de saída (individuais, 20 minutos)

  1. Para onde aponta cada eixo no Godot? Qual é a frente de um nó 3D?
  2. Por que a câmera precisa de braco.add_excluded_object(get_rid())?
  3. Por que o labirinto não aparece no editor, só no jogo?
  4. Por que a porteira avisa jogador_chegou em vez de abrir sozinha?
  5. O que acontece com as chamadas de desenho quando se desliga a sombra do sol? Por quê?

Gabarito

  1. X para a direita, Y para cima, Z na direção de quem olha a tela. A frente é o Z negativo (-transform.basis.z).
  2. O braço procura obstáculos com um raio; sem essa linha, o primeiro obstáculo é a cápsula do próprio jogador e a câmera fica colada nele.
  3. As paredes são criadas pelo script quando a cena começa (_ready). No editor o script não roda.
  4. Para a regra ficar na cena: a mesma porteira serve para outra fase com outra regra.
  5. Diminuem (no Chave da Porteira, de 102 para 25 com sombra e neblina desligadas), porque a sombra obriga o Godot a desenhar a cena outra vez, vista pelo sol.