Programmazione

Test d'ingresso

Anno Propedeutico

17/05/2010 17:53:21

Da questo Anno Accademico (2010 / 2011) gli studenti interessati ad iscriversi al corso di Programmazione per Videogiochi dovranno superare un test d'ingresso: la funzione del test non è quella di escludere un candidato dal corso ma di poterlo posizionare correttamente ad un livello adeguato al suo attuale stato di conoscienze nel campo della programmazione.

 

Un successo pieno al test d'ingresso implica la possibilità per il candidato di potersi iscrivere direttamente a  Programmazione Livello 1.

 

Un successo parziale al test d'ingresso implica, in base al risultato, il posizionamento al Semestre Propedeutico 1 o al Semestre Propedeutico 2.

 

Per prepararsi al meglio per il test d'ingresso, lo studente novizio farebbe bene a concentrarsi prima sull'apprendimento del c++ per quanto riguarda la sintassi e gli aspetti non a oggetti della programmazione. Successivamente è consigliato accoppiare allo studio degli aspetti piu avanzati del linguaggio
(quindi classi, ereditarietà, polimorfismo) quello dei concetti di geometria ed algebra.

Per lo studio del c++ puo andare benissimo qualsiasi libro di testo. In accademia adottiamo "Fondamenti di programmazione c++" di deitel & deitel.
Su internet si trova "thinking in c++" che è gratis nella versione elettronica. E' molto importante fare pratica da subito, quindi è consigliata l'installazione
dell'ambiente di sviluppo di riferimento (visual studio 2008) di cui è disponibile una versione gratuita (Visual c++ express 2008) sul sito microsoft.

Per quanto riguarda lo studio dell'algebra e geometria va sottolineato che l'aspetto piu importante dell'apprendimento riguarda il significato
geometrico degli argomenti trattati nel programma, piuttosto che quello algebrico. Un testo o delle dispense universitarie di geometria sono
sufficienti (probabilmente alcuni testi saranno anche troppo approfonditi). E' molto utile anche complementare le nozioni trovando esempi o ulteriori informazioni su internet.

Il corso di Programmazione continuerà con i Livelli 1, 2, 3 e 4.
Ogni livello di Programmazione dura un quadrimestre solare (primo quadrimestre va da ottobre a febbraio, secondo quadrimestre va da marzo a Luglio).

I costi saranno agevolati per permettere a tutti gli studenti di programmazione di frequentare tutti i moduli restando in un ambito di spesa normale per i costi generali di AIV.

Programmazione per Videogiochi

Introduzione alla carriera

17/05/2010 16:40:09

Nella programmazione videoludica esistono parecchie competenze che possono essere acquisite in corsi piu' generici come la gestione di un database, la comunicazione di basso livello (e ripeto, basso livello) via rete, l'interazione con il sistema operativo, ecc ecc.

 

Esistono innumerevoli situazioni presenti unicamente nei videogiochi che non si trovano mai spiegate in un generico corso di 'programmazione'. Prima tra tutte, la grafica 3d: qui troviamo diversi concetti propri del videogame programming quali ad esempio la pipeline grafica, la teoria dell'illuminazione, la gestione delle directX/OpenGL, l'interazione con le schede video (il cui sviluppo come ben saprai è ormai guidato unicamente dall'industria del videogame), gli shader, ecc. Ore e ore di studio che nessun corso generico potra' mai darti. Tra l'altro le piu' moderne schede video non hanno piu' la pipeline fissa, tutte le operazioni di render devono passare per forza per gli shader, il che significa che è impossibile dirsi in grado di fare videogiochi se non conosci l'HLSL, il linguaggio degli shader.
Per non parlare poi di come è fatto un motore 3d, animazione scheletrica, gestione della scena e del rendering, intelligenza artificiale, il motore fisico, ecc.
Sono veramente tante le aree uniche al nostro ambito, tant'è che parlare del 'programmatore di videogiochi' è sbagliato. Anche qui ci sono delle specializzazioni. Nascono quindi figure quali 'il 'programmatore di videogiochi esperto in shader'. Vedi quanto siamo arrivati lontano dal semplice programmatore generico?

 

Da questa situazione non si salvano neanche gli analisti e i progettisti. Come si fa a progettare un videogioco, un motore grafico, una gestione della scena o un sistema di rete che riescano a mantenere diversi mondi governati da fisica in tempo reale coerenti tra loro se non si conoscono gli strumenti di cui si dispone?

 

E non si salvano neanche i game designer, che devono sapere esattamente fino a dove possono spingere la loro immaginazione prima che il gioco diventi irrealizzabile per tempi e per potenza di calcolo.

 

Il videogioco è forse l'unico tipo di software che sfrutta in pieno le funzionalita' del computer: audio, video, rete, data storage, CPU, input; ed ognuna di queste aree è spinta all'estremo. È una continua ricerca del perfetto compromesso tra prestazioni e qualità.