CODICE 72317 ANNO ACCADEMICO 2019/2020 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 rappresentano uno degli strumenti più potenti per la progettazione e la simulazione. I videogiochi sono una trasposizione della simulazione, dove invece che simulare elementi reali si simulano realtà immaginarie con regole immaginarie. Il corso presenta il tema della realizzazione di simulazioni utilizzando strumenti di sviluppo allo stato dell'arte per giochi 2D e 3D 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 del corso è fornire le basi per la progettazione e lo sviluppo di simulazioni in grado di essere utilizzate come ambienti sperimentali. Lo studente viene introdotto a diversi concetti di grafica computerizzata (rendering, collision detection, illumination models, ecc.), e di programmazione ad eventi (game loop, co-routines, ecc.) e 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 conoscenze avanzate di programmazione. MODALITA' DIDATTICHE Il corso è 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 Il corso si divide in due parti: la prima tratta della grafica 2D utilizzando un semplice motore grafico open source. I motore si presta anche per applicazioni su microcontrollori. La seconda parte del corso, affronta invece la progettazione di simulazioni e giochi 3D utilizzando la piattaforma Unity3D, il seguente elenco riporta i contenuti affrontati a lezione, per ogni contenuto un link porta alle note di ogni lezione: Lecture 01 - Unity Concepts, GUI and Models [LINK] Lecture 02 - Terrain and Environment [LINK] Lecture 03 - Lights and Cameras [LINK] Lecture 04 - First complete game (Amazing Racer) [LINK] Lecture 05 - Scripting [LINK] Lecture 06 - Second complete game (Chaos Ball) [LINK] Lecture 07 - Character Controller [LINK] Lecture 08 - 2D Games and UI [LINK] Lecture 09 - Third Game (Captain Blaster) [LINK] Lecture 10 - Animations [LINK] Lecture 11 - Fourth complete game (The Runner) [LINK] Lecture 12 - Mobile and Deploy [LINK] TESTI/BIBLIOGRAFIA Slide delle lezioni (scaricabili da AulaWeb) Per approfondire (solo per chi è interessato) 01 - B. Tristem, M. Geig. Unity Game Development in 24 Hours. Sams Teach Yourself 02 - J. Hocking. Unity in Action: Multiplatform Game Development in C# with Unity 5. Manning DOCENTI E COMMISSIONI ALESSANDRO DE GLORIA Ricevimento: Il ricevimento studenti avviene nei giorni e nelle ore stabilite di volta in volta con gli studenti via mail. RICCARDO BERTA Ricevimento: Il docente riceve su appuntamento, per prendere appuntamento è possibile scrivere a riccardo.berta@unige.it Commissione d'esame RICCARDO BERTA (Presidente) ALESSANDRO DE GLORIA (Presidente) LEZIONI INIZIO LEZIONI Come da Calendario didattico Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L'esame consiste in una interrogazione orale sugli argomenti teorici presentati a lezione. In particolare, lo studente deve dimostrare di aver compreso appieno i concetti alla base dello sviluppo di simulazioni interattive. In particolare, nel preparare l'esame orale, lo studente può decidere di approfondire un particolare argomento trattato a lezione, oppure realizzare un dimostrativo di gioco funzionante. MODALITA' DI ACCERTAMENTO Durante l'orale, il docente chiede allo studente di illustrare alcuni concetti imparati a lezione. Per ogni concetto, lo studente deve anche presentare le condizioni per la sua applicazione, gli eventuali vantaggi e svantaggi. Durante la prova, il docente accerta che i concetti siano stati appresi ad un livello di conoscenza tale da permettere allo studente di applicarli in casi reali. Inoltre, durante la prova, vengono trattati l'argomento di approfondimento scelto o l'esempio di simulazione realizzata autonomamente dallo studente.