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.
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.
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.
- Programming experience (C, C#, C++ or Java)
- Basic Linear Algebra (vectors and matrices)
- Basic geometry notions
- Introductory course on Computer Graphics
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 |