Introduzione
Nel corso saranno affrontate tecniche avanzate di programmazione basate sul linguaggio C# di Microsoft; il partecipante imparerà le basi della programmazione dell'interfaccia utente e la metodologia per creare giochi per computer sia in 2D che in 3D. Durante le lezioni, vengono sviluppati giochi per computer completi, utilizzando UNITY 3D come motore di gioco. Durante il corso, gli studenti svilupperanno le proprie competenze di programmazione e acquisiranno familiarità con gli strumenti AI che supporteranno il loro lavoro e apprendimento.
Programma del corso
1C# ripasso
La prima lezione sarà dedicate al ripasso di C#.
2Introduzione a Unity3D. Il gioco dell'UFO pt. 1
Durante questa lezione utilizzeremo il software Unity 3D. Gli studenti familiarizzeranno con l'interfaccia del programma e impareranno gli elementi base che compongono il gioco. Cominceremo con la scrittura del codice del progetto "Gioco dell'UFO", grazie al quale potremo muovere una navicella spaziale all'interno dello schermo.
3Introduzione a Unity3D. Il gioco dell'UFO pt. 2
Questa lezione sarà una continuazione della precedente. Verranno applicati dei nuovi elementi relativi alla fisica 2D che permetteranno alla nostra navicella di non uscire dai bordi dello schermo. Potremo finalmente guadagnare punti e mostrarli sullo schermo!
4Inizio implementazione Infinite Runner pt. 1
Ecco il progetto a cui dedicheremo tutto il resto del semestre. Questa lezione è dedicata al Game Design Document ed è utile a comprendere l'importanza di creare design di videogiochi precisi fin dal primo momento.
5Inizio implementazione Infinite Runner pt. 2
Le prossime lezioni sono dedicate a progettare un prototipo del nostro gioco. Gli studenti assegneranno dei materiali agli oggetti presenti nel progetto. Impareremo inoltre come scrivere il codice che permette al personaggio di saltare e di fare il famoso Double Jump.
6Scorrendo il mondo, contando il punteggio
È arrivato il momento di preparare qualcosa di speciale.
Il codice scritto durante queste lezioni ti permetterà di barare un po'. Sarà il mondo a muoversi verso il personaggio, e non viceversa, creando un'illusione ottica.
Cominceremo a calcolare i nostri punteggi!
7Ostacoli e tiles del mondo random
Correre e basta può essere noioso... Che ne dici di aggiungere degli ostacoli? Programmeremo delle barriere che dovremo schivare e potremo controllare il livello di difficoltà.
Grazie a noi il gioco sarà ancora più entusiasmante!
8Concludere e riavviare il gioco
Ogni tanto le cose possono andare storte, e per questo è importante studiare come riavviare il gioco e i vari livelli.
9Animazioni del giocatore e grafica del mondo di gioco
Diamo un po' di carattere al nostro progetto! Queste lezioni saranno dedicate all'estetica dei livelli, degli eroi e degli ostacoli.
Aggiungeremo grafiche e animazioni che abbiamo creato in precedenza.
10Monete, piattaforme e record!
Il denaro guida il mondo... perchè non inserirlo nel tuo gioco? Guadagna punti extra e batti il tuo record più e più volte.
Aggiungeremo anche delle piattaforme in modo che il gioco si sviluppi su più livelli.
11Immortalità e magnetismo
PowerUP... Nella lezione di oggi programmeremo l'immortalità, almeno temporaneamente. Prepareremo oggetti collezionabili che, quando ottenuti durante il gioco, avranno effetti speciali per il nostro eroe.
12UI avanzata e menù di gioco
Programmiamo un mondo come si deve, o almeno lasciamo che si crei da solo.
Con l'aiuto di alcuni prefab già pronti avremo a disposizione dei livelli sempre diversi.
13Store degli upgrades
Lavoreremo sull'interfaccia del nostro menù per l'ultima volta.
Abbiamo bisogno del pulsante start, di sapere quanti punti abbiamo... Che ne dici di aggiungere anche un po' di musica?
14Audio, build del gioco, Unity Ads
È arrivato il momento di aggiungere i dettagli finali. Correggiamo i bug e i vari difetti.
La ciliegina sulla torta? Esportiamo il gioco su PC e su Android! Perfezioneremo tutto e potremo finalmente condividere il progetto con i nostri amici.
15Space Invaders pt. 1
In questa lezione programmeremo un gioco in stile Space Invaders, in cui dovremo difenderci dalla flotta di alieni appena atterrata!
16Space Invaders pt. 2
Personalizziamo il nostro progetto aggiungendo un altro nemico e scudi nuovi di zecca!
17Pacman pt. 1
Durante le prossime due lezioni programmeremo uno dei giochi più popolari di sempre: Pacman.
Oggi ci concentremo sui movimenti del personaggio e sullo script da scrivere in caso di vittoria.
18Pacman pt. 2
Nella lezione di oggi porteremo a termine il progetto di Pacman sfruttando l'Intelligenza Artificiale e programmando il riavvio del gioco.
19Game design e version control
Stabiliamo il gameplay e le meccaniche di gioco. Scopriamo quali sono le differenze tra i giochi 2D e 3D e prepariamo insieme il Game Design Document.
Gli studenti impareranno cos'è il version control utilizzando GitHub e Plastic SCM.
20Player Controller
Oggi gli studenti creeranno un Player Controller aiutandosi con un componente Unity interno. Impareremo insieme a scrivere uno script speciale che ci aiuterà a muovere la camera all'interno del nostro mondo.
21Terrains, GameManager, Tempo e Pausa
Oggi prepariamo insieme un paio di meccanismi speciali. Programmeremo un timer che calcolerà il tempo rimasto durante il gioco, creeremo il tasto Pausa e i comandi Hai Vinto e Hai Perso.
22Pickups
Hai presente quegli oggetti che puoi raccogliere nei tuoi giochi preferiti?
Aggiungiamo effetti speciali agli oggetti del tuo progetto!
23Portal pt. 1
In questa classe creeremo un portale che consentirà al giocatore di spostarsi rapidamente tra diverse parti del labirinto.
24Portal pt. 2
La lezione è una continuazione della lezione precedente. Creeremo degli script che permetteranno una transizione fluida tra i portali, e creeremo anche diverse funzionalità di sicurezza per far sì che il portale funzioni correttamente.
25Basi di Grafica 3D
È arrivato il momento di fare grafica 3D! In questa lezione, gli studenti impareranno le basi di Blender 3D. Conosceranno come vengono fatti i modelli 3D e prepareranno il primo modello per il nostro gioco.
26Creazione di pickups ed esportazione in Unity pt. 1
Questo argomento sarà suddiviso in due lezioni. Nella prima lezione gli studenti, utilizzando le nozioni delle lezioni precedenti e con l'aiuto dell'insegnante, creeranno le loro versioni di oggetti raccoglibili.
27Creazione di pickups ed esportazione in Unity pt. 2
In questa lezione, gli studenti esporteranno i progetti in file .FBX e li caricheranno in Unity.
28Basi di animazione e enigmi
Ora che abbiamo gli oggetti "Pickups", possiamo aggiungere delle animazioni. Creeremo un meccanismo trappola, così come un meccanismo di apertura della porta con una chiave.
29Creazione di un labirinto e level design pt. 1
In classe, gli studenti creeranno un generatore che genererà vari labirinti basati su prefabbricati e immagini. Gli studenti creeranno i diversi livelli e aggiungeranno elementi personalizzati.
30Creazione di un labirinto e level design pt. 2
Continuazione della lezione precedente
31Materiali, post processing, musica, e suoni
Durante questa scopriremo come aggiungere colore agli oggetti. In seguito, esamineremo le post-elaborazioni, che consentiranno agli studenti di modificare radicalmente il flusso del gioco. Infine, introdurremo la componente musicale e sonora.
32UI e ultimi ritocchi
Questa lezione sarà dedicata all'interfaccia di gioco. Saranno introdotte grafiche bidimensionali per informare il giocatore sul tempo rimanente e se hanno finalmente raggiunto il traguardo. Sarà inoltre creato un semplice Menu Principale. E infine, esporteremo il nostro gioco per poterlo mostrare agli amici.
33Arkanoid pt. 1
Prepareremo le basi del gioco Arkanoid. Programmeremo l'arena, il movimento della pedana e della pallina. Prepareremo anche i mattoncini da distruggere.
34Arkanoid pt. 2
Continuiamo a lavorare sul gioco Arkanoid. Aggiungeremo la generazione dei blocchi e diversi livelli.
35Lezione di ripasso
In questa lezione gli studenti ripasseranno le basi di Unity. Sarà per lo più un lavoro indipendente con il supporto dell'insegnante.
36Modello di un auto e movimento pt. 1
Durante queste lezioni conosceremo il WheelCollider, costruiremo il primo veicolo e scriveremo gli script che ci permetteranno di muoverlo.
37Modello di un auto e movimento pt. 2
Durante queste lezioni conosceremo il WheelCollider, costruiremo il primo veicolo e scriveremo gli script che ci permetteranno di muoverlo.
38Introduzione alle tecnologie web - basi di operazioni network
Una lezione teorica sulla creazione di giochi multiplayer e sulla preparazione dell'ambiente Photon.
39Checkpoints e numero di giri
Il corso sarà dedicato ai checkpoint presenti nell'area. Grazie ad essi il programma sarà in grado di determinare quanti giri ha effettuato il giocatore.
40UI
Prepareremo le basi dell'interfaccia utente. Aggiungeremo il nome e il colore del giocatore, il conto alla rovescia e il pulsante di ripristino del gioco.
41Miglioramento della guida, specchiare e cambiare camera
La lezione sarà dedicata alle correzioni, all'aggiunta di uno specchio al gioco e al cambio della telecamera.
42Menù e ultimi ritocchi
Durante la lezione prepareremo il menu di gioco in cui potremo specificare il nostro nome utente e il colore dell'auto.
43Creazione di funzionalità multiplayer pt. 1
In questa lezione inizieremo finalmente a creare elementi multiplayer per connettere il nostro gioco al server e ad altri giocatori. A causa della complessità dei test, avremo bisogno di due lezioni per farlo.
44Creazione di funzionalità multiplayer pt. 2
In questa lezione inizieremo finalmente a creare elementi multiplayer per connettere il nostro gioco al server e ad altri giocatori. A causa della complessità dei test, avremo bisogno di due lezioni per farlo.
45Leaderboard
In questa lezione prepareremo e visualizzeremo una classifica.
46Powerup
In questa lezione creeremo un potenziamento Nitro per le nostre auto.
47Terrains e lavoro in autonomia pt. 1
Utilizzeremo le ultime due lezioni per preparare un circuito su cui guidare le nostre gare. Dopo aver creato il terreno, gli studenti utilizzeranno elementi prefabbricati per completare da soli le loro piste da corsa.
48Terrains e lavoro in autonomia pt. 2
Utilizzeremo le ultime due lezioni per preparare un circuito su cui guidare le nostre gare. Dopo aver creato il terreno, gli studenti utilizzeranno elementi prefabbricati per completare da soli le loro piste da corsa.
