3D Video Games

Marco Tarini
Università degli Studi di Milano
2021/2022

Next Exam:
Thurday 16th Friday 17th June, 16:30
GAMMA Room.

Due to technical reasons, the exam of this Thurday Friday is postponed to 17:30 16:30, and will be held in Gamma Room (via celoria 18).

Time and place:
Monday 15:30..17:30 - Room 400 (Settore Didattico - via Celoria 20)
Thursday 16:30..18:30 - Room 202 (Settore Didattico - via Celoria 20)

Lecturer:
Marco Tarini (me!)

Language:
English

Modality:
Lectures are held in-person.
Classroom will be accessible only to students holding a Covid-19 certificate (green pass).
According to the regulations of the University, Students who are unable to attend due to (a) travel restriction (from abroad), (b) quarantine, or (c) health concerns can follow the lectures in live streaming. Follow the link below.
If possible, let the lecturer know in advance if you plan to follow a lecture in live-streaming.
Live-Streaming: Microsoft Teams meeting link.

Lectures & slides:
Slides will be available shortly after each lecture. They are intended only as a visual support for the presentation of the covered topics, and are not meant to be self-sufficient.
00 2022-02-28
(Monday)
15:30..17:30
Room 400
Course presentation & introduction Game of the Week:
EvoLand
by Shiro Games
01 2022-03-07
(Monday)
15:30..17:30
Room 400
Math for 3D Games: points, vectors, versors 1/2 MiniLab:
minilab00.zip
02 2022-03-10
(Thursday)
16:30..18:30
Room 202
Math for 3D Games: problem examples Games of the Week:
4D Toys (and Miegakure)
by Marc ten Bosch
03 2022-03-14
(Monday)
15:30..17:30
Room 400
Math for 3D Games: points, vectors, versors 2/2
Math for 3D Games: transforms 1/2
MiniLab:
minilab01.zip
04 2022-03-17
(Thursday)
16:30..18:30
Room 202
Math for 3D Games: transforms 2/2
Math for 3D Games: rotations 1/3
Game of the Week:
Baba is You
by Arvi Teikari
05 2022-03-21
(Monday)
15:30..17:30
Room 400
Math for 3D Games: rotations 2/3 MiniLab:
minilab02.zip
06 2022-03-28
(Monday)
15:30..17:30
Live streaming
Math for 3D Games: rotations - problem examples
Math for 3D Games: rotations 3/3
The scene graph 1/2
MiniLab:
minilab03.zip
07 2022-03-31
(Thursday)
16:30..18:30
Live streaming
The scene graph 2/2 Game of the Week:
BirdSong
by Daniel Linssen
08 2022-04-04
(Monday)
15:30..17:30
Live streaming
Physics for 3D Games: dynamics 1/3 MiniLab:
minilab04.zip
09 2022-04-07
(Thursday)
16:30..18:30
Room 202
Physics for 3D Games: dynamics 2/3 Game of the Week:
Braid
by Jonathan Blow
10 2022-04-11
(Monday)
15:30..17:30
Room 400
Physics for 3D Games: dynamics 3/3
Physics for 3D Games: sandbox Unity project
MiniLab:
minilab05.zip
11 2022-04-21
(Thursday)
16:30..18:30
Room 202
Physics for 3D Games: collisions 1/2
Physics for 3D Games: sandbox Unity project
Game of the Week:
BeamNG.drive
by Thomas Fischer
12 2022-04-28
(Thursday)
16:30..18:30
Room 202
Physics for 3D Games: collisions 2/2
13 2022-05-02
(Monday)
15:30..17:30
Room 400
Physics for 3D Games: Particle Systems
3D Models 1/2
MiniLab:
minilab06.zip
14 2022-05-05
(Thursday)
16:30..18:30
Room 202
3D Models 2/2 Games of the Week:
Townscaper
by Oskar Stålberg
Tandis
by Mahdi Bahrami
15 2022-05-09
(Monday)
15:30..17:30
Room 400
Textures 1/2 MiniLab:
minilab07.zip
16 2022-05-12
(Thursday)
16:30..18:30
Room 202
Textures 2/2 Game of the Week:
The Unfinished Swan
by Ian Dallas
[devlog]
17 2022-05-16
(Monday)
15:30..17:30
Room 400
3D animations: blend shapes MiniLab:
minilab08.zip
18 2022-05-19
(Thursday)
16:30..18:30
Room 202
3D animations: skeletal animations 1/2 Game of the Week:
Toribash
by Nabi Studios
19 2022-05-23
(Monday)
15:30..17:30
Room 400
3D animations: skeletal animations 2/2
Materials in Games 1/2
MiniLab:
minilab09.zip
20 2022-05-26
(Thursday)
16:30..18:30
Room 202
Materials in Games 2/2
Bridge 1: networking for 3D games
Game of the Week:
Switch and Shoot
by Matt Glanville
21 2022-05-30
(Monday)
15:30..17:30
Room 400
Bridge 2: audio in 3D games MiniLab:
minilab10.zip
22 2022-06-06
(Monday)
15:30..17:30
Room 400
Bridge 3: graphics in 3D games MiniLab:
minilab11.zip
23 2022-06-09
(Thursday)
16:30..18:30
Room 202
Bridge 4: AI in 3D games Games of the Week:
Return of the Obra Dinn
by Lukas Pope [devlog]
Quantum Pilot
by Quantum Productions

Suggested textbook:
(No textbook is required)
For the math part: Mathematics for 3D Game Programming and Computer Graphics
For a subset of the topics: Game Engine Architecture (esp. Part III)

Exam modality:
Written test (in the form of a quiz on a computer, duration 90 Min)
followed by an oral exam.

Links:
Course page on Ariel
Course abstract
Current rules for lectures at Unimi

C++ Minilab:

What it is not: The C++ MiniLab is not part of this course, and is not related to the exam.
It is not, by any means, mandatory.

What it is: The C++ MiniLab is an occasion given to the students to learn C++, by coding, as an example, the 3D math concepts that are used in the 3DVG course. The C++ language is not a subject of the 3DVG course, or of its exam, but it's one of the de-facto standard languages of VideoGames.

When: After every Monday lecture.

Where: In the same room as that lecture!

How long: Approx 1.5h per meeting.

How to partecipate: Just bring a (fully charged!) laptop, with some IDE installed (e.g. Visual Studio) and a C++ compliler. Make sure that you can already compile and exectue a "hello world" program. Live streaming will also be available for remote students.