In questo articolo introdurremo il framework libGDX per la programmazione di giochi.

Libgdx è un framework java per lo sviluppo di videogiochi che mette a disposizione delle API che permettono al nostro gioco di funzionare su più piattaforme. Essendo Java, sfrutta anche le funzioni della JVM (Java Virtual Machine) come ad esempio l’ hotswap che ci permette di vedere in tempo reale l’effetto delle nostre modifiche sul codice. Parlando poi Write Once Run EveryWhere, sviluppando un gioco per una piattaforma (es: desktop) potremo compilare i nostri sorgenti per:

  • Desktop: Linux, Mac, Windows
  • Android,
  • iOS
  • BlackBerry
  • HTML5 (online)

Un punto a favore dell’ utilizzo di Libgdx, è il fatto che è Open Source: per questo motivo possiamo scaricarlo ed utilizzarlo gratuitamente.

Video-Game-Development-Process

Oltre al javadoc completo del framework, è presente anche dell’ ottima documentazione su Github, sito su cui è anche hostato il progetto. Sempre su questo sito, possiamo seguire la guida (in inglese) per cominciare a programmare giochi usando libgdx che ci guiderà nella creazione di un semplice gioco (Anche io ho seguito questa guida, che mi sembra ottima, il risultato leggermente modificato lo trovi quì).

Un punto a sfavore, sono le guide disponibili online: poche, spesso vecchie e non aggiornate.

 Prima di cominciare

Per cominciare a programmare usando LibGdx, dobbiamo prima mettere a punto il nostro ambiente di sviluppo. Per semplicità, useremo l’ IDE Eclipse, disponibile per il download quì.

Per programmare in java, avremo bisogno del JDK (Java development kit) disponibile sul sito di Oracle a [download_link link=”http://www.oracle.com/technetwork/java/javase/downloads/index.html”]questa pagina[/download_link].
.

Infine, abbiamo ovviamente bisogno di LibGdx disponibile a [download_link link=”http://libgdx.badlogicgames.com/download.html”]questa pagina[/download_link] (vi consiglio di scaricare l’ ultima versione stabile).

Questo è sufficiente per programmare giochi per computer (Linux, Mac, Windows), per esportare per Android avremo bisogno anche dell’ Android SDK.

Il nostro primo progetto

Una volta scaricato ed installato il nostro ambiente di sviluppo, cominciamo subito a creare il nostro primo progetto con libgdx!

Alle prime versioni, avremmo dovuto creare un progetto di Eclipse ed eseguire diversi passaggi un pò noiosi ma necessari per configurare il tutto. Fortunatamente però, un utente ha sviluppato una piccola applicazione chiamata gdx-setup-ui.jar che troviamo all’ interno del file zippato che abbiamo scaricato.

Estriamo quindi il file zippato dove ci fa più comodo (es: C:/) e avviamo il file gdx-setup-ui.jar.

Da quì, ci basterà seguire i passaggi:

  1. Clicchiamo su Create
  2. Dalla pagina che ci si apre, Inseriamo il Nome del nostro gioco
  3. Inseriamo il nome del package (cercate di farlo il più particolare possibile, tipo com.informaticalab.gioco)
  4. Il nome della classe principale che verrà aperta quando viene avviato il gioco
  5. Inseriamo la destinazione del progetto.
  6. Selezioniamo per quale dispositivo vogliamo creare il progetto,
  7. Nel riquadro affianco, se non è verde, selezioniamo l’archivio di libgdx scaricato poco fà,
  8. Finito! Clicchiamo su Open the generation Screen e dalla finestra che ci appare clicchiamo su Start.

 Avviare il progetto

Per avviare il progetto, dobbiamo prima importalo in Eclipse. Dal menu, clicchiamo su File -> Importa selezioniamo sotto a Java un Progetto esistente e selezioniamo la cartella contenente le cartelle create dal programma e clicchiamo su ok.

Avviando il progetto, visualizzeremo questa immagine.
Avviando il progetto, visualizzeremo questa immagine.

Da Eclipse adesso ci ritroveremo in nostri n+1 progetti (dove n è il numero di dispositivi su cui vogliamo compilarlo). Se il nostro gioco si chiama Prova, avremo:

  • Prova
  • Prova-android
  • Prova-desktop

Per provare il gioco e vedere “a che punto siamo”, clicchiamo sul progetto Prova-desktop e clicchiamo in alto sul pulsante di Run. A questo punto, ci ritroveremo una semplice finestra con un’immagine di Libgdx, a testimoniare che tutto funziona correttamente.

La struttura

Senza volermi dilungare troppo in questo articolo introduttivo, la struttura di Libgdx è abbastanza semplice: gli assets (Immagini, Audio, Fonts) si trovano all’interno del progetto di Android (prova-android) nella cartella assets.

Tutti gli altri progetti, hanno cartelle che sono collegamenti a questa, per questo motivo quando dobbiamo aggiungere ad esempio uno Sprite, ci basterà aggiungerlo lì.

Il posto dove codiamo comunque, è il progetto “Prova”, dove ci ritroveremo un primo package contenente la classe che abbiamo specificato al momento della configurazione.

Dove andare da quì

Adesso che abbiamo installato e preparato tutto l’ambiente di sviluppo, il mio consiglio è di seguire la guida sul wiki di libgdx, e di realizzare nel giro di un paio d’ore il vostro primo gioco!

Un’altra ottima guida, molto dettagliata ma un po antiquata la trovate quì. Alcune funzioni usate sono deprecate: potete comunque riuscire a creare il gioco descritto aiutandovi dai commenti e da Google!

Inoltre, se vi ho incuriosito un pò, potete seguire questa video-guida ufficiale per cominciare a programmare con Libgdx: