Universidade do MinhoEscola de Engenharia Departamento de Inform´tica
  Equipa Ensino Pós-Graduações Projectos Publicações   pt | en
   Computação Gráfica
 
  [Geral] [Programa] Avaliação [Material de Apoio]  
 
 
 

Ano: 2006/2007 - Semestre: 2

Cursos: LCC

Método de Avaliação

* 60% avaliação prática (um trabalho em duas etapas no decurso do semestre)
* 40% exame teórico essencialmente sobre shaders

Nota minima a qualquer das partes: 9 valores.

Os trabalhos que estejam incompletos nesta primeira fase sofrem uma penalização que pode atingir os 20% da nota final. A penalização será atribuída tendo em conta as características omissas/mal implementadas.

Trabalhos Práticos

Enunciado

Pretende-se implementar um jogo que decorre num labirínto. O jogador é colocado na entrada do labirínto e tem por missão ir buscar 3 itens ao seu interior e encontrar a saída do labirínto. Os itens devem ter localizações aleatórias que variam de cada vez que se começa um jogo.

Para complicar a tarefa existem os guardiões do labirínto que pretendem evitar que o jogador consiga completar a sua missão. Estes guardiões são desprovidos de inteligência e portanto movem-se aleatóriamente, excepto quando o jogador entra na sua linha de visão (considera-se que existe linha de visão quando é possível traçar uma linha do jogador ao guardião sem atravessar nenhuma parede). O jogador pode imobilizar temporáriamente os guardiões lançando bolas mágicas.

Para facilitar a tarefa o jogador dispõe de um mecanismo que uma vez por segundo deposita uma pepita luminosa no chão, permitindo ao jogador ver o caminho que tomou. Infelizmente as pepitas só conseguem emitir luz durante alguns segundos, findo esse tempo desfazem-se e não é possível descobri-las novamente.

O nosso jogador dispõe ainda de um aparelho que permite visualizar se existem itens até uma determinada distância à volta do jogador. Este aparelho funciona como um radar mas não apresenta informação sobre as paredes, só sobre os itens.

O movimento do jogador deve ser controlado por forma a não atravessar as paredes do labirínto. Apanhar um item pode ser implementado simplesmente aproximando-se do objecto.

Deve ser implementada uma técnica de optimização que limite o número de objectos que são efectivamente desenhados, utilizando um algoritmo apropriado, por exemplo analisando uma representação matricial 2D do labirínto.

Etapa 1 - data limite: 11 de Maio

08/Mai/007 - Uma vez que a JOIN ocorre nos dias 10 e 11 de Maio, a entrega da primeira fase do trabalho de CG é adiada para o dia 14 de Maio.

Nesta data considera-se completo um trabalho que implemente os pontos que se enunciam em seguida:

  • a) Importar objectos 3D em formato OBJ, 3DS ou outro (no mínimo para os guardiões e itens);
  • b) Definir e desenhar o labirínto utilizando blocos que correspondem às configurações possíveis: tunel em linha, tunel em L, tunel em T, e tunel com quatro aberturas;
  • c) Colocar os três itens aleatóriamente dentro do labirínto;
  • d) Movimentar o jogador não permitindo que este atravesse paredes;
  • e) Movimentar os guardiões aleatóriamente (também sem atravessar paredes);
  • f) Determinar quando os guardiões intersectam o jogador e terminar o jogo;
  • g) Determinar quando o jogador apanha os itens e consegue sair do labirinto terminando o jogo.
  • O trabalho deve ser entregue num CD/DVD com a seguinte estrutura:

  • 1 ficheiro "grupo.txt" que contêm a identificação dos elementos do grupo;
  • uma pasta com o código fonte e o projecto em Visual C++;
  • uma pasta com o executável incluindo todas as bibliotecas que sejam necessárias para a execução do programa
  • Etapa 2 - data limite: 8 de Junho a) Movimentar os inimigos na direcção do jogador quando existir linha de visão; b) Atirar bolas mágicas para imobilizar temporariamente (5 segundos) os inimigos; c) Colocar as pepitas mágicas á razão de uma pepita por minuto e controlar o tempo (10 segundos) em que estas são visíveis. O trabalho deve ser entregue com um relatório impresso e encadernado, e um CD/DVD com a mesma estrutura de ficheiros que a indicada para a etapa 1.

    Factores de valorização:

  • 1. Optimização: vertex buffer objects;
  • 2. Optimização: utilizar um mecanismo que permita só enviar para a placa gráfica os blocos do labirínto, inimigos, e itens, que são realmente visiveis;
  • 3. Radar: sobrepor ao jogo uma vista de cima parcial do labirinto centrada no jogador, e com um determinado raio que indique a posição dos itens;
  • 4. Aspecto gráfico e jogabilidade.
  • Relatório:

    O relatório é um elemento de avaliação importante e portanto deve ser encarado com a mesma importância que um exame escrito. O relatório deve ter como o objectivo elaborar em detalhe as decisões tomadas no decurso da realização do trabalho, assim como explicar pormenorizadamente as técnicas/algoritmos implementados, justificando a sua utilização, e se conveniente apresentando comparações com alternativas. O relatório deve incluir ainda testes de desempenho que permitam concluir sobre a utilizadade do(s) mecanismos de optimização utilizados.

    Classificação:

  • Etapa 1 e 2 (0-10 valores)
  • Factores de Valorização (0-6 valores)
  • Relatório (0-4 valores)
  •