Jogos e Simulação

Objetivos

  • Learn how to program video games
    • What are the key concepts of game design
    • What is involved in the process of game development
    • What are the key components of a game engine
    • How the game engine components work together
    • How to use game engines for game development
    • What are the key techniques and algorithms inside a game engine

 

Saber

  • Modelação Básica 3D e constituição de um “pipeline de visualização 3D”
  • Técnicas e modelos de iluminação, locais e globais
  • Arquitetura hardware dos GPUs modernos e modelo de programação recorrendo a shaders.
  • Exploração da arquitetura dos GPUs para a produção de efeitos especiais avançados em tempo real
  • Técnicas específicas para o desenvolvimento de jogos e simulação.
  • Técnicas de animação por computador.
  • Arquitetura de motores de jogos e sua programação.
  • Produção e reprodução de áudio 3D

Fazer

  • Programar grande parte das diversas técnicas lecionadas.
  • Construir aplicações gráficas 3D interativas.
  • Programar e utilizar componentes de software no domínio (game engines)
  • Escolher e aplicar a técnica mais adequada à resolução de um problema.

Soft-Skills

  • Capacidade de analisar hardware gráfico e  sistemas gráficos atuais
  • Capacidade de analisar e programar motores de jogos
  • Melhor compreensão de áreas relacionadas, como a fotografia, o cinema e a física.

Caracterização geral

Código

11557

Créditos

6.0

Professor responsável

Fernando Pedro Reino da Silva Birra, Nuno Manuel Robalo Correia

Horas

Semanais - 4

Totais - 52

Idioma de ensino

Português

Pré-requisitos

- Conhecimentos prévios de programação (C, C#, C++ ou Java)

- Conhecimentos básicos de Algebra Linear (vetores e matrizes)

- Noções básicas de geometria

- Curso Introdutório de Computação Gráfica

Bibliografia

  • The Art of Game Design, 

A Book of Lenses, 

Jesse Schell, 2008

  • Game Development Essentials, 

A Practical Approach to Real-Time Computer Graphics

, 3rd Edition, 2012, 
Jeannie Novak

  • Unity Game Development Cookbook, 

Essentials for Every Game, 

Paris Buttfield-Addison, Jon Manning, Tim Nugent, 2019



  • Game Engine Architecture

, 3rd Edition, 2018, 
Jason Gregory

  • Realtime Rendering

, 4th Edition, 2018, 
Tomas Akenine-Möller et al


Material adicional será disponibilizado durante as aulas e no website da UC.

Método de ensino

A disponibilizar brevemente

Método de avaliação

Componentes da Avaliação

A avaliação é constituída por duas componentes: a componente laboratorial e a componente teórico-prática.

Componente Laboratorial e Frequência

A componente laboratorial é composta por:

  • um projecto individual (PI)
  • um projecto de grupo (PG)

As entregas, classificadas no intervalo de 0 a 20 valores, serão discutidas individualmente. A nota de um aluno no trabalho de grupo depende do trabalho que entregou, do seu desempenho na discussão e do desempenho dos seus colegas de grupo na discussão, caso os desempenhos sejam significativamente desequilibrados.

A nota da componente laboratorial (CompL) é obtida por:

CompL = 0.2 * PI + 0.8 * PG.

Não há frequência nesta Unidade Curricular. As discussões dos trabalhos serão efetuadas no fim do semestre.

Componente Teórico-Prática

A componente teórico-prática é composta por dois testes (no período de aulas) ou por um exame (na Época de Recurso). As três provas são presenciais, individuais, escritas e com consulta duma folha manuscrita (frente e verso). Não são permitidos dispositivos eletrónicos (e.g. calculadoras, telemóveis, smartwatches e portáteis).

Há pré-inscrição nos testes.

A nota da componente teórico-prática (CompTP) é a média aritmética simples das notas dos testes (T1 e T2) ou a nota do exame (Ex):

CompTP = ( T1 + T2 ) / 2   ou   CompTP = Ex.

Para obter aprovação, é necessário que CompTP >= 8.0 .

Nota Final

A nota final (F) dos alunos com frequência é:

  • F = CompTP,   se CompTP < 8.0;
  • F = 0.6 CompL + 0.4 CompTP,   se CompTP >= 8.0 .

Todas as notas (PI, PG, T1, T2, Ex, CompL e CompTP) são arredondadas às décimas, exceto a nota final (F) que é arredondada às unidades.

Para os restantes anos lectivos, não estando a unidade curricular a funcionar com frequência nessa altura, todos os alunos que realizaram as práticas até 2019/2020, inclusive, não têm frequência, devendo assim inscrever-se num turno prático.

Conteúdo

  1. Hardware gráfico 3D e o pipeline gráfico 3D.
  2. Modelação 3D e representações de geometria.
  3. Interação da luz com os objetos, Modelos de iluminação e técnicas de seombreamento.
  4. Tópicos avançados de síntese de imagem: aplicações do uso de texturas e geração de sombras.
  5. Grafos de cena, gestão dos dados e otimizações para tempo real.
  6. Arquitetura de motores de jogos.
  7. Técnicas de animação: interpolação de quadros, morphing e modelos articulados.
  8. Deteção e resposta a colisões.
  9. Princípios físicos dos jogos 3D e métodos numéricos.
  10. Física da propagação do som, localização do som e síntese de som 3D.
  11. Programação de um motor de jogos e desenvolvimento de jogos.

Cursos

Cursos onde a unidade curricular é leccionada: