Creazione di videogiochi 2D cross-platform
in C#, SdlDotNet e OpenGL
Introduzione:
Con questa guida cercherò di insegnarvi come creareun videogame 2D cross-platform, compatibile quindi con Windows, Linux e Mac OS, con C# e l’ausilio delle librerie SdlDotNet (per la creazione delle finestre e la gestione degli eventi e degli input) e delle OpenGL per il rendering grafico vero e proprio.
Strumenti necessari:
Per mettere in atto questa guida avremo bisogno di alcuni strumenti (tutti gratuiti):
- Visual C# Express Edition 2010 (se intendiamo programmare sotto Windows) scaricabile da:
- Se siete utenti Linux o Mac non potete usare Visual C#, per voi ci sono da scaricare: MonoDevelop, il Framework MONO e le Gtk# (per Linux, Mac OS e anche Win) scaricabili rispettivamente da
- il file che contiene le dll necessarie al tutorial:
Preparazione dell’ambiente di sviluppo:
Dopo aver scaricato e installato Visual C# (o MonoDevelop), avviatelo e create un nuovo progetto di tipo “progetto vuoto” e chiamiamolo “gioco2d”
Visual C#:
MonoDevelop:
PS: da ora in poi, per praticità, inserirò solo le immagini di Visual C#, in quanto le procedure per entrambi gli IDE si assomigliano, e inserirò screen di monodevelop solo se le scermate differiranno molto o su vostra richiesta.
Ora raggiungiamo la cartella interna del progetto, quella in cui si trovano le cartelle bin e obj e il file gioco2d.csproj, e creiamo una nuova cartella ref dove inseriamo le librerie che avete scaricato prima.
la situazione dovrebbe essere circa cosi:
Torniamo al nostro IDE (visualC# o monodevelop) e facciamo click con il tasto destro sulla voce "Riferimenti" nella finestra "esplora soluzione", dopodichè scegliamo la voce aggiungi riferimenti e si aprirà una finestra come quella sottostante, clickiamo sfoglia, entriamo nella cartella "ref" nel nostro progetto e selezioniamo i files "SdlDotNet.dll", "Tao.OpenGl.dll" e "Tao.DevIl.dll" (per selezionare piu files contemporaneamente tenete premuto il tasto control, alternativamente potete aggiungere un file alla volta)
dopodichè aggiungiamo i riferimenti a System e System.Drawing:
Passiamo al programma:
Il programma è composto da 3 files: Program.cs, Graphics.cs, Game.cs.
Ora vediamoli in dettaglio:
Il primo file è Program.cs, contiene la Main del programma e l'inizializazione degli eventi, ecco il codice.
Non spiego tutto perchè è commentato in maniera (spero =P) esauriente:
Il file Graphics.cs contiente le funzioni per accedere alle OpenGL: l'inizializzazione delle librerie, il caricamento delle texture e il disegno sullo schermo
Ed ecco il file Game.cs:
Ora potete compilare ed eseguire, se vi da errori di mancanza di dll copiate le librerie contenute nella cartella ref nella cartella da cui parte il programma o nella cartella system32
IMPORTANTE:
quando si disegna una texture bisogna disegnare i vertici in senso orario o antiorario, per chiarire ecco un'immagine di ciò che puo accadere:
Per ora mi fermo qui, se ci sarà qualche interessato andrò avanti con le guide, parlando di animazioni, collisioni, tiling, ecc....
Ecco il download del progetto e l'immagine ciao.png:
in C#, SdlDotNet e OpenGL
Introduzione:
Con questa guida cercherò di insegnarvi come creareun videogame 2D cross-platform, compatibile quindi con Windows, Linux e Mac OS, con C# e l’ausilio delle librerie SdlDotNet (per la creazione delle finestre e la gestione degli eventi e degli input) e delle OpenGL per il rendering grafico vero e proprio.
Strumenti necessari:
Per mettere in atto questa guida avremo bisogno di alcuni strumenti (tutti gratuiti):
- Visual C# Express Edition 2010 (se intendiamo programmare sotto Windows) scaricabile da:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
- Se siete utenti Linux o Mac non potete usare Visual C#, per voi ci sono da scaricare: MonoDevelop, il Framework MONO e le Gtk# (per Linux, Mac OS e anche Win) scaricabili rispettivamente da
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
e Perfavore,
Entra
oppure
Registrati
per vedere i Link!
- il file che contiene le dll necessarie al tutorial:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Preparazione dell’ambiente di sviluppo:
Dopo aver scaricato e installato Visual C# (o MonoDevelop), avviatelo e create un nuovo progetto di tipo “progetto vuoto” e chiamiamolo “gioco2d”
Visual C#:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
MonoDevelop:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
PS: da ora in poi, per praticità, inserirò solo le immagini di Visual C#, in quanto le procedure per entrambi gli IDE si assomigliano, e inserirò screen di monodevelop solo se le scermate differiranno molto o su vostra richiesta.
Ora raggiungiamo la cartella interna del progetto, quella in cui si trovano le cartelle bin e obj e il file gioco2d.csproj, e creiamo una nuova cartella ref dove inseriamo le librerie che avete scaricato prima.
la situazione dovrebbe essere circa cosi:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Torniamo al nostro IDE (visualC# o monodevelop) e facciamo click con il tasto destro sulla voce "Riferimenti" nella finestra "esplora soluzione", dopodichè scegliamo la voce aggiungi riferimenti e si aprirà una finestra come quella sottostante, clickiamo sfoglia, entriamo nella cartella "ref" nel nostro progetto e selezioniamo i files "SdlDotNet.dll", "Tao.OpenGl.dll" e "Tao.DevIl.dll" (per selezionare piu files contemporaneamente tenete premuto il tasto control, alternativamente potete aggiungere un file alla volta)
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
dopodichè aggiungiamo i riferimenti a System e System.Drawing:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Passiamo al programma:
Il programma è composto da 3 files: Program.cs, Graphics.cs, Game.cs.
Ora vediamoli in dettaglio:
Il primo file è Program.cs, contiene la Main del programma e l'inizializazione degli eventi, ecco il codice.
Non spiego tutto perchè è commentato in maniera (spero =P) esauriente:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Il file Graphics.cs contiente le funzioni per accedere alle OpenGL: l'inizializzazione delle librerie, il caricamento delle texture e il disegno sullo schermo
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ed ecco il file Game.cs:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ora potete compilare ed eseguire, se vi da errori di mancanza di dll copiate le librerie contenute nella cartella ref nella cartella da cui parte il programma o nella cartella system32
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
IMPORTANTE:
quando si disegna una texture bisogna disegnare i vertici in senso orario o antiorario, per chiarire ecco un'immagine di ciò che puo accadere:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Per ora mi fermo qui, se ci sarà qualche interessato andrò avanti con le guide, parlando di animazioni, collisioni, tiling, ecc....
Ecco il download del progetto e l'immagine ciao.png:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Perfavore,
Entra
oppure
Registrati
per vedere i Link!