Games and Simulation (2021/2022) - Departamento de Informática
Description

This course unit explores visualization, modelling and interaction techniques required in 3D game development and in the simulation of several phenomena, most of them physically based.

A core concept is light transport simulation required by photorealistic rendering. The knowledge of rendering techniques based on rasterization, yet capable of replacing more demanding global illumination algorithms in interactive applications, is also addressed. These techniques are the nuclear part of frameworks for 3D game development, commonly known as game engines.

Game development is nowadays an easier task due to the sophistication level achieved by 3D game engines that cover all the important aspects of a game: modelling, visualization and interaction, not to mention device isolation, portability, communication, audio, etc.Students are asked to design and develop an interactive 3D game using a game engine.

Game design is the act of deciding what a game should be. It is important to plan and conceptualize the idea, the narrative, the game mechanics, the level design, and the interface of the game.

Objectives

Knowledge

- What are the key concepts of game design
- What is involved in the process of game development
- What are the key techniques and algorithms inside a game engine
- Game engine architecture and development
- Illumination models and techniques (local and global)
- Physics based simulation
- Explore GPU capabilities to create advanced effects in real time
- Specific techniques for game development and simulation
- Computer animation techniques
- 3D audio

Application

- Program some of the presented techniques
- Program and use software components in the domain (game engines)
- Use game engines for game development
- Select and apply the appropriate solution to a given problem

Soft-Skills

- Ability to analyze current graphics hardware and current graphics systems
- Ability to analyze and program game engines
- Better understanding of related concepts such as photography, cinema and physics.

Syllabus
  1. 3D Graphics Hardware and the 3D Graphics pipeline
  2. Basic 3D Modeling and Geometry Representations
  3. Light-Object interaction. Illumination models (local and global) and shading
  4. Advanced rendering topics: texture mapping applications and shadow generation.
  5. Game engine arquitecture.
  6. Scene graph, data management and rendering optimizations for real time.
  7. Animation techniques: key frame, vertex morphing and articulated motion.
  8. Collision Detection and Response.
  9. Phyics for 3D Games and numerical methods.
  10. Physics of Sound propagation, sound localization and 3D sound synthesis.
  11. Game engine programming and game development.
Bibliography

Additional readings will be provided during classes and through the course website.

Prerequisites

- Programming experience (C, C#, C++ or Java)

- Basic Linear Algebra (vectors and matrices)

- Basic geometry notions

- Introductory course on Computer Graphics

Student work
  Hours per credit 28
  Hours per week Weeks Hours
Aulas práticas e laboratoriais   26.0
Aulas teóricas   26.0
Avaliação   4.0
Self study   18.0
Project   100.0
Total hours 174
ECTS 6.0