Lo scopo del corso di Game Development è quello di formare nuove figure professionali per l’industria dei videogiochi, in un settore con molte potenzialità.
L’entertainment ed il gaming si configurano come due dei settori più promettenti per le nuove opportunità lavorative offerte.
Gli studenti del corso saranno in grado di cooperare con le varie figure del team working: dal level designer al team grafico, dal narrative designer al project manager oltre che produrre e implementare le features di un videogame, adattarsi ai vari ambienti di sviluppo, gestire il rapporto con il committente e le altre figure professionali coinvolte.
Tutto ciò che vediamo in un gioco in movimento è frutto di una serie di codici e chi scrive i codici è il perno centrale del videogioco e della sua creazione, che deve, oggi più che mai, seguire lo sviluppo tecnologico.
L’intelligenza artificiale e lo sviluppo di strumenti immersivi come la realtà virtuale e aumentata, richiedono al corsista di Game Development il confronto con un mondo dei videogiochi che è radicalmente cambiato in pochissimo tempo e che cambierà indissolubilmente nei prossimi anni ad una velocità sostenuta.
A chi è rivolto
Tutti coloro che vogliono specializzarsi ed entrare nell’industria dei videogiochi avviando un programma triennale nell’ambito del Game Development.
Programma
Il percorso mira a formare figure trasversali che riusciranno a seguire l’intero processo di produzione e sviluppo di un videogioco dall’idea fino alla pubblicazione.
Il corso di Game Development è ricco ed articolato. Principali argomenti:
- Creare storyboard e meccaniche di gioco;
- UX e UI dell’intero aspetto di un videogioco
- Design dei livelli, dei personaggi e dell’impostazione delle difficoltà di gioco;
- Funzionalità avanzate di Unity e Unreal Engine.
Durata
Il corso di Game Development ha durata triennale. Obbligo di frequenza. L’accesso ai successivi anni è subordinato alla frequenza ed al profitto.
Requisiti d’accesso
Per accedere al corso di Alta Formazione di Game Development è necessario il possesso del diploma di istruzione secondaria di secondo grado.
Titolo conseguito
A fine del percorso, sarà rilasciato attestato e diploma di Alta Formazione.
Nello specifico, il corso è articolato su tre anni.
PROGRAMMA DEL CORSO:
Unity | Strumenti e tecniche
- Ciclo di vita di un software
- Cause del fallimento dei progetti software
- Verifica della fattibilità
- Budget di un progetto
- Struttura di un progetto software: GUI e codice
- Interfacce utente: diegetiche, non diegetiche, spaziali e meta
- Il team di sviluppo
- Strumenti software e licenze
- Formati di immagine Raster e Vettoriale
- Dispositivi hardware: desktop, laptop, smartphone e tablet
- Gantt e PERT
- Cosa sono Unity 3D e Unreal Engine
- Cosa non sono Unity 3D e Unreal Engine
- Requisiti Hardware e Software
- Unity 3D e Unreal Engine: differenze e similitudini
- Progettazione
- Tipologie di videogiochi
- GIT e sistemi di controllo versione distribuito
- Discord, Slack, Trello e altre piattaforme di collaborazione e comunicazione
- API, OpenGL, WebGL, Vulkan, Metal e DirectX
- Graphics pipeline
- Performance e ottimizzazioni (LOD, texture baking, lightmapping, mipmap e occlusion culling)
- Creazione livelli e contenuti (statica, “casuale” e procedurale)
- FBX e formati grafici
- Shaders
- Maps (Normal, bump, height e displacement)
- Camera
- Culling
- Camera e Frustum
- CPU e GPU bound
- FPS, refresh rate e vsync
- Intelligenza artificiale
- Rendering path
- Voxel
- Navigation & Pathfinding
- Internet: funzionamento e protocolli
- Multiplayer
Unity | Fondamenti di programmazione in C#
- Fondamenti di programmazione
- Diagrammi di flusso
- C#
- Utilizzo di sistemi di VCS
- Buone pratiche di stile
- Bug e glitch
- Tipi di dato
- Camel case
- Overflow
- Costanti
- Magic numbers
- Operatori
- Blocchi di codice
- Stringhe di testo
- Commenti
- Testing
- Strutture condizionali
- Tabelle di verità
- Cicli (for, while e do-while)
- Array
- Eccezioni
- Event e callback
- Byte
- Rappresentazione dei colori
- Programmazione a oggetti
- Thread
- Singleton e altri design pattern
- LINQ
- File
- Serializzazione/Deserializzazione
- Networking
Unity | Fondamenti di grafica e modellazione 3D lowpoly
- Fondamenti di grafica
- Fondamenti di fotoritocco
- Modellazione high-poly
- Retopology e modellazione low-poly
- Texturing
Unity | C#: sviluppo di progetti 3D e 2D
- Unity Hub
- Installare Unity 3D
- L’interfaccia grafica di Unity
- Procedure per la creazione e distribuzione
- La scena
- GameObject e Componenti
- Il componente Transform
- La telecamera
- Illuminazione
- Flussi di lavoro
- Importazione di modelli
- Le basi della CG
- Le geometrie standard
- Shaders, materiali e texture
- Shader Graph
- Creare un componente/script
- Visual Studio e Visual Studio Code
- I metodi Start, Awake e Update
- Modificare la posizione
- Modificare la rotazione
- Modificare la scala
- Interpolazione lineare
- Creare variabili ed esporle nell’inspector
- La fisica in Unity
- La forza di gravità
- Gestire le collisioni di tipo Collision e Trigger
- Gestire l’interazione con gli elementi della scena
- Materiali fisici
- Fixed Update
- Gestire più scene
- Passaggio tra Scene
- Coroutine
- Singleton
- Prefabs
- Animazioni
- Intelligenza artificiale
- UI system
- Post processing
- Lightmapping
- LOD
- Occlusion culling
- Pathfinding
- Testing
- Performance
- AR in Vuforia, ARCore e ARKit
- Pubblicazione per desktop, web e mobile
- Realizzazione di progetti 2D e 3D
- Conclusioni
Unreal Engine | Introduzione ad Unreal
- Cos’è un Game Engine
- Le possibilità e capacità di Unreal
- Unreal, navigazione base e interfaccia
- Struttura di un progetto Unreal
- Come organizzare un progetto
- Come orientarsi
Unreal Engine | Fondamenti di Real Time Rendering
- PBR Rendering
- Deferred Rendering
- Forward Rendering
- Introduzione ai Materials
- Introduzione al Lighting
- Introduzione alle Shadows
Unreal Engine | Fondamenti di OOP e Programmazione Blueprint
- Hello World
- Variabili e memoria
- Controllo di flusso
- Contenitori e Cicli
- Funzioni e Macro
- Oggetti e Classi
- Eredità
- Actors e Pawns
- Unreal Gameplay Framework
- Esercizi
Unreal Engine | Introduzione alle Animazioni
- Introduzione alle animazioni
- Animation Blueprints
- Macchine a stato finito
- Notifiers
- Retargeting
- Impostare un personaggio da zero
- Esercizi
Unreal Engine | Programmazione in C++
- Fondamenti di algebra lineare
- Rivisitare cosa abbiamo fatto, da Blueprint a C++
- Headers e Cpp File
- Puntatore e Gestione della Memoria
- Equilibrare C++ e Blueprint
- Comunicare con i Blueprints
- UProperties Specifiers
- UFunction Specifiers
- Compiler Directives
- Custom Structs
- Best Practises
- Esercizi
Unreal Engine | Altre funzionalità
- Introduzione a UMG
- Introduzione a Sequencer
- Introduzione all’Audio
- Esercizi
Unreal Engine | Version Control
- L’importanza dei Version Control Systems
- Come impostare Version Control
- Come usare Version Control
- Esercizi
Unreal Engine | Programmazione Avanzata – Data-Driven Gameplay
- Il concetto dei Dati
- Data Containers
- Binding Data
- Leggere Dati da sorgenti
- Data Assets
- Best Practises
- Esercizi
Unreal Engine | Programmazione Avanzata – Artificial Intelligence
- Il concetto dell’Intelligenza Artificiale
- Behaviour Trees
- Blackboards
- NavMesh
- Pathfinding eNavigation
- Custom Decorators
- Custom Tasks
- Custom Services
- Modificare la NavMesh
- AI Debugging
- Esercizi
Unreal Engine | Lezioni Libere
- Intermediate Lighting
- Intermediate Shadows
- Advanced Material
- Advanced C++ Programming
- CI/CD
- DevOps
- Integrare UE4 con third-party libraries
- Advanced Sequencer
- Advanced Audio Systems
- Advanced UMG
- Procedural Content Generation
- Advanced Blueprints
- Platform Development
- Virtual Reality
- Augmented Reality
- Niagara e VFX
- Fondamenti di Virtual Production per in-game Cinematics
- Revisioni ed Esercizi