- Foundations of Game Design
- Introduzione
Syllabus del corso
Obiettivi
L’obiettivo dell’insegnamento è fornire gli strumenti base concettuali e metodologici necessari per la progettazione e lo sviluppo di videogame. L’insegnamento illustra le varie fasi che portano alla realizzazione di un videogame. Questo processo richiede conoscenze di programmazione, matematica, interazione uomo-macchina, teoria della comunicazione, grafica e intelligenza artificiale, che devono essere opportunamente declinate nell’ambito dei videogame.
Contenuti sintetici
Partendo dal concetto di Game Engine, l’insegnamento introduce gli elementi necessari per comprendere le fasi di progettazione e sviluppo di videogame. Verranno prima introdotte le basi di rappresentazione dell’informazione 3D necessari per comprendere le fasi di modellazione e rendering. Poi verranno descritte le componenti principali di un Game Engine e il loro ruolo. In particolare verranno illustrati i componenti dedicati al rendering della grafica 2D e 3D, alla gestione delle animazioni e interazioni con gli elementi di gioco come le collisioni e all’audio. Verranno inoltre descritti gli utilizzi dell’intelligenza artificiale e dello sviluppo di interfacce specifiche al contesto di un videogame. L’insegnamento prevede dei seminari per conoscere la realtà complessa dell’industria del gaming.
Programma esteso
- Introduzione: cosa è un videogame, cosa è un game engine
- Introduzione ai dati 2D e 3D
- Matematica 3D per i videogame
- Fondamenti di ingegneria software per videogame
- Componenti di un game engine
- Pipeline di rendering
- Asset, animazioni, collisioni
- Intelligenza artificiale per videogame
- Human-computer interface
- Fondamenti di gameplay
- Game industry
Prerequisiti
Conoscenze di base di progettazione software, programmazione, computer grafica, intelligenza artificiale.
Modalità didattica
Lezioni frontali che introducono i concetti teorici ed esercitazioni/laboratori che mostrano degli esempi di applicazione di tali concetti. Possibili seminari di approfondimento con esperti del settore.
L'insegnamento è strutturato nel seguente modo:
32 ore di lezioni frontali in modalità erogativa ed interattiva in presenza
24 ore di laboratorio in modalità erogativa ed interattiva in presenza
Materiale didattico
I principali libri suggeriti che aiutano ad approfondire gli argomenti delle lezioni/esercitazioni sono:
* Jason Gregory, Game Engine Architecture, A K Peters/CRC Press; 3° edizione
* Ian Millington, AI for Games, CRC Press; 3° edizione
* Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Cengage Learning, Inc
Periodo di erogazione dell'insegnamento
II° Anno, II° Semestre
Modalità di verifica del profitto e valutazione
L’esame è svolto in forma di progetto+orale e si compone di due parti:
-
Una parte a scelta selezionata dallo studente (una delle opzioni A, B, e C riportate in seguito, elencate in valore crescente rispetto al possibile peso sulla valutazione finale).
Le opzioni valutano la capacità dello studente di analizzare ed applicare argomenti e problematiche legate allo sviluppo e progettazione di videogame. Le opzioni sono:
A) Seminario (individuale) di approfondimento sui temi affrontati a lezione (teoria + esercizi).
B) Seminario (individuale) su argomenti non visti a lezione: articoli scientifici, technical report, ecc.. legati al mondo dei videogame.
C) Implementazione (in gruppo max 3 persone) di un piccolo progetto.
il tema del seminario o del progetto deve essere concordato preventivamente con i docenti.
- Orale con domande libere sul contenuto del corso o sugli esercizi lasciati a lezione al fine di valutare il voto finale dell’esame.
Orario di ricevimento
Su appuntamento
Sustainable Development Goals
Aims
The objective of the teaching is to provide the basic conceptual and methodological tools necessary for video game design and development. The teaching illustrates the various stages leading to the creation of a video game whose design requires knowledge of programming, mathematics, human-computer interaction, communication theory, graphics, and artificial intelligence, which must be appropriately declined in the context of video games.
Contents
Starting with the concept of Game Engine, the teaching introduces the elements needed to understand the design and development stages of video games. The basics of 3D information representation necessary to understand the modeling and rendering stages will first be introduced. Then the main components of a Game Engine and their role will be described. In particular, components dedicated to rendering 2D and 3D graphics, handling animations and interactions with game elements such as collisions, and audio will be explained. The uses of artificial intelligence, interface development specific to the context of a video game will also be described. Teaching will include seminars to learn about the complex reality of the gaming industry.
Detailed program
- Introduction: what is a video game, what is a game engine
- Introduction to 2D and 3D data
- 3D mathematics for video games
- Fundamentals of video game software engineering
- Components of a game engine
- Rendering pipelines
- Assets, animations, collisions
- Artificial intelligence for video games
- Human-computer interface
- Fundamentals of gameplay
- Game industry
Prerequisites
Basic knowledge of software design, programming, computer graphics, artificial intelligence.
Teaching form
Lectures introducing theoretical concepts and exercises/workshops showing examples of the application of these concepts. Possible in-depth seminars with experts in the field.
Textbook and teaching resource
The main suggested books that help deepen the topics of the lectures/exercises are:
* Jason Gregory, Game Engine Architecture, A K Peters/CRC Press; 3° edizione
* Ian Millington, AI for Games, CRC Press; 3° edizione
* Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Cengage Learning, Inc
Semester
II° Year, II° Semester
Assessment method
The exam is given in project+oral form and consists of two parts:
-
One part selected by the student (one of options A, B, and C below, listed in increasing value with respect to possible weight on the final assessment).
The options assess the student's ability to analyze and apply topics and issues related to video game development and design. The options are:
A) Seminar (individual) on topics covered in class (theory + exercises).
B) Seminar (individual) on topics not seen in class: scientific articles, technical reports, etc.. related to the world of video games.
C) Implementation (in groups max 3 people) of a small project.
The topic of the seminar or project must be agreed in advance with the lecturers.
- Oral with free questions on the course content or exercises left in class in order to assess the final exam grade.
Office hours
On appointment