Game Programming Corso - Digital Bros Game Academy

Pagina creata da Francesco Corsi
 
CONTINUA A LEGGERE
Game Programming Corso - Digital Bros Game Academy
Corso
Game Programming
          Piano del corso

  In collaborazione con
Game Programming Corso - Digital Bros Game Academy
Game Programming

                   1
Game Programming Corso - Digital Bros Game Academy
Introduzione

Questo corso è progettato per gli studenti interessati ad entrare nel mondo dello sviluppo informatico.

Tuttavia, non è pensato solo per i grandi fanatici dei videogiochi. Oltre alla passione per i giochi, gli studenti del
corso di Game Programming dovranno avere l’impegno e la determinazione per andare oltre il solo giocare:
avranno bisogno di essere motivati a lavorare sodo e creare i propri titoli, e dovranno mostrare il forte desiderio
di diventare parte di un settore emozionante e dinamico.

Durante il corso, agli studenti viene insegnato passo dopo passo tutto ciò che comportano le fasi di program-
mazione di un videogioco, esattamente come accade nel mondo reale. Le lezioni sono preparate e insegnate
da professionisti del settore e programmatori che sfidano constantemente i limiti del settore nel mercato di
oggi. Il tutto è presentato in un formato unico, molto influenzato dalla tecnologia ludica, per aiutare a imparare,
ricordare e, soprattutto, a divertirsi mentre si acquisiscono nuove competenze.

In aula viene insegnato il linguaggio C# e le basi della programmazione in C++, i principi alla base dei giochi in
2D e infine in 3D, dal concetto iniziale ai processi e alle metodologie dietro tutti i videogame.

Il corso è impartito attraverso una serie di lezioni ed esempi, coadiuvati e sostenuti da un ampio numero di
esercizi pratici. L’obiettivo del corso è aiutarti a imparare e crescere nella programmazione di videogiochi.

Il settore dei videogiochi non è solo un lavoro, ma una vita piena di sfide, divertimento e grandi gratificazioni.

Struttura del corso

Tutti i nostri corsi hanno una struttura a moduli,
ulteriormente divisi in lezioni e singoli argomenti, con
esempi pratici che costituiscono la lezione stessa.

Uno dei nostri tutor esperti del settore impartirà la
lezione e avrai l’opportunità di imparare con molti
altri studenti in uno spazio di lavoro collaborativo.

Durante il corso, ci saranno delle valutazioni period che,
per permettere a te e al tuo tutor di calibrare i progressi
e sfidare i tuoi limiti in cio che hai imparato.

Valuteremo i tuoi progressi con: compiti pratici che
riuniscono vari argomenti, test di comprensione e il tuo
portafoglio di progetti.

                                                                                                                         2
Game Programming Corso - Digital Bros Game Academy
Modulo P1: Introduzione allo sviluppo di videogiochi

              Il team di sviluppo

                      Designer
                      Artist
                      Programmatori
                      Altri

              Il processo di sviluppo
                      Pre-alpha e Alpha
                      Beta e Release

              Piattaforme di produzione
                      Sony, Nintendo, Microsoft e PC
                      Android e iOS
                      VR

             Generi di videogiochi
                      Action
                      FPS e TPS
                      Arcade
                      Strategia
                      Giochi di ruolo
                      Sportivi
                      Simulazione
                      Party game
                      Casual

                                                       3
Game Programming Corso - Digital Bros Game Academy
Modulo P2: Primi passi nella programmazione di giochi

             Prima di iniziare

                     Preparazione
                     Programmazione di giochi
                     Loop principale

             Gestione dei progetti
                     Lavorare in gruppo
                     Metodologie di sviluppo software
                     Strumenti per migliorare la produttività
                     Trello & Slack

             Controllo di versione
                     Vari tipi di controllo versione
                     Branching, trunks
                     Unificare i cambiamenti
                     Git & GitLab

                                                                4
Game Programming Corso - Digital Bros Game Academy
Modulo P3: Principi generali di programmazione

              La logica

                      Struttura logica
                      Pseudocodice
                      Linguaggi di programmazione

              Variabili
                      Quando usare le variabili
                      Tipi di dato
                      Array e matrici
                      Operatori

              Strutture di controllo
                      Logica condizionale
                      Loop

              Progettazione algoritmi
                      Struttura dei diagrammi di flusso
                      UML

                                                          6
Game Programming Corso - Digital Bros Game Academy
Modulo P4: Programmazione orientata agli oggetti

              Convenzioni

                      Stile, notazione ungherese
                      Commenti
                      Direttive

              Programmazione orientata agli oggetti (OOP)
                      Spiegazione degli oggetti
                      Ereditarietà, polimorfismo, composition
                      Comuncazione tra oggetti

              Funzioni
                      Parametri predefiniti
                      Regole di visibilità
                      Proprietà
                      Metodi delegati

              Tipi di dati custom
                      Strutture
                      Enumeratori
                      Casting
                      Metodi generici

              Design Patterns
                      Factories
                      Singleton
                      Manager
                      State machine
                      Altri pattern utili

              Eseguire il debug
                      Breakpoint e Watch window, breakpoint condizionali
                      Migliorare la capacità di scovare i bug
                      Eccezioni

                                                                           7
Game Programming Corso - Digital Bros Game Academy
Modulo P5: Creare giochi con Unity

              Middleware

                     Motori grafici
                     Motori fisici

              Introduzione a Unity
                     Funzionalità e potenzialità
                     L'editor
                     Componenti di Unity

              Primo gioco in Unity
                     Scripting
                     Un gioco in 2D
                     Integrazione delle sprite
                     Matematica per videogame

              UI programming
                     Programmazione di interfacce con Unity

                                                              8
Game Programming Corso - Digital Bros Game Academy
Modulo P6: Teoria di programmazione grafica

              Spazi di coordinate
                      Spazi di coordinate 2D
                      Spazi locali e globali
                      Spazi 3D

              Vettori e matrici
                      Prodotti scalari, prodotti vettoriali
                      Matematica matriciale
                      Geometria del piano

              Trasformazioni e telecamera

                      Trasformazioni
                      Rotazioni: Eulero e quaternioni
                      Modello di telecamera
                      La telecamera di gioco

              Modelli 3D

                      Rendering 2D
                      Rappresentazioni poligonali
                      Applicare texture
                      Materiali

              Illuminazione

                      Tipi di luci
                      Modelli di illuminazione
                      Shading e materiali
                      Materiali PBR

              La pipeline grafica

                      La telecamera di gioco
                      Produttori hardware, API software
                      GPU vs CPU
                      Fixed vs programmable pipeline
                      Shader e linguaggi

                                                              14
Game Programming Corso - Digital Bros Game Academy
Modulo P7: 3D in Unity

             3D in Unity

                     Modelli 3D
                     Aggiungere il movimento
                     Aggiungere collisioni e altri dettagli

             Dispositivi mobile

                     Android, iOS, ecc.
                     Ottimizzazioni specifiche per i dispositivi mobile (draw call)
                     Input aggiuntivi: tocco, inclinazione, GPS, telecamere, ecc.
                     Costruire un gioco mobile

             Gestione del suono
                     Campionatura, forme d'onda
                     Buffer
                     Audio posizionale
                     Aggiungere effetti sonori e musica a un progetto reale

                                                                                      9
Modulo P8: Dentro il motore di gioco

              Loop di gioco

                       Game loop
                       Gestione del tempo
                       Cenni di programmazione multipiattaforma

              Gestione della scena
                       Il grafo della scena
                       Rendering per istanze
                       Algoritmi sweep and prune, strutture di dati

              Collisioni e fisica
                       La tecnica di raycasting
                       Rilevazione di collisioni
                       Simulazione dinamica

              Scheletri e animazione
                       Perché usiamo gli scheletri
                       Skinning
                       Animazione
                       Altri tipi di animazione
                       Cinematica diretta ed inversa

              Lavorare con i dati
                       Data oriented programming
                       Entity Component System

                                                                      10
Modulo P9: Realtà Virtuale con Unity

              Introduzione alla VR
                      Cenni storici
                      Evoluzione fino ad oggi
                      Tecnologie disponibili sul mercato
                      Andamento del mercato VR, trend e investimenti
                      Campi applicativi

              VR in Unity

                      Librerie VR supportate
                      Gestione telecamera
                      Interazioni tramite sguardo
                      UI wordspace

              Locomotion in VR
                      Motion sickness
                      Tecniche varie di locomotion
                      Seated-standing-roomscale experiences

              Mobile VR
                      Cenni sulle prestazioni mobile VR
                      Video 360°

              Oculus & HTC
                      Librerie Oculus
                      Librerie OpenVR
                      VRTK
                      Librerie SteamVR

              Input in VR
                      Gestione & commons delle mani
                      Oculus Touch
                      Steam Controller

                                                                       11
Modulo P10: Unity: concetti avanzati di Gameplay programming

              Generazione procedurale
                      Usare il programma per generare risorse
                      Frattali, rumori, ecc.
                      Tavole, dati, ecc.
                      Terreni

              Salvataggio

                      Salvataggio e caricamento
                      Serializzazione
                      Considerazioni sulla struttura dati

              Sistemi particellari
                      Sistemi particellari
                      Blending
                      Fisica delle particelle

              Effetti screen-space
                      Rendering della texture
                      Effetti

              Considerazioni sul multiplayer
                      Nozioni di reti
                      Approccio autoritario o non autoritario?
                      Sincronizzazione, latenza
                      Introdurre il multiplayer

                                                                 12
Modulo P11: Intelligenza Artificiale

               IA nei videogiochi

                       L'IA e il problema della verosimiglianza
                       Tipi di intelligenza artificiale
                       Pattugliamento

               Pathfinding
                       Pathfinding con Dijkstra
                       Pathfinding con A*
                       Mappatura logica

               Logica Decisionale
                       Alberi decisionali
                       Intelligenza artificiale a turni

               Apprendimento automatico
                       Reti neurali
                       Percettroni

                                                                  13
Modulo P12: Primi passi in C++

              Perché C++?

                      Storia di C++
                      Compilatore o interprete?
                      Codice o script?

              Il compilatore
                      C++ con Visual Studio
                      Il tuo primo programma

              Le basi di C++
                      Sintassi
                      Tipi di variabili
                      Array e matrici

              Funzioni
                      Parametri predefiniti
                      Regole di visibilità
                      Passaggio per valore e riferimento

                                                           15
Modulo P13: Principi di livello superiore in C++

               Overloading
                        Overloading dell’operatore e della funzione
                        Funzioni ricorsive

               Classi

                        Programmazione orientata agli oggetti
                        Modificatori di scope
                        Funzioni, mutatori
                        Ereditarietà

               Puntatori
                        Allocazione di memoria
                        Puntatori
                        Riferimenti

               Liste, iteratori e altro
                        Liste semplicemente e doppiamente concatenate
                        Iterare attraverso oggetti
                        STL

               Cenni di programmazione multithreading
                        Introduzione al multithreading
                        Metodi per il multithreading

Modulo P14: Cv e Portfolio

               L’importanza del portfolio

                        Come creare un portfolio professionale
                        Come presentare e discutere il proprio portfolio
                        Gestione pagine web personale e uso di social network

               Ricerca del lavoro

                        Scrivere un Curriculum Vitae
                        Come approcciare un’azienda
                        Il colloquio di lavoro

                                                                                16
Note
Note
Note
Digital Bros Game Academy S.r.l.
   via Labus 15/3 - 20147 Milano
      Tel.: (+39) 02 21.11.85.28
E-mail: segreteria@dbgameacademy.it
     www.dbgameacademy.it
Puoi anche leggere