Seguici su
Cerca

SVILUPPO DI GIOCHI DIGITALI

Anno accademico 2025/2026 - Docente: LUIGI CLAUDIO VIAGRANDE

Risultati di apprendimento attesi

Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi.

  1. Conoscenza e capacità di comprensione (knowledge and understanding): l'obiettivo del corso è quello di far acquisire conoscenze che consentano allo studente di comprendere i meccanismi teorici e fisici che stanno alla base della creazione di un gioco digitale.
  2. Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà le competenze necessarie per progettare e realizzare un gioco digitale. In particolare una parte del corso sarà relativa allo studio del software Unity per applicare tali conoscenze teoriche.
  3. Autonomia di giudizio (making judgements): Attraverso esempi in aula lo studente sarà messo nelle condizioni di comprendere se le soluzioni da lui proposte soddisfano un certo grado di qualità.
  4. Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative e la proprietà di linguaggio tecnico nell'ambito del settore dei giochi digitali.
  5. Capacità di apprendimento (learning skills): il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche e pratiche per poter affrontare e risolvere autonomamente nuove problematiche che dovessero sorgere durante una attività lavorativa. A tale scopo diversi argomenti saranno trattati a lezione coinvolgendo lo studente nella ricerca di possibili soluzioni a problemi reali.

Modalità di svolgimento dell'insegnamento

Attività di laboratorio in Aula

Prerequisiti richiesti

Buone conoscenze di programmazione

Frequenza lezioni

la frequenza è fortemente consigliata

Contenuti del corso

Introduzione a Unity e interfaccia
Player settings, build
GameObject, Components, Prefab, Tag, Layer
Script Unity e funzioni principali (Start, Awake, Update, LateUpdate, FixedUpdate)
Vettori
Enable/Disable Components, Activate Gameobjects
Translate/Rotate, LookAt, Lerp, Destroy
GetButton/Key/Axis, OnMouseDown, GetComponent
DeltaTime, Instantiate
Classi Statiche
Enums, Method Overload
Generics, Ereditarietà
Interfacce(script), Extension methods, delegates
Singleton, Coroutines, PlayerPrefs
Collisioni, Raycast
Textures, Materials
Luci
Audio Listener, Audio Source, Audio 2D/3D
Animazioni e Animator
UI
Json

Scriptable Objects


Testi di riferimento

Non esiste uno specifico testo di riferimento. E' possibile usare qualsiasi manuale di Unity o servirsi delle referenze online.

Programmazione del corso

 ArgomentiRiferimenti testi
1UnityMateriale fornito dal docente su studium

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L’esame consiste nella presentazione di un progetto, individuale o di coppia.

Il voto conseguito dipenderà fortemente dalla seguente scaletta dei punteggi.

  • Impostazioni generali (2 elementi diversi obbligatori)
  • Build mobile: 1pt
  • Splash Screen: 1/2pt
  • Icona gioco: 1/2pt

 

  • Main menu (2 elementi diversi obbligatori)
  • Load Game (CheckPoint in mezzo ad un livello): 2pt
  • Options:
    • Sound/Music: 1pt
    • Controls: 2pt
    • Resolution/Quality: 1/2pt
  • Credits Screen: 1/2pt
  • Classifica
    • Ordinata: 2pt
      • Con rimpiazzo dinamico delle entry (Cancellazione score più basso e inserimento nuovo score): 2pt
    • Non ordinata: 1pt

 

  • Tutorial
  • Schermata statica(3 max): 1/2pt per schermata

 

  • GamePlay (3 elementi diversi obbligatori)
  • Score: 1pt
  • PowerUp/Shop/Bonus giocatore(Max 3): 1pt ogni powerup
  • Gioco a tempo:1/2pt
  • Presenza di nemici/sfida: 1pt
    • Livelli di difficoltà: 1pt
    • Difficoltà crescente: 1pt
    • AI base (segue il player, spara automaticamente, non ha comportamenti “Intelligenti”, ecc): 1pt
    • AI complicata ( comportamenti basati sulle azioni del player,ecc): 3pt
  • Multiplayer Locale (2 o più player nello stesso dispositivo): 2pt
  • Strutture (8 elementi diversi obbligatori)
  • PlayerPrefs: 1/2pt
  • Singleton(4 max): 1pt ogni singleton
  • Coroutines(4 max): 1/2pt ogni coroutine
  • Enums: 1/2pt
  • Classi statiche(2 max): 1/2pt ogni classe
  • Generics(Anche interfacce): 2pt
  • Method overload: 1/2pt
  • Presenza di ereditarietà: 1pt
    • Overriding: 1/2pt
  • Interfacce(2 max): 1pt ogni interfaccia
  • ExtensionMethods(4 max): 1/2pt ogni metodo
  • Delegates: 1pt
  • Eventi: 1pt
  • Animazioni originali(2 max): 1/2pt ogni animazione
  • Sound:
    • Soundtrack: 1/2pt
    • Altri suoni (3 max): 1/2pt ogni suono
  • Raycast: 1pt
  • User Interface(max 6): 1/2pt ogni elemento grafico (nei livelli di gioco, non nel main menu)
  • Scriptable Objects 1
  • JSon 1

 

  • EXTRA
  • Particelle(max 3): 1/2pt ogni sistema di particelle

La lode si raggiungerà con un punteggio di almeno 35 e senza bug medio/gravi

  • Bug
  • Lieve/Glitch (Non impediscono il corretto funzionamento del gioco: superamento di barriere invalicabili, accorciamento imprevisto del livello, sfasamento nel sistema di score/powerup, ecc): -1/2pt per ogni bug
  • Medio(Animazioni desincronizzate, audio desincronizzato, errori di collisione diversi dal superamento di barriere, errori di IA, ecc): -1pt per ogni bug
  • Grave (Crash, Freeze, interruzioni improvvise del gioco, ecc): -2pt per ogni bug.

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

Bisognerà inviare per mail la build del videogioco, la cartella script e un txt contenente l'elenco degli elementi implementati da questa lista e dove trovarli all'interno delle classi.


La prova è strutturata in modo che ad ogni studente sia attribuito un voto secondo il seguente schema:

  • Non approvato: Lo studente non ha acquisito i concetti basilari e non è in grado di presentare un progetto contenente le funzionalità minime indispensabili per un videogioco, oppure il suo elaborato risulta essere pieno di bug ed errori.
  • 18-23: Lo studente dimostra padronanza sufficiente dei concetti e della teoria di base per lo sviluppo di videogame. Riesce a produrre un progetto contenente elementi sufficienti e il suo elaborato non contiene troppi bug.
  • 24-27: Lo studente dimostra buona padronanza dei contenuti del corso. Il suo elaborato contiene molti elementi indispensabili per un videogame e il suo elaborato è privo di bug gravi.
  • 28-30 e lode: Lo studente padroneggia alla perfezione tutti i contenuti del corso. Riesce a produrre un progetto completo e privo di bug.

Esempi di domande e/o esercizi frequenti

Non esistono domande frequenti in quanto ciò che viene valutato è il progetto del gioco che cambia da studente a studente.

Un esempio di gioco potrebbe essere: Come esempio di gioco possiamo immaginare un classico space shooter 2D a scorrimento orizzontale o verticale. Il giocatore manovra una navicella e dovrà affrontare dei nemici che possono essere altre navicelle. Sarà dotato di un'arma che potrà essere potenziata tramite dei powerup rilasciati dai nemici distrutti

ENGLISH VERSION