- Foundations of Game Design
- Summary
Course Syllabus
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
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:
-
Progetto Implementazione (max 3 persone) di un piccolo progetto legato ai videogame. Il progetto valuta la capacità dello studente di analizzare ed applicare argomenti e problematiche legate allo sviluppo e progettazione di videogame. Il tema 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:
-
Project Implementation (max. 3 persons) of a small project related to video games. The project assesses the student's ability to analyse and apply topics and issues related to the development and design of video games. The topic of the 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