Mini-Projecto · Jogo interativo de raiz
Contexto
A "Pixel Forja", um pequeno estúdio independente, quer lançar o primeiro jogo do catálogo: um jogo 2D simples mas completo, jogável do início ao fim, com uma mecânica central clara, um inimigo com comportamento de IA, som reativo e um build pronto a testar por jogadores externos. Foste contratado/a como técnico/a de produção de conteúdos interativos para conceber e desenvolver esse jogo.
Trabalhas individualmente ou em pequena equipa, num motor de jogo à escolha (Unity, Godot ou Unreal), e entregas o jogo a funcionar mais um dossiê de produção (GDD, storyboard operacional e decisões técnicas).
Requisitos
Funcionais
- GDD com visão geral, mecânicas, níveis e requisitos técnicos.
- Storyboard operacional de pelo menos um fluxo com bifurcação (ex.: menu de pausa, fim de jogo).
- Loop de jogo funcional com estado (vida ou pontuação) e pelo menos 2 mecânicas distintas (ex.: mover + saltar, ou mover + atirar).
- Pelo menos 1 inimigo ou obstáculo com IA simples (FSM com no mínimo 2 estados, ex.: patrulhar/perseguir).
- Animações para o personagem principal (mínimo: parado, movimento, uma ação).
- Sistema de gamificação ou progressão (pontos, vidas, ou XP com subida de nível).
- Áudio dinâmico: pelo menos 2 efeitos sonoros disparados por eventos de jogo.
- Ecrãs completos: menu inicial, jogo, fim de jogo (vitória e/ou derrota).
Não-funcionais
- Frame rate estável (sem quebras percetíveis) durante todo o jogo.
- Assets organizados em pastas com nomes claros.
- Interface adaptada a pelo menos duas resoluções/proporções de ecrã.
- Build final compilado e testado fora do editor.
Fases
Fase 1 · Design e GDD (4h) Definir o conceito (mecânicas, objetivo, mercado-alvo) e escrever o GDD. Esboçar o storyboard operacional dos fluxos principais.
Fase 2 · Prototipagem do gameplay (5h) Implementar o game loop central e a mecânica principal com formas simples (sem arte final), validar que "é divertido" antes de continuar.
Fase 3 · Animação (4h) Criar ou integrar as animações do personagem principal (sprite sheet ou esquelética) e a respetiva máquina de estados.
Fase 4 · IA e física (5h) Programar o inimigo/obstáculo com FSM, configurar colliders adequados e resolver a deteção de colisão do gameplay.
Fase 5 · Gamificação e áudio (4h) Implementar o sistema de pontos/vidas/XP com feedback, e ligar os efeitos sonoros aos eventos de jogo.
Fase 6 · Otimização e publicação (5h) Rever desempenho com o profiler, adaptar a interface a diferentes resoluções, compilar o build final e testá-lo fora do editor.
Fase 7 · Apresentação (3h) Demonstrar o jogo à turma, explicando as decisões de design e as dificuldades técnicas resolvidas.
Critérios de avaliação
| Critério | Peso |
|---|---|
| GDD e documentação de design | 10% |
| Gameplay: loop, mecânicas e estruturas de dados | 20% |
| Animação e máquina de estados | 15% |
| IA (FSM) e física/colisão | 20% |
| Gamificação e áudio dinâmico | 15% |
| Otimização, adaptação de ecrã e build final | 10% |
| Dossiê e apresentação | 10% |
Erros comuns
- Começar a produzir arte final antes de validar que a mecânica central é divertida no protótipo.
- Storyboard operacional sem bifurcações, esquecendo casos de erro ou desistência.
- Deteção de colisão a testar só um eixo, criando falsos positivos ou negativos.
- IA com perceção perfeita, tornando o jogo injusto.
- Esquecer o estado de aterragem na máquina de estados de animação.
- Sistema de XP com
seem vez deenquanto, perdendo progresso em bónus grandes. - Não testar a build final fora do editor antes de considerar o jogo pronto.
- Interface com coordenadas fixas que saem do ecrã noutra resolução.
Bónus (opcional)
- Segundo tipo de inimigo com comportamento de IA distinto (ex.: patrulha em padrão diferente).
- Leaderboard local (top 5 pontuações da sessão).
- Música adaptativa com pelo menos duas camadas (exploração/perigo).
- Versão simplificada adaptada a um dispositivo de RV ou RA disponível na escola.
Reflexão
No dossiê final, responde: que decisão de design tomaste primeiro, o objetivo do jogo ou a plataforma-alvo, e porquê fez sentido essa ordem? E descreve um bug de gameplay, IA ou desempenho que encontraste durante o desenvolvimento, como o diagnosticaste e como o corrigiste.