Computer Game Developer Piano del corso - in collaborazione con
←
→
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 nostro corso per Sviluppatore di videogiochi 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. DEV Durante il corso, agli studenti viene insegnato passo dopo passo tutto ciò comportano che le fasi di programmazione di un videogioco, esattamente come accade nel mondo reale. Le lezioni sono preparate e insegnate da professionisti del settore e programmatori che sfi dano costantemente 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 vengono insegnate 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. Speriamo che ti piacerà studiare questo corso quanto piace a noi insegnarlo. Comincia la tua nuova carriera da sviluppatore di videogiochi. Il settore dei videogiochi non è solo un lavoro, ma una vita piena di sfi de, divertimento e grandi gratifi cazioni. 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 periodiche, per permettere a te e al tuo tutor di calibrare i progressi e sfi dare i tuoi limiti in ciò che hai imparato. Valuteremo i tuoi progressi con: compiti pratici che riuniscono vari argomenti, test di comprensione, il tuo portafoglio di progetti e l’esame finale! 2 Developer
Modulo P1: Creare prototipi con un Game Creation System Lezione 1 - Prima di iniziare Preparazione DEV Design Lezione 2 – Uso di base di Game Creation System Introduzione al software GCS Esempio di gioco parziale semplice Lezione 3 – Un esempio più avanzato Un esempio avanzato Pianificare l’idea di base, identificare e ottenere gli asset in rete Implementare l’idea Lezione 4 – Concetti avanzati Un esempio complesso Implementazioni su dispositivi mobili Creare un’anteprima su Wi-Fi www.dbgameacademy.it 3
Modulo P2: Principi generali di programmazione Lezione 1 – La logica Struttura logica DEV Pseudocodice Lezione 2 – Variabili Quando usare le variabili Numeri e stringhe Lezione 3 – Il processo decisionale Conditional logic Repeating logic Lezione 4 – Diagrammi di flusso Struttura del diagramma di flusso UML 4 Developer
Modulo P3: Primi passi in C++ Lezione 1 – Perché C++? Breve analisi di altri linguaggi (per es. C#, Java) DEV Perché imparare C++ aiuta con gli altri linguaggi Compilatore o interprete? Codice o script? Lezione 2 – Il compilatore Impostare Visual C++ Il tuo primo programma Lezione 3 – Le basi di C++ Sintassi Tipi di variabili (ossia numeri, stringhe, ecc.) Matrici Lezione 4 – Funzioni Parametri predefiniti Regole di visibilità Spazi dei nomi Lezione 5 – Le tue tipologie Strutture e unioni Typedef ed enumerazione Annotazioni e casting Ciclo vitale e visibilità delle variabili www.dbgameacademy.it 5
Modulo P4: Principi di livello superiore in C++ Lezione 1 – Overloading Overloading dell’operatore e della funzione Funzioni ricorsive Lezione 2 – Classi Programmazione orientata agli oggetti Spiegazioni sulle classi Member functions e variabili Friends Lezione 3 – Elementi statici, costanti e template Elementi statici e costanti Static member functions, variabili statiche Template e polimorfismo Lezione 4 – Tutto ciò che devi sapere sui puntatori Puntatori Riferimenti Allocazione di memoria: stack & heap Lezione 5 – Liste, iteratori e altro Liste semplicemente e doppiamente concatenate Iterare attraverso oggetti STL Classificare gli algoritmi Lezione 6 – Eseguire il debug Spiegazione degli strumenti di base per il debug in Visual C++ Breakpoint e Watch window, breakpoint condizionali Eccezioni Migliorare la capacità di scovare i bug Errori comuni 6 Developer
Modulo P5: Programmazione migliore, programmare in gruppi Lezione 1 – Convenzioni Stile, notazione ungherese DEV Commenti Direttive Lezione 2 – Oggetti e programmazione orientata agli oggetti (OOP) Spiegazione degli oggetti Orientamento agli oggetti Scambio messaggi tra gli oggetti Lezione 3 – Design pattern Factories Singleton Manager State machine Lezione 4 – Controllo versione Vari tipi di controllo versione Branching, trunks Unificare i cambiamenti Lezione 5 – Gestione dei progetti Waterfall, Agile, ecc. Strumenti di gestione, Project, JIRA, ecc. www.dbgameacademy.it 7
Modulo P6: Teoria di programmazione grafica Lezione 1 – Tutto ciò che devi sapere su 2D e 3D Spiegazioni e paragoni tra 2D e 3D Concetti e termini fondamentali del 2D Concetti e termini fondamentali del 3D Lezione 2 – Spazi del progetto Local space, global space Funzioni trigonometriche Proiezioni Lezione 3 – Vettori e matrici Trasformazioni e combinazioni Prodotti scalari, prodotti vettoriali Normali, ordine di avvolgimento Lezione 4 – Modelli 3D Rappresentazioni poligonali Applicare texture Coordinate UVW e mappatura Lezione 5 – Telecamere e luci Campo visuale (FOV), frustums Eliminazione selettiva Come calcolare la luce Tipi di illuminazione Lezione 6 – La pipeline grafica Spiegazioni sulla pipeline grafica Fissa o programmabile? Breve spiegazione sugli shader 8 Developer
Modulo P7: Primi passi nella programmazione di giochi Lezione 1 – Considerazioni Programmazione di giochi Orientamento agli oggetti o agli eventi?, loop principale Delta time Indipendenza della piattaforma Lezione 2 – SDK, motori e altro DirectX e OpenGL (in breve) Motori grafici e sviluppatori Unity, UDK (in breve) Lezione 3 – Tipi più semplici di intelligenza artificiale Soluzioni semplici di intelligenza artificiale Patrolling e route-finding Aggiungere nemici ad un progetto reale Lezione 4 – Aggiungere il suono Campionatura, forme d'onda Buffer Audio posizionale Aggiungere effetti sonori e musica a un progetto reale Lezione 5 – Generazione procedurale Usare il programma per generare risorse Frattali, rumori, ecc. Tavole, dati, ecc. Lezione 6 – Salvataggio e caricamento Salvataggio e caricamento Serializzazione Considerazioni sulla struttura dati www.dbgameacademy.it 9
Modulo P8: Programmazione Windows e DirectX Lezione 1 – Programmazione Windows Windows, messaggi DEV Integrare con DirectX Superfici, chiusure, buffer doppio Immagini sprite, trasparenza Lezione 2 – Direct 3D Qual è la relazione tra le varie tecnologie DirectX Come ti può aiutare Direct3D Impostare una scena in D3D, buffer di vertice Modulo P9: Programmazione Windows e OpenGL Lezione 1 – Programmazione Windows Windows, messaggi Integrare con OpenGL Superfici, chiusure, buffer doppio Un progetto semplice a schermo fisso Lezione 2 – OpenGL Come ti può aiutare OpenGL Impostare una scena su OpenGL 10 Developer
Modulo P10: Utilizzare Unity Lezione 1 – Introduzione a Unity Funzionalità e potenzialità DEV UI Scripting Lezione 2 – Creare una scena/app semplice in 3D Creare mondo, telecamera, luci Aggiungere il movimento Aggiungere collisioni e altri dettagli Lezione 3 – Usare il 3D per creare una scena/app in 2D Strategia in 2D Oggetti planari, billboarding www.dbgameacademy.it 11
Modulo P11: Animazione avanzata e visualizzazioni Lezione 1 – Scheletri e animazioni Perché usiamo gli scheletri Skinning Animazione Importare un’animazione 3D Lezione 2 – Stencil Buffer, ombreggiature Stencil buffer Varie tecniche di ombreggiatura Lezione 3 – GPU e l’uso degli shader HLSL, ecc. Pix-> Debugger per Visual Studio Graphics Mappatura normale e altri effetti visivi Lezione 4 – Raccolta in 3D, collisioni La tecnica di raycasting Come agire con altri tipi di collisioni Collisioni 3D in pratica Lezione 5 – Gestione della scena Rendering a istanze Alberi BSP, grafico di scena Algoritmi sweep and prune, strutture di dati Lezione 6 – Particelle e shader avanzati Sistemi particellari Rendering della texture Multi-texturing su terreni (splatting) 12 Developer
Modulo P12: Considerazioni sulla tecnologia mobile Lezione 1 – Sviluppare per i dispositivi mobili Android, iOS, ecc. DEV Telefoni, tablet, gestire risoluzioni diverse, retina Ottimizzazioni specifiche per i dispositivi mobili (draw call) Input aggiuntivi: tocco, inclinazione, GPS, telecamere, ecc. Lezione 2 – Gli App Store Apple, Google, Amazon Analytics Modulo P13: INTELLIGENZA ARTIFICIALE Lezione 1 – Strategie di intelligenza artificiale Tipi di intelligenza artificiale Intelligenza artificiale più semplice, guida, pattugliamento, ecc. Trovare le strade con A* Lezione 2 – Intelligenza artificiale più complessa Alberi decisionali Algoritmi genetici Intelligenza artificiale a turni Lezione 3 - Apprendimento della macchina Reti neurali Percettroni Scacchi con intelligenza artificiale, alberi minimax www.dbgameacademy.it 13
Modulo P14: Gestire più giocatori Lezione 1 – Considerazioni sul multiplayer Approccio autoritario o non autoritario? DEV Sincronizzazione, latenza Far fronte a disconnessione e migrazione del server Previsione del cliente, interpolazione Modulo P15: Quando c’è più di un core Lezione 1 – Programmazione in multi-threading Usare più nuclei Sicurezza dei thread Comunicazione tra processi 14 Developer
Note DEV www.dbgameacademy.it 15
Scopri di più su: www.dbgameacademy.it DIGITAL BROS GAME ACADEMY S.r.l. via Labus 15/3 - 20147 Milano Tel.: (+39) 02 41.30.31 E-mail: info@dbgameacademy.it © Copyright Train2Game Sro
Puoi anche leggere