Game Programming Corso - Digital Bros Game Academy
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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
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
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
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
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
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
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
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