Anno accademico 2022-2023

VIDEO GAME PROGRAMMING

Docenti

Fabio Buttussi
Totale crediti
6
Periodo didattico
Primo Periodo
Tipologia
Caratterizzante
Prerequisiti. Gli studenti devono conoscere le basi della programmazione e dell’interazione uomo-macchina.
Metodi didattici. Il corso comprende lezioni sui concetti e le teorie, discussione di casi di studio e attività pratiche. Più precisamente, i concetti e le teorie verranno applicati su esempi pratici, utilizzando uno dei motori di gioco più diffusi. I casi di studio saranno incentrati sull’analisi, progettazione e/o implementazione di video giochi per l’intrattenimento e serious game.
Modalità di verifica. 1) Progettazione e sviluppo di un minigioco o di alcuni livelli di gioco applicando i concetti e le teorie esaminati nel corso.

2) Esame orale con la presentazione del progetto e domande sugli aspetti teorici del corso.

Obiettivi formativi
L’obiettivo del corso è introdurre i principi, le metodologie e gli strumenti applicativi per lo sviluppo di video game, inclusi i serious game, i video game per i dispositivi mobili e quelli per la realtà virtuale e aumentata. Il corso introduce i concetti teorici e le metodologie utilizzabili per programmare i diversi aspetti di un video game (ad esempio, l’interfaccia utente e l’intelligenza artificiale dei personaggi non giocanti) e mostra l’applicazione pratica dei concetti e delle metodologie mediante l’utilizzo di uno dei game engine più diffusi. Il corso introduce anche alcuni concetti base sulla ottimizzazione e la valutazione dei video game (ad esempio, la game analytics), utili per migliorare la programmazione.

Conoscenza e capacità di comprensione: gli studenti acquisiscono conoscenze specifiche sui diversi aspetti relativi alla programmazione di video game. Inoltre, imparano a scegliere tra le diverse metodologie proposte per ciascuno degli aspetti considerati, a seconda della piattaforma e degli utenti target del video game da programmare.

Conoscenza e capacità di comprensione applicate: gli studenti acquisiscono competenze specifiche per applicare le conoscenze alla programmazione pratica di un video game, utilizzando uno dei game engine più diffusi.

Autonomia di giudizio: gli studenti acquisiscono la capacità di valutare, sulla base di dati oggettivi, le prestazioni di un video game e di capire come le scelte di sviluppo possano influire sull’esperienza di gioco.

Abilità comunicative: gli studenti imparano la terminologia appropriata per descrivere i vari aspetti della programmazione di un video game. Inoltre, apprendono come comunicare contenuti importanti, come informazioni relative alla salute e alla sicurezza delle persone, attraverso un video game.

Capacità di apprendere: il corso fornisce le conoscenze e gli strumenti applicativi di base che consentono allo studente di approfondire e affrontare autonomamente questioni più complesse relative alla programmazione di video game.

Vedasi anche https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/LM-informatica/all-B2 o https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/lm-artificial-intelligence-cybersecurity/all-B2.

Contenuti
Il corso è organizzato in una serie di lezioni che introducono i concetti e le teorie rilevanti per la programmazione di video giochi:

– fondamenti di game design per guidare la programmazione,

– fondamenti di scripting in un motore di gioco,

– controllo delle telecamere, luci e audio,

– gestione degli asset,

– progettazione e implementazione dell’interfaccia grafica,

– logica di gioco e intelligenza artificiale,

– principi di fisica e animazione,

– gestione del processo di build e deployment,

– programmazione e ottimizzazione per dispositivi mobili, web e realtà estesa (virtuale e aumentata),

– valutazione e analisi del gioco,

– formazione e veicolazione di messaggi importanti utilizzando video game.

I concetti e le teorie saranno integrati da numerosi esempi pratici, utilizzando uno dei game engine più diffusi, e diversi casi di studio, che includeranno sia videogiochi per l’intrattenimento che serious game.

Testi di riferimento
1) Materiali forniti sul sito e-learning e nel team del corso.

2) Materiale disponibile sul sito web del motore di gioco che verrà utilizzato per le attività pratiche.

3) Libri di testo:

Egenfeldt-Nielsen Simon, Smith Jonas Heide, Pajares Tosca Susana. Understanding Video Games, 4th edition, Routledge, 2020

Millington Ian, AI for Games, 3rd edition, CRC Press, 2019

Borromeo Nicolas Alejandro, Hands-On Unity 2021 Game Development, 2nd edition, Packt Publishing, 2021

Ulteriori libri di testo su specifici argomenti verranno suggeriti a lezione.