Descrição

Essa disciplina é uma introdução às técnicas fundamentais para a programação de jogos 2D e 3D. Os alunos são apresentados a conceitos de projeto de software, física, gráficos, inteligência artificial e áudio aplicados para o desenvolvimento de jogos. Espera-se que os alunos produzam um protótipo funcional em C++ para cada tópico abordado em aula, além de um projeto final. Os alunos utilizam ferramentas profissionais de desenvolvimento para simular um ambiente de trabalho real (como um estúdio de jogos), tendo a oportunidade de publicar um portfólio pessoal com os trabalhos desenvolvidos ao longo do curso.

Pré-requisitos

Essa disciplina não tem nenhum pré-requisito formal, mas é esperado que os alunos tenham conhecimento básico em:

  • Programação Orientada à Objetos em C++ (classes, objetos, herança, polimorfismo, etc)
  • Algoritmos e Estruturas de Dados (listas, pilhas, árvores, grafos, etc)
  • Álgebra Linear Básica (operações com vetores e matrizes)

Conteúdo Programático

  1. Introdução

    Visão geral do desenvolvimento de jogos; história, mercado e tecnologias; o laço principal do jogo; eventos de entrada; modelagem de objetos de jogo.

  2. Matemática

    Operações básicas de vetores e matrizes; sistemas de coordenadas; transformações geométricas; quarternions.

  3. ⁠Física

    Mecânica linear para movimentação de objetos rígidos; geometrias de colisão; detecção de colisão; estruturas de dados para otimização de simulações físicas.

  4. Gráficos 2D

    Pipeline gráfico; modelos 3D; câmeras; iluminação e sombreamento; visibilidade.

  5. Gráficos 3D

    Sprites; spritesheets; animações 2D; câmeras 2D; tilemaps; camadas.

  6. ⁠Inteligência Articifial

    Máquina de estados finitos; Árvores de Comportamento; comportamentos de navegação; planejamento de caminhos (pathfinding).

  7. Áudio

    Processamento digital de áudio; sintetizadores; efeitos e mixagem; áudio 3D; áudio adaptativo; middlewares de aúdio.

  8. Interface com o Usuário

    Sistemas de menus; janelas de diálogo; heads-up display.

Políticas

Atrasos

  • Trabalhos Práticos e Projeto Final:
    • 15% de penalização para cada dia de atraso
    • Você tem direito a no máximo de 2 dias de atraso por entrega