CODICE 72317 ANNO ACCADEMICO 2023/2024 CFU 10 cfu anno 1 INGEGNERIA ELETTRONICA 8732 (LM-29) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01 LINGUA Italiano (Inglese a richiesta) SEDE GENOVA PERIODO Annuale MATERIALE DIDATTICO AULAWEB PRESENTAZIONE La modellizzazione e la simulazione sono strumenti fondamentali per la progettazione, l’addestramento e l’apprendimento in genere. I videogiochi sono un tipo particolare di simulazione, dove possono essere introdotte ulteriori regole e strategie per migliorare le prestazioni negli ambiti applicativi sopra citati. Inoltre, i videogiochi richiedono grandi capacita’ di calcolo, normalmente raggiunte attraverso l’utilizzo congiunto di architetture hardware/processori ottimizzati e strumenti di sviluppo software ad alto livello. L’insegnamento indirizza quindi lo sviluppo di simulazioni attraverso le piattaforme per giochi 2D e 3D allo stato dell'arte OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Il corso si prefigge l’obiettivo di fornire conoscenze e sviluppare competenze in relazione ai seguenti argomenti: computer grafica per serious games, mondi virtuali, simulazioni, edutainment. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Scopo dell'insegnamento è fornire le basi per la progettazione e lo sviluppo di simulazioni in grado di essere utilizzate come ambienti sperimentali. Lo studente viene introdotto a vari concetti di grafica computerizzata (rendering, collision detection, illumination models, ecc.) e di programmazione ad eventi (game loop, co-routines, ecc.) ed aiutato a comprenderli attraverso esercizi svolti al calcolatore durante le lezioni frontali. L'insegnamento si pone nella direzione di formare una figura professionale capace di progettare e realizzare complesse simulazioni software utilizzando tecnologie di videogioco. PREREQUISITI Lo studente deve possedere buone conoscenze di programmazione. MODALITA' DIDATTICHE L'insegnamento è costruito da una parte di lezione frontale e una parte di esercitazione. Durante la lezione frontale, il docente presenta gli argomenti fornendo sempre esempi di codice che vengono provati sui game engine e reali strumenti di simulazoine. Gli studenti possono utilizzare i propri calcolatori durante la lezione per mettere in pratica quanto proposto dal docente. Durante le esercitazioni, gli studenti devono affrontare al calcolatore problemi reali che possono essere risolti applicando le tecniche viste durante le lezioni frontali. PROGRAMMA/CONTENUTO L'insegnamento si divide in due parti: la prima tratta principalmente grafica 2D utilizzando motori grafici di ridotto carico computazionale (ad esempio utilizzabili anche su microcontrollori). La seconda parte del corso, affronta invece la progettazione di simulazioni e giochi 3D utilizzando principalmente la piattaforma Unity3D anche congiuntamente a dispositivi avanzati di I/O come Azure Kinect, Hololens 2, sensori e attuatori in generale I vari esempi sviluppati a lezione indirizzano tra le altre: Installazione e configurazione strumenti ed ambienti di sviluppo (visual studio, monogame e componenti) Classi, costruttori, inizializzazioni, update da eventi asincroni, array di elementi Liste di oggetti, sound effect, gestione collisioni, esempi Sprite, schermate grafiche Gestione livelli/switch case Logiche di gioco Gestione degli spostamenti e controlli Algoritmi di inseguimento La piattaforma Xamarin e Visual studio Gestione dei dati da sensori Ambiente Unity, principali funzioni, viste, package Creazione, utilizzo e rimozione oggetti Spawn manager Sound and effects Game play mechanics User interface Project optimization and improvement Export/import project Data persistence Visual scripting Visual scripting applications TESTI/BIBLIOGRAFIA Slide delle lezioni (scaricabili da AulaWeb) Per approfondire: B. Tristem, M. Geig. Unity Game Development in 24 Hours. Sams Teach Yourself J. Hocking. Unity in Action: Multiplatform Game Development in C# with Unity 5. Manning J. Gregory. Game Engine Architecture CRC Press, 3rd ed. DOCENTI E COMMISSIONI MARCO RAGGIO Ricevimento: su appuntamento, concordato via email o telefonico con il docente ALI DABBOUS LUCA LAZZARONI Commissione d'esame MARCO RAGGIO (Presidente) FRANCESCO BELLOTTI (Presidente Supplente) ALI DABBOUS (Presidente Supplente) LUCA LAZZARONI (Presidente Supplente) LEZIONI INIZIO LEZIONI https://corsi.unige.it/8732/p/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L’esame consiste nello sviluppo di in un progetto applicativo orientato alla simulazione interattiva, da concordare con il docente e una discussione orale. Nell’impegno richiesto per il progetto, sara’ tenuto conto di necessita’ specifiche degli studenti lavoratori. MODALITA' DI ACCERTAMENTO Durante la prova orale lo studente, sulla base del progetto sviluppato, dovrà mostrare la comprensione degli argomenti affrontati nel corso, discutere le scelte progettuali, con l’ausilio del computer analizzare i risultati ottenuti. Verrà valutata l'accuratezza e l'originalità della implementazione software insieme alla precisione della presentazione e l'applicazione delle tecniche presentate nel corso dell'insegnamento. Calendario appelli Data appello Orario Luogo Tipologia Note 20/12/2023 15:00 GENOVA Orale 03/01/2024 15:00 GENOVA Orale 14/02/2024 15:00 GENOVA Orale 03/06/2024 15:00 GENOVA Orale 20/06/2024 15:00 GENOVA Orale 03/07/2024 15:00 GENOVA Orale 22/07/2024 15:00 GENOVA Orale 05/08/2024 15:00 GENOVA Orale 30/08/2024 15:00 GENOVA Orale 12/09/2024 15:00 GENOVA Orale ALTRE INFORMAZIONI Gli studenti con disabilità o con DSA possono fare richiesta di misure compensative/dispensative per l'esame. Le modalità saranno definite caso per caso insieme al Referente per Ingegneria del Comitato di Ateneo per il supporto agli studenti disabili e con DSA. Gli studenti che volessero farne richiesta sono invitati a contattare il docente dell'insegnamento con congruo anticipo mettendo in copia il Referente per Ingegneria (https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.html), senza inviare documenti in merito alla propria disabilità Agenda 2030 Salute e benessere Energia pulita e accessibile Ridurre le disuguaglianze Città e comunità sostenibili Vita sott'acqua Pace, giustizia e istituzioni solide