MASTER IN COMPUTER GAME DEVELOPMENT

Transcript

MASTER IN COMPUTER GAME DEVELOPMENT
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
MASTER IN COMPUTER GAME
DEVELOPMENT
1
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
Livello primo
CFU 64
Direttore del corso
Andrea Fusiello (P.A.) Facoltà di Scienze MM. FF. NN. – Dipartimento di Informatica- Università di Verona
Comitato Scientifico
Andrea Fusiello (UniVR)
Matteo Cristani (UniVR)
Luca Viganò (UniVR)
Umberto Castellani (UniVR)
Paola Cesari (UniVR)
Paolo Giacomello (Idoru Srl)
Collegio dei docenti
Università/Facoltà/
Dipartimento/Ente di
appartenenza
Cognome Nome
Qualifica
SSD
Insegnamento al Master
ore
Andrea Fusiello
P.A.
INF/01
Fundamentals
Graphics
Computer
24
Dip. di Informatica/ Fac.
di Scienze MM FF NN
Matteo Cristani
R.U.
INF/01
Fundamentals
Intelligence
Artificial
24
Dip. di Informatica/ Fac.
di Scienze MM FF NN
Luca Viganò
P.A.
INF/01
Fundamentals
Engineering
Software
24
Dip. di Informatica/ Fac.
di Scienze MM FF NN
Umberto Castellani
R.U.
INF/01
Fundamentals
Design
Interaction
24
Dip.
di
Informatica/
Facoltà di Lettere
Federico Fontana
R.U.
INF/01
Sound Programming
12
Dip. di Informatica/ Fac.
di Scienze MM FF NN
Davide Pensato
Esperto
n.a.
Sound Programming
12
Idoru s.r.l
Paolo Torelli
Esperto
n.a.
AI Programming
12
n.a.
Enrico Gasperoni
Esperto
n.a.
Physics Programming
24
Milestone s.r.l
Giorgio Ugazio
Esperto
n.a.
Network Programming
24
Milestone s.r.l
Roberto Toldo
Dottorando
n.a.
Graphics Programming
24
Dip. di Informatica
Giuseppe Maggiore
Esperto
n.a.
High-level Programming
12
n.a.
Diego Zamprogno
Esperto
n.a.
Tools Programming
24
Idoru s.r.l
Paolo Giacomello
Esperto
n.a.
Elements of Game Design
24
Idoru s.r.l
Diego Zamprogno
Esperto
n.a.
Game Engine Architecture
24
Idoru s.r.l
Paola Cesari
R.U.
M-EDF/01
MoCap Laboratory
10
Dip. di Sc. Neurol. e Vis.
/ Fac. di Sc. Motorie.
Diego Zamprogno
Esperto
n.a.
Programming Laboratory
50
Idoru s.r.l
TOTALE ORE
348
of
of
of
of
2
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
Obiettivi formativi specifici
Il Master in Computer Game Development corso si rivolge a laureati in Informatica o Ingegneria Informatica -- dunque con
buone abilità di programmazione -- e si propone di formare programmatori di applicazioni videoludiche (videogame) ed
multimediali interattive.
Il corso è progettato per fornire nozioni legate alla realizzazione di videogiochi, con un approccio pratico, includendo corsi
con professionisti provenienti dall'industria dello sviluppo vero e proprio.
L’enorme sviluppo dei videogiochi trova sicuramente il suo elemento qualificante nelle tecniche di resa grafica al calcolatore,
sostenute dalla crescente potenza di calcolo messa a disposizione dalle unità di elaborazione grafica (GPU). Il livello di
realismo sempre più elevato non è però solo visivo ma coinvolge anche la riproduzione sempre più fedele dei movimenti
umani, la simulazione precisa della realtà fisica, e la crescente immersività della interazione – si pensi al caso Nintendo WII.
Inoltre i comportamenti naturali esibiti dai personaggi che popolano il gioco (oltre al giocatore) sono frutto di esperienze
maturate nel campo dell'intelligenza artificiale. Da questa breve introduzione si intuisce come la progettazione e la
programmazione dei videogiochi sia un’attività inerentemente multidisciplinare, che tocca diverse aree dell’informatica
(programmazione, ingegneria del software, grafica, elaborazione dei suoni, interazione uomo-macchina, intelligenza
artificiale), richiede solide basi in discipline matematiche e fisiche ed ha connessioni con la biomeccanica e le scienze umane
(narrativa, psicologia).
Un primo modulo di corsi -- di stampo accademico -- introduce alcune competenze irrinunciabili in Grafica, Intelligenza
Artificiale, Ingegneria del Software e Interazione Utente-Calcolatore. Il secondo modulo -- di stampo maggiormente
applicativo e legato allo sviluppo -- esamina le diverse specifiche competenze che entrano in gioco nella programmazione di
un videogioco, quali Grafica, Suoni, Fisica (simulazione), Reti (giochi in rete), Intelligenza Artificiale, strumenti per lo sviluppo
e linguaggi di alto livello. Un terzo modulo introduce nozioni sull'architettura di un motore di gioco (game engine) e sulla
progettazione di un videogioco.
Sono previste attività di laboratorio (dove gli studenti svilupperanno un videogioco vero e proprio) e stage in aziende del
settore.
Funzioni occupazionali
Il master ha l'obiettivo di formare sviluppatori di videogiochi e/o applicazioni multimediali avanzate, focalizzandosi sulle
tecnologie più recenti e con una particolare attenzione alle problematiche di lavoro in team. Sbocchi professionali:
- Sviluppo Videogiochi
- Sviluppo Applicazioni Multimediali
- Sviluppo Applicazioni Interattive Avanzate
3
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
Progetto generale di articolazione delle attività formative
Il Master è strutturato in 1600 ore di cui:
- 298 di didattica frontale;
- 150 di stage;
- 100 per la prova finale
- 50 di laboratorio guidato;
- le rimanenti ore in attività di studio individuale.
Le lezioni in aula si terranno nei giorni di:
•
venerdi e sabato (mattina)
Scheda didattica del Master:
SSD
Insegnamento
CFU
Ore
Modulo 1
Modulo 2
Modulo 3
Modulo 4
Laboratorio
INF/01 ING-INF/05
Fundamentals of Computer Graphics
4
24
INF/01 ING-INF/05
Fundamentals of Artificial Intelligence
4
24
INF/01 ING-INF/05
Fundamentals of Software Engineering
4
24
INF/01 ING-INF/05
Fundamentals of Interaction Design
4
24
INF/01 ING-INF/05
Sound Programming
4
24
INF/01 ING-INF/05
AI Programming
2
12
INF/01 ING-INF/05
Physics Programming
4
24
INF/01 ING-INF/05
Network Programming
4
24
INF/01 ING-INF/05
Graphics Programming
4
24
INF/01 ING-INF/05
High-level Programming (XNA)
2
12
INF/01 ING-INF/05
Tools Programming
4
24
INF/01 ING-INF/05
Elements of Game Design
4
24
I INF/01 ING-INF/05
Game Engine Architecture
4
24
M-EDF/01
MoCap Laboratory
1
10
INF/01 INF-INF/05
Programming Laboratory
5
50
Stage in azienda
6
150
Prova finale
4
100
64
598
CFU totali per
modulo
16
24
8
6
TOTALE
4
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
Sillabo:
Fundamentals of Computer Graphics.
L’insegnamento fornisce una panoramica sui fondamenti della Computer Graphics interattiva, con particolare attenzione alla
tipica pipeline di rasterizzazione OpenGL-like. Verranno trattati i seguenti argomenti: Vector and matrix math. Algorithms and
data structures. Rendering paradigms. Illumination models. The rasterization pipeline. Geometric processing. Hidden surface
removal. Scan-conversion.
Fundamentals of Artificial Intelligence
A.I. Methods: algorithms and complexity. Search: rational agents, toy-problems, path finding. Informed search: heuristics,
Algoritmi genetici, tecniche anytime, A*, SMA* algorithms. Adversary search: minimax, strategy computation. Planning: block
world, planning by search. Probabilità di base. Decisioni in situazione di incertezza – tecniche bayesiane, algoritmo di Pareto!.
Reti neurali!. Vaghezza e logica fuzzy.
Fundamentals of Software Engineering
L’insegnamento fornisce una panoramica sui principi scientifici e professionali di base della Ingegneria del Software, con
particolare attenzione alle diverse fasi della progettazione e realizzazione di sistemi software complessi su larga scala ("in the
large"): pianificazione, progettazione, modellazione e specifica, implementazione, collaudo e verifica, valutazione,
manutenzione.
Fundamentals of Interaction Design
L'insegnamento fornisce una panoramica sulle tecniche di design, realizzazione e valutazione di paradigmi di interazione,
principalmente di tipo grafiche o visuali. In particolare verranno analizzate le basi dell’interazione vera e propria in termini di
fattori umani, modello utente, stili di interazione e usabilità. Verranno inoltre introdotti paradigmi di interazione ("perceptual
interfaces") nei quali il calcolatore percepisce (tramite sensori visivi, magnetici etc...) i movimenti e l'intenzione dell'utente.
Sound Programming
Il suono è fondamentale nella realizzazione di sistemi multimediali. Il corso intende fornire un set minimo di basi e di
metodologie per la sintesi e l'elaborazione dei suoni. Dopo una breve introduzione alla psicoacustica, verranno presentate
alcune tecniche, pratiche, componenti, ed esempi di utilizzo del suono nei sistemi d'interfaccia uomo-macchina e nei
videogame. Con riferimento a questi ultimi, verranno trattati i seguenti argomenti: l'audio nel ciclo di produzione di un
videogame, categorie di suoni, formati audio e compressione (wav, mp3, ogg); suoni in streaming, suoni in ram; categorie di
SFX: one shot, loop; suoni 3D; formati per la musica: MIDI vs wav vs XM\MOD; SFX: animazione, codice, evento.
AI programming
Introduzione!. Inseguimento e fuga!. Movimento basato su pattern. !Flocking!. AI scriptata e motori di script. Finite State
Machines!. AI basata su regole.
Physics programming
Obiettivo del corso di Game Physics è quello di fornire le conoscenze di base per comprendere ed affrontare le
problematiche relative allo sviluppo di simulazioni fisiche all'interno dei videogames. Il corso prevede un primo modulo nel
quale verranno richiamati concetti base di matematica e fisica, cinematica e dinamica delle particelle e dei corpi rigidi,
rotazioni 3D e quaternioni. A suddette basi teoriche segue la trattazione riguardo l'utilizzo di tali concetti all'interno del
software, le architetture comunemente utilizzate e l'integrazione numerica delle equazioni determinate nel proprio modello,
con particolare attenzione ai sistemi molla-smorzatore. Il corso si conclude con un terzo ed ultimo modulo inerente
tematiche più avanzate, come la determinazione e la gestione delle collisioni, la dinamica dei veicoli ed i corpi deformabili,
con esempi pratici riguardanti soluzioni adottate correntemente in giochi tripla A.
Network programming
!L'insegnamento fornisce una panoramica sulle problematiche relative allo sviluppo di modalità di gioco Multiplayer. Il corso
affronterà in una prima fase le problematiche di basso livello: Socket, UDP, TCP, protocolli custom con servizi TCP on
demand. Successivamente si affronteranno le problematiche di Match Making, front-end e back-end. Creazione di
sessioni di gioco, reporting di statistiche, VOIP, gestione di AI e spettatori. Cenni sulle Tecnichal Requirement Certification
(TRC) specifiche delle varie piattaforme di sviluppo. Nel terzo, e più sostanzioso, modulo si affronteranno problemi "gamedependent" di gestione e dati di gioco, data integration, data estimation, latency avoiding, dead reckoning,
bandwidth management, con esempi concreti nell'ambito di racing games. Eventualmente cenni sulle problematiche
associate ai Massive Multiplayer Game.
5
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
High-level programming
L’obiettivo è illustrare strumenti di programmazione ad alto livello tipicamente impiegati nello sviluppo di videogame, come
ad esempio XNA di Microsoft.
Graphics programming
Il corso si propone di fornire, attraverso l'uso avanzato di XNA, una panoramica sulle potenzialità delle architetture a shader
programmabili, mediante la realizzazione di texturing avanzato, gestione dell'ombreggiatura e applicazione di filtri real-time e
post-processing. Verranno inoltre introdotti gli strumenti principali utilizzati nella stesura (NVidia FXComposer), nel profiling e
nel debugging (Pix) di shader in linguaggio HLSL.
Tools programming
Obiettivo del corso è focalizzare l'attenzione sull'importanza dei tools nel ciclo di sviluppo di un videogioco. Partendo dalla
conoscenza approfondita dell'ambiente di sviluppo utilizzato dai programmatori fino alla scelta e/o realizzazione dei molti
tools indispensabili al lavoro di grafici, musicisti e designer. Nello specifico verranno sottolineate le scelte da compiere nella
realizzazione di tools da usare all'interno del team di sviluppo, con cenni su usabilità dell'interfaccia, portabilità, affidabilità e
manutenibilità. Sarà altresì eseguita una panoramica sui principali linguaggi di programmazione più indicati nella realizzazione
di tools.
Elements of game design
Obiettivo di questo corso è di esplorare le tematiche del game design. Prevede una breve overview dell'attuale scenario dei
videogiochi, evidenziando le classificazioni e le meccaniche dei principali filoni.Significato del videogioco; design; interattività;
regole e game design patterns; analisi di un documento di design.
Game engine architecture
Obiettivo del corso è quello di focalizzare l'attenzione sui passi da compiere nello sviluppo di un videogioco completo. Le
scelte implementative non possono prescindere da attente analisi sul livello di specializzazione, manutenibilità, portabilità e
efficenza del software. Particolare attenzione verrà posta nella strutturazione del codice, nella condivisione delle scelte e nello
sfruttamento ottimale delle risorse a disposizione.
MoCap Laboratory.
In questo modulo di solo laboratorio lo studente farà esperienza con un sistema commerciale di motion capture (Vicon)
assistendo e partecipando ad una sessione di acquisizione comprendente le fasi di preparazione.
Programming laboratory
In questo laboratorion integrato vengono raccolte le attività di laboratorio relative ai corsi del modulo 2 ("programming").
Percentuale di frequenza obbligatoria
70%
Periodo di svolgimento
La didattica del Master si svolge da ottobre 2009 (settimana 41) a luglio 2010 (settimana 28). Il Master termina a ottobre
2010. Si prevedono 12 ore settimanali di didattica frontale e laboratorio, 8 il venerdi e 4 il sabato mattina.
Modalità di svolgimento delle verifiche periodiche e della prova o prove finali.
Verranno effettuate verifiche al termine di ciascun modulo, consistenti in un test scritto o orale, oppure nella consegna di un
elaborato per le attività di laboratorio.
La prova finale consiste nella discussione di un elaborato.
Posti disponibili
Il Master prevede un numero minimo di 10 iscritti per essere attivato ed un numero massimo di 15. Il numero massimo può
essere ridefinito -- prima della partenza del Master -- a fronte di una maggiore disponibilità di posti di stage.
Requisiti di accesso
6
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
Laurea (vecchio ordinamento) in Scienze dell’Informazione, Informatica, Ingegneria Informatica oppure Laurea (post-riforma)
in classe 26 (scienze e tecnologie informatiche), 9 (ingegneria dell'informazione)
Uditori
Non si prevede la frequenza di uditori.
Modalità di ammissione
I candidati verranno selezionati sulla base del curriculum vitae et studiorum e di un colloquio. Verranno valutati i seguenti
elementi (punteggio totale = 60):
1.
Voto di Laurea (10 punti)
2.
Attinenza della tesi di Laurea con le tematiche del Master (10 punti)
3.
Portfolio (5 punti)
4.
Presenza nel curriculum studiorum di corsi universitari attinenti alle tematiche del master (5 punti)
5.
Colloquio motivazionale (20 punti)
6.
Conoscenza lingua inglese (5 punti)
7.
Altri titoli (5 punti).
Scadenze
Termine ultimo presentazione domande: 19 settembre 2009
Selezione: 29 settembre 2009
Pubblicazione graduatoria: 1 ottobre 2009
Termine ultimo pagamento iscrizioni ed eventuali rate: 9 ottobre 2009
Inizio corso: 16 ottobre 2009
7
UNIVERSITÀ DEGLI STUDI DI VERONA
DIPARTIMENTO DI INFORMATICA
FACOLTÀ DI SCIENZE MM FF NN
Tassa di iscrizione e contributo d’iscrizione.
La tassa di iscrizione è fissata in € 500.
Il contributo di iscrizione è fissato in € 3650.
Eventuali agevolazioni previste per i partecipanti meritevoli
Da stabilire compatibilmente con il bilancio.
Enti e/o soggetti esterni disposti a collaborare a vario titolo allo svolgimento
del corso
Idoru S.r.l. - Padova
Impressionware S.r.l. - Torino
Virtual Identity S.r.l. - Milano
Ubisoft S.p.A. - Milano
Milestone S.r.l. - Milano
FrameStudios S.r.l. - Longarone (BL)
Tutori
Non sono previsti.
Sede di svolgimento delle attività
Facoltà di Scienze MM FF NN, Strada Le Grazie, 15 - 37134 Verona
Sede amministrativa/organizzativa del corso
Dipartimento di Informatica, Strada Le Grazie, 15 - 37134 Verona
tel 045 802 7069 fax 045 802 7068
e-mail: [email protected]
Informazioni
Post Lauream, Ufficio Master e Corsi di Perfezionamento
Via Paradiso, 6 – 37129 Verona Tel. 045 8425216/15 fax. 045 8425217
e-mail: [email protected] (per informazioni di tipo amministrativo).
Dipartimento di Informatica, Strada Le Grazie, 15 - 37134 Verona
tel 045 802 7069 fax 045 802 7068
e-mail: [email protected] (per informazioni sulla didattica).
web: http://www.scienze.univr.it/fol/main?ent=cs&tcs=M
8