Salta al contenuto principale
CODICE 98214
ANNO ACCADEMICO 2023/2024
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
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

The course covers the elements of programming for videogames. Students will learn the basics of both 2D and 3D programming along with the techniques used by the newest CAD tools for videogame design. After an introduction about the various types of simulation, a basic game engine for attaching the components of 2D games programming is presented. The basic of the 3D graphics and 3D videogame through the usage of a CAD graphics tool and an AAA game engine is also provided. One fifth of the credit is obtained through a final project.

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 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

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 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

Commissione d'esame

MARCO RAGGIO (Presidente)

RICCARDO BERTA

FRANCESCO BELLOTTI (Presidente Supplente)

LEZIONI

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.

Calendario appelli

Dati Ora Luogo Tipologia Note
18/12/2023 15:00 GENOVA Orale
08/01/2024 15:00 GENOVA Orale
26/01/2024 15:00 GENOVA Orale
15/02/2024 15:00 GENOVA Orale
11/06/2024 15:00 GENOVA Orale
27/06/2024 15:00 GENOVA Orale
11/07/2024 15:00 GENOVA Orale
24/07/2024 15:00 GENOVA Orale
07/08/2024 15:00 GENOVA Orale
26/08/2024 15:00 GENOVA Orale
13/09/2024 15:00 GENOVA Orale

ALTRE INFORMAZIONI

Agli studenti con disturbi specifici di apprendimento (DSA) sarà consentita l’adozione di specifiche modalità e supporti che saranno stabiliti caso per caso in accordo col Delegato dei corsi d’ingegneria nella Commissione per l’inclusione di studenti con disabilità.

Agenda 2030

Agenda 2030
Salute e benessere
Salute e benessere
Imprese, innovazione e infrastrutture
Imprese, innovazione e infrastrutture
Città e comunità sostenibili
Città e comunità sostenibili