Games and Simulation

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.

General characterization

Code

11557

Credits

6.0

Responsible teacher

Nuno Manuel Robalo Correia, Rui Pedro da Silva Nóbrega

Hours

Weekly - 4

Total - 52

Teaching language

Português

Prerequisites

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

- Basic Linear Algebra (vectors and matrices)

- Basic geometry notions

- Introductory course on Computer Graphics

Bibliography

  •  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

Lectures will be supported by slides, as well as other supporting material such as demos, and will have a more expository character, although students will be encouraged to participate actively, being asked to critically opine on the methodologies and techniques presented for the development of games.

Practical classes aim at acquiring skills in the use of game engines, with students being challenged to develop 2 projects. The first, smaller, aims to put students on an equal footing and consists of developing a simpler game, individually. The second project, carried out in a group, allows each student to explore the areas of game development that most interest him, by allowing and encouraging the division of tasks.

Evaluation method

.

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

Programs where the course is taught: