NEW 2018:

Il modo dello sviluppo dei videogiochi indipendenti è molto cambiato negli ultimi anni.
L'avvento di Unity ha cambiato radicalmente il modo dello sviluppo e grazie a questo splendido strumento la creazione di videogiochi è ormai alla portata di tutti.
Per questo motivo le librerie XNA sono diventate obsolete e ormai soppiantate dall'engine più usato nel mondo tra gli sviluppatori indipendenti.

Anche questa guida che è persistita per quasi un decennio è pronta per essere soppiantata dalla guida su Unity al nuovo indirizzo unity3dtutorials.it che invito tutti a visitare!

 

Se la tua intenzione è quella di diventare sviluppatore di videogiochi, non troverai metodo migliore che seguire questa guida completamente in italiano sull'utilizzo di Unity da Zero!

 

 

 

 

 

 




INTRODUZIONE ALLA GUIDA

"Voglio creare un videogioco ma non so da dove iniziare.." Avete già scritto questa domanda su decine di forum e non avete avuto risposta? Oppure le risposte parlavano di anni di gavetta e complicate procedure di programmazione? Vi è già capitato di leggere tutorial e guide da cui non avete cavato nulla? Questa guida sarà un esperimento dove spiegherò le basi della programmazione in C# (C Sharp) e della creazione di un gioco 3D con l'ausilio delle librerie XNA, usando una sintassi basilare (non che sia capace di altro..) e informale, senza addentrarmi troppo in questioni complicate per chi non ha mai scritto una riga di codice.
Vorrei rivolgermi sopratutto "alla massa" e rendere veloce l'apprendimento di alcuni concetti che se spiegati troppo "tecnicamente" rischierebbe di demotivarvi. Dovrete dunque scusarmi per le numerose precisazioni che farò, questo tuotorial è scritto per chi ha avuto l'idea di fare un videogioco dall'oggi al domani e che non ha nessuna nozione tecnica di programmazione, di nessun tipo, con nessun linguaggio. L'importante è che capiate le cose fondamentali senza intrecciarvi troppo il cervello con approfondimenti che volendo potrete fare in futuro. Sarà dunque importante non saltare neanche una riga di questo testo pensando che sia superfluo. Il superfluo non l'ho scritto.

Questa guida si completa con la sessione "XNA in pillole" e la guida sulla modellazione di oggetti con 3DS max attualmente in lavorazione.

Nota per chi conosce le basi della programmazione ad oggetti:
Chi già programma e conosce i concetti della programmazione, potrà trovare strano l'approccio di questa guida. Di norma, su un libro o una guida di programmazione, certi argomenti vengono trattati ed approfonditi nella stessa sezione.
Come già detto questa guida adotterà un approccio diverso dal solito incentrando la sua funzionalità sull'accrescimento della motivazione e la curiosità di un utente medio a programmare videogiochi. Lo scopo principale di questa guida è dunque: motivare.
Penso che chiunque abbia la passione per i videogiochi abbia, almeno una volta, pensato a quanto potrebbe essere interessante e di enorme sfogo di fantasia, la creazione di un videogioco. Per questo motivo nasce questa guida, non tanto dunque, per insegnare a programmare come tipicamente farebbe un libro.

Come primo obbiettivo avremo quello di muovere la telecamera/peronaggio in un mondo in 3D disseminato di oggetti, implementando la gravità, l'opzione del salto e della corsa, come un classico gioco in prima persona completo di collisioni.
Durante il percorso di questa guida impareremo anche a gestire immagini e sprites 2D, passeremo da una semplice applicazione "console" ad un'applicazione XNA 2D, fino ad arrivare finalmente al 3D che XNA ci mette a disposione.
Tutto ciò capendo il perché un oggetto si muove e non semplicemente copiando e incollando del codice scritto, imparando così anche le basi della programmazione con Visual C#. Se leggendo questa guida dovreste trovare problemi, vi invito a spedirmi una email. Cliccando sullo schermetto in alto a destra giungerete al mio sito da cui sarà possibile inviarmi un messaggio oppure potete usare uno dei miei contatti.
Pochi preamboli e poca fuffa insomma, so che non vedete l'ora di inziare.



NEW 15/1/2011:
Purtroppo nello scorso mese è avvenuto un problema tecnico che ha cancellato l'intero materiale sul server.
Ho provveduto a rimettere il sito on-line ma alcuni files non sono più presenti perché non più in mio possesso.
Questo potrà determinare malunzionamenti di alcuni download dei files di esempio.

NEW 19/5/2010:
Finalemente è stata pubblicata questa guida sulla rivista DEV della Infomedia scaricabile in versione pdf direttamente dal sito della Infomedia:
http://www.infomedia.it/i/ dev/16/02

Dev

La guida è stata corretta e riadattata per il supporto cartaceo, inoltre troverete anche una nuova sessione riguardante la programmazione del multiplayer su XNA a cura di Orazio Del Franco.

Buona lettura e buona programmazione!


22/3/2010: Sul sito di XNA Italia è stata publicata la prima parte della prima ed UNICA guida in italiano sugli shader e la loro implementazione su XNA!




---------------------------------------------------------------------------




1) INIZIAMO: SCARICARE ED INSTALLARE IL SOFTWARE NECESSARIO

Per avere "il potere" tra le nostre mani dovremo installare solo due elementi, Visual C# e XNA.
Per prima cosa scaricate il Visual C# Express Edition (ma dai?). Poi, indovinate un po', lo dovrete anche installare. (La versione del Visual Studio può variare con il tempo).
Stessa cosa per il framework XNA, scarichiamolo e installiamolo dopo aver installato il Visual C#.
E' possibile scaricare direttamente Visual C# 2008 da questo link: http://www.microsoft.com/express/vcsharp/(salvo cambiamenti da parte della Microsoft).
Per scaricare XNA invece ci dovremo portare sul sito ufficiale di XNA: http://creators.xna.com/it-IT/

E' da tenere conto che questa guida è nata riferendosi alla versione 2005 di Visual C# ormai caduta in disuso. Comunque, tutte le questioni trattate non varieranno anche utilizzando Visual C# 2008. Il codice sarà ovviamente sempre lo stesso, il C# è sempre C#.
Se qualche link non dovesse essere più funzionante, potrete recarvi sul sito ufficiale di XNA da dove potrete ricercare i link aggiornati per scaricare tutto il necessario.



XNA 2, XNA 3 o 4?
Questa guida è stata creata riferendosi a XNA 2.0 ma tutte le questioni trattate e il codice d'esempio funzionerà senza problemi anche con XNA 3.1 perché quest'ultima versione apporta solo aggiunte alle vecchie istruzioni e di conseguenza il codice per XNA2 funzionerà senza problemi anche su XNA3 e ipoteticamente (non testato) anche su XNA 4 e versioni successive. L'unico appunto sta nelle librerie pre-compilate per XNA2 che non funzioneranno su versioni più recenti di XNA se non ricompilate per questa versione.

Ora che abbiamo tutto il necessario possiamo installare il tutto seguendo scrupolosamente la sequenza: Visual C#2008 --> XNA Game Studio 3.1/4 .
Fatto? Bene. Siamo pronti!