Games and Simulation



- 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


- 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 


- 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.

General characterization





Responsible teacher

Fernando Pedro Reino da Silva Birra, Nuno Manuel Robalo Correia


Weekly - 4

Total - 52

Teaching language



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

- Basic Linear Algebra (vectors and matrices)

- Basic geometry notions

- Introductory course on Computer Graphics


  •  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

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

Teaching method

Available soon

Evaluation method

Available soon

Subject matter

  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.


Programs where the course is taught: