INF Fundamentos de Computação Gráfica /1

Documentos relacionados
Manual do Granatier. Mathias Kraus Tradução: Marcus Gama Tradução: André Marcelo Alvarenga

SCC0504 Programação Orientada a Objetos Prof. Luiz Eduardo Virgilio da Silva / Estevam Arantes (Monitor) Projeto

TÉCNICAS DE PROGRAMAÇÃO II TRABALHO 2

LISTA DE ATIVIDADES Semestre Letivo 2018/1

LISTA DE ATIVIDADES Semestre Letivo 2018/1

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo

IPRJ TÓPICOS ESPECIAIS EM LINGUAGENS DE PROGRAMAÇÃO TRABALHO 3 UNITY 3D

Trabalho Computacional Jogo da Forca

USANDO MODELLUS. Aula 1

Apresentação da Disciplina

MAC 115 Introdução à Ciência da Computação ROTHELO

SCC0504 Programação Orientada a Objetos Projeto

1, caso haja uma mina na posição (i, j),

Primeiro Projeto de PG: Lista de Temas Selecionados

6 Aplicações Detalhes da Implementação

Parte 1 Cena Simples Interativa com Câmara Fixa

Manual de utilização

MAC425: EP2 Data de entrega: 4 de dezembro de 2006

WikED! Na última década, um grande número de sistemas colaborativos apareceram

Manual do Granatier. Mathias Kraus Tradução: José Pires

ENSINO MÉDIO INTEGRADO INFORMÁTICA LINGUAGEM DE PROGRAMAÇÃO Trabalho Semestral

Primeira Prova 25 de abril de DURAÇÃO DA PROVA: 90m

Portais Renderizáveis em 3D

Material criado e organizado por: Suéllen Rodolfo Martinelli. Disponibilizado em:

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão /11/2013

Universidade Federal do ABC BCM Processamento da Informação Prática Projeto Campo Minado Primeiro Quadrimestre de 2018

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA

INF 1620 Estruturas de Dados Semestre Segundo Trabalho: Jogo de Caça-Palavras

Sumário. Introdução Câmera sintética Window-to-Viewport Exercício. 29-May-13 Leandro Tonietto!2

SSC Linguagem de Programação e Aplicações

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas

MAC110 Introdução à Computação EP no. 3 Prof. Dr. Paulo Miranda Instituto de Matemática e Estatística (IME) Universidade de São Paulo (USP)

Comparação entre as bibliotecas gráficas. OpenGL e Direct3D. Aluno:Alexandre Otto Strube Orientador: Paulo César Rodacki Gomes

Segunda Parte do Trabalho Prático (Parte II) Valor: 70%

DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS

RV PlanoVision Viewer

ESPECIFICAÇÃO DE SOFTWARE

Trabalho 1 ALGORITMOS E ESTRUTURAS DE DADOS I (SCC-202)

Trabalho de Programação 2 Processador CESAR. 1. Descrição Geral. 2. Especificação do Trabalho

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

Blender 3D jogos e animações interativas Allan Brito

Editor de painéis de lajes

Inteligência Artificial Projecto 2

Trabalho n.º 1: FEUP Manic Miner - DJCO

Introdução à Engenharia ENG1000

TRABALHO PRÁTICO Nro. 01

MODELAGEM E IMPLEMENTAÇÃO DE JOGOS APLICADOS A APRENDIZAGEM DE MÁQUINA 1

Programação em Scratch

Ciência da Computação (CC) Orientações para as Atividades Práticas Supervisionadas 2º e 3º semestres de 2018

Roteiro da oficina. 1. Abrir o Scratch Offline Clicar no ícone Scratch 2 na sua área de trabalho. 2. Mudar o idioma para Português.

Disciplina: Computação Gráfica Prof. Dr. Paulo R. G. Luzzardi. Universidade Católica de Pelotas Centro Politécnico Ciência da Computação

Segundo Trabalho Prático Turma A

PASSO 1: Dispare um foguete na direção do mouse

Apresentação da Disciplina

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Computação Gráfica e Áreas Correlatas

PROGRAMACAO E INTEGRACAO DE JOGOS I

Trabalho de Programação 2 Processador CESAR

Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 3.0

Crie seu próprio mundo

Simulação de Dispositivos Dinamicos para Jogos

Figura 1: Jogo em acontecimento Servidor (Versão 1.0)

Objetivos. do Exame. Certified Expert Gameplay Programmer. Especialista Certificado Unity Programador de Jogabilidade

Programação em Scratch

Apresentação da Disciplina

Primeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados

Sistema de Medição de Distância

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão

Campeonato de Gamão. 1. Regras. 2. Servidor

Relatório do Trabalho Final INF01009 Computação Gráfica UFRGS. Ewerton Felipe Miglioranza

XNA. Introdução ao XNA

Guerra dos Clones. Introdução. Scratch. Neste projeto você aprenderá a criar um jogo no qual você terá que salvar a Terra de monstros espaciais.

Trabalho GA - Editor de Cenário Isométrico

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica

PCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA

Terceiro Trabalho Prático. Este trabalho tem como objetivo ordenar um arquivo de dados e implementar as operações cosequenciais de merging e matching.

Manual do KBreakout. Fela Winkelmolen Stephanie Whiting Tradução: Luiz Fernando Ranghetti Tradução: André Marcelo Alvarenga

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Sumário. Sumário Objetivos Estudo de caso Cursos à distância SKA

Estudo Dirigido - Desvendando a Geometria Analítica: Distância entre dois pontos

Prof. Rafael Araújo. O Word 2007 apresenta uma série de alterações em sua estrutura gráfica, alterações estas que visam facilitar sua utilização.

HANDS-ON PROGRAMAÇÃO DE JOGOS PARA CRIANÇAS

INF1403 Percurso Cognitivo (Cognitive Walkthrough)

Programação Gráfica Parte 3 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano

Biblioteca de auxílio ao uso de elementos gráficos

Programação Procedimental

Desenvolvimento de Jogos 3D com o Blender

Sistemas Operacionais. Processos e Threads

AutoCAIXA. Software para projeto de reservatórios em concreto armado. Tipo de reservatório:

Configurações. Alterar o papel de parede

Sistema Giratório de Transporte de Peças

Lançamento Oblí quo - RA

Universidade Metodista de Piracicaba. Trabalho de Inteligência Artificial LABIRINTO

Portal Educacional Professor On line

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

Projeto de Introdução à Arquitetura de Computadores. Corridas de Bicicleta 2013 / 2014 LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES

Arquitetura de Computadores

Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli. Disponibilizado em:

Transcrição:

INF01047 - Fundamentos de Computação Gráfica - 2013/1 Especificação do Trabalho Final Professores: João Comba (comba@inf.ufrgs.br) e Marcelo Walter (marcelo.walter@inf.ufrgs.br) Objetivo Consolidar o conhecimento sobre a representação de objetos 2D e 3D e sua visualização através do desenvolvimento de uma aplicação prática. Exercitar conceitos básicos de Computação Gráfica, como visualização em ambientes 3D, interação, detecção de colisão e utilização de texturas. Especificação Descrição do Jogo O trabalho consiste em desenvolver um jogo no estilo clássico Bomberman. O jogador é carregado em um mapa em forma de grid retangular. Cada célula do grid deve ser preenchida com diferentes tipos de blocos, alguns são destrutíveis, outros não. O jogador pode soltar bombas pressionando uma tecla e após alguns segundos a bomba deverá explodir em um raio de destruição vertical e horizontal (em forma de cruz), que poderá matar inimigos, destruir blocos que são destrutíveis, ou matar o próprio jogador. Exemplo de jogo: http://www.youtube.com/watch?v=5xe0apnz39q O jogo termina quando o jogador derrota todos os inimigos ou quando o jogador morre numa das situações: derrotado por um inimigo (quando há uma colisão com o jogador) ou morto por sua própria bomba. Requisitos Gerais A implementação do jogo deverá atender os seguintes requisitos gerais: Jogador: O jogador deve ser controlado pelo teclado, de acordo com as teclas abaixo: Seta para cima: andar para frente; Seta para baixo: andar para trás;

Seta para esquerda: gira o jogador no sentido anti- horário; Seta para direita: gira o jogador no sentido horário; Barra de espaço: solta bombas; Tecla V: Alterna entre os diferentes tipos de câmera. O jogador inicialmente pode soltar apenas 1 bomba ao mesmo tempo. O jogador morre quando: Bomba: Um inimigo tocar no jogador; O fogo da sua própria bomba tocar nele. A bomba do jogador deve ser alocada na célula à frente do jogador, caso o bloco esteja livre; A bomba deve explodir transcorridos 3 segundos após ser colocada, ou caso o fogo de outra bomba a atinja; O número de células que a cruz de destruição alcança inicialmente é de 2 na horizontal e na vertical. Itens: Há 3 tipos de itens que podem existir no cenário; Número de bombas: este item incrementa em 1 o número de bombas que o jogador pode soltar simultaneamente. Tamanho do fogo: este item incrementa em 1 o alcance do fogo da bomba na vertical e horizontal. Velocidade do Jogador: este item aumenta a velocidade do jogador. Devem ser alocados aleatoriamente 4 itens de cada tipo no cenário dentro de alguns dos blocos destrutivos; quando o jogador destruir um bloco que contenha o item, este poderá ser pego pelo jogador. Inimigos: Deverão ser alocados no cenário 4 inimigos, estes devem ter uma IA simples que se comporte da seguinte forma: Caso o inimigo esteja a 4 células de distância do jogador, o inimigo deve se movimentar em direção ao jogador. Caso contrário, o inimigo deve ficar andando aleatoriamente pelo mapa. Quando o fogo de uma bomba tocar no inimigo ele morre. Cenário: O cenário do jogo deve ser um grid fechado em formato retangular com tamanho mínimo de 15x15. Este grid deverá ser carregado de um arquivo bitmap com as mesmas dimensões.

Cada posição desse grid pode ser ocupado por diferentes tipos de objetos, que são: O Personagem principal; Inimigo; Parede destrutível; Parede indestrutível; Item; Bomba; Vazio; O número e a alocação dos blocos destrutíveis e indestrutíveis devem ser especificados manualmente, editando diretamente o bitmap do cenário. Jogabilidade: Deve ser implementado 2 tipos diferentes de câmera: o Em primeira pessoa. o Em terceira pessoa fixada atrás do jogador, que está sempre olhando para o mesmo, com inclinação de 45 graus. Deve ser implementado um método de colisão dos personagens com os objetos do cenário e também com o fogo da bomba. Deve ser implementado um mini- mapa mostrando uma vista de cima do cenário com a posição dos objetos. Requisitos Técnicos O jogo deve ser desenvolvido preferencialmente em C/C++ e OpenGL ou DirectX, usando Windows ou Linux. Os objetos utilizados no jogo podem ser modelados à mão ou lidos de um arquivo gerado por algum software de modelagem tridimensional. Além disso, devem ser utilizadas técnicas simples de iluminação e textura para os modelos. Desafios Extras Implementar um algoritmo sofisticado de IA para movimentação dos inimigos; Modo para 2 jogadores cooperativo; Modo para 2 jogadores competitivo; Novos tipos de itens (modificadores): o Arremessar bomba: este item permite ao jogador arremessar uma bomba que esteja no chão para 4 células à frente, ou até o próximo bloco livre. Caso a bomba saída dos limites do cenário ela desaparece; o Chutar bomba: este item permite ao jogador chutar a bomba para frente, ela continua deslizando até colidir em um objeto no cenário permanecendo na posição anterior a colisão;

o Bomba relógio: este item permite ao jogador explodir a bomba quando desejar pressionando a tecla espaço novamente; Implementar um cronômetro que mostre o tempo restante para o final da partida, incorporando o tempo como condição de derrota; Implementar diferentes câmeras. Essas câmeras devem ser alternadas ao pressionar a tecla V; Efeitos de partículas para explosão da bomba; Incluir efeitos sonoros. Avaliação O trabalho deve ser desenvolvido em duplas ou individualmente. Você deverá utilizar no máximo 30% de código pronto para este trabalho (por exemplo, leitor de arquivos obj). Qualquer utilização de código além desse limite será considerada plágio e o trabalho correspondente receberá zero de nota. Os responsáveis pelo trabalho também terão que montar uma página web que deverá estar pronta no dia da apresentação final do trabalho. Nesta página deverá constar um relatório simples sobre o desenvolvimento do trabalho, os fontes e executáveis para download, no mínimo 3 imagens do jogo funcionando e um manual de utilização do jogo (comandos disponíveis). Esta página web é considerada parte integrante do trabalho. Todo o material do jogo (relatório, fontes e executável) deverá ser zipado num arquivo e feito upload no moodle no dia da entrega final). Os alunos deverão apresentar o trabalho final em laboratório no dia 10 de julho (a ser confirmado!). No dia 19 de junho, teremos uma aula para apresentaçãoo voluntária do andamento do trabalho e dúvidas pelos alunos. Sugere- se que nessa data os alunos já tenham desenvolvido o seguinte: Criação da viewport principal e vista aérea. Modelagem/carregamento da cena. Aplicação de textura e iluminação da cena. Para a apresentação final serão ainda observados os seguintes pontos: Lógica do jogo (condições de término, etc.). Aspectos interativos (controle do jogador, bombas, inimigos, etc). Detecção de colisão dos personagens entre si e com os objetos e limites do mundo. Jogabilidade (tem que ser em tempo- real). Pontos extras serão atribuídos a quem desenvolver soluções para os desafios propostos e valerão 10% da nota. Somente recebe nota máxima quem implementar no mínimo 2 itens de desafios propostos. Outros desafios poderão ser considerados, a sugestão dos alunos e avaliação pelo professor.

Proposta de Jogo Diferente Os alunos que assim o desejarem poderão definir seu próprio trabalho final. Para tanto enviar ao professor responsável, até o dia 3 de junho, uma mensagem contendo o seguinte: Título do trabalho. Aluno(s) responsável(is), no máximo 2 alunos. Breve descrição do trabalho, incluindo os conceitos de computação gráfica que você pretende incluir no trabalho. Lembre-se que para o trabalho ser válido para a disciplina ele deve incluir os diversos conceitos que serão abordados no trabalho final definido pelos professores. No mínimo seu trabalho deverá prever: carregamento de objetos complexos; interação com o usuário; iluminação; texturas; movimentos de câmera; e detecção de colisão.