COS600 (Jogos)
Disciplina COS600 - Animação e Jogos - Engenharia de Computação e Informação - UFRJ
professor
Ricardo Marroquim
email : marroquim at cos.ufrj.br
aulas
quartas e sextas 15h - 17h na sala H304B
onde me encontrar
Laboratório de Computação Gráfica (LCG) ou Sala H-307
lista de email
para os alunos do curso: mandar um email para jogos@lcg.ufrj.br com o subject "subscribe" e seguir as instruções ...
Objetivos
Esta disciplina visa o ensino da arte de programar jogos de computador, focando principalmente nos aspectos de implementação dos gráficos, animações e interação com usuário (jogabilidade). Esta disciplina possui uma carga prática grande: os alunos são divididos em grupos onde cada grupo inicialmente apresentará um projeto de um jogo a ser desenvolvido durante o semestre. Cada grupo, salve exceções justificadas, deve conter 3 membros.
O desenvolvimento de cada protótipo passa por várias etapas, desde da concepção (design) do projeto, a criação dos modelos, a implementação usando uma Game Engine, até finalmente a implementação de alguns efeitos especiais gráficos avançados (e.x. shaders em GPU).
As aulas expositivas abordarão temas de computação gráfica avançada entre outros, como detecção de colisão, simulação física, e programação em shaders.
Avaliação
O projeto do jogo será avaliado regularmente através de apresentações orais curtas (~10min), onde cada grupo deve expor o andamento de seus trabalhos apontando metas alcançadas, desafios superados, e objetivos futuros. Cada grupo deve também manter um registro de suas atividades, podendo ser criada uma página, blog ou outro meio de divulgação.
Os grupos também apresentarão individualmente o projeto ao professor em mais detalhes, onde o protótipo e qualidade do código serão avaliados.
Apesar dos projetos serem em grupos as notas são atribuídas individualmente, contando critérios como participação e empenho no trabalho em equipe, além de demonstração do conhecimento do projeto e seus detalhes nas apresentações individuais.
A avaliação final dos projetos considera a complexidade técnica do projeto além da funcionalidade do jogo final.
Aulas (pdf)
Projeto Exemplo - Heads Up!
código (em desenvolvimento):
git clone git://git.lcg.ufrj.br/marroquim/heads_up.git
Trabalhos anos anteriores
Game Engine
Neste curso será utilizado a game engine gratuita e OpenSource Panda3D:
Os trabalhos podem ser implementados em Python ou C++ (ou ambos).
Enquanto que a plataforma de desenvolvimento fica a critério de cada grupo, os trabalhos devem obrigatoriamente compilar e rodar em Linux.

