Lo sviluppo di giochi in ambiente Android - I Game Engine
jMonkeyEngine è un game engine open-source utilizzato per la realizzazione di giochi 3D in linguaggio Java. Questo motore grafico fa uso delle librerie Java LWJGL (Lightweight Java Game Library), per permettere agli sviluppatori di accedere ad OpenGL (Open Graphics Library), OpenCL (OpenComputing Language) ed OpenAL (Open Audio Library).
Per sfruttare appieno le librerie jMonkeyEngine si fa uso del suo ambiente di sviluppo ideale: l’SDK (Software Development Kit) jMonkeyEngine. Esso è basato sulla piattaforma NetBeans e fornisce i plugin unici per la creazione di contenuti di gioco. Essendo derivato da NetBeans ha accesso a tutti gli strumenti di sviluppo di quest’ultimo.
Uno degli aspetti più interessanti di jMonkeyEngine è il fatto di poter realizzare applicazioni non soltanto per i dispositivi Android ma anche per altre piattaforme come desktop e Web.
Come jMonkeyEngine, anche AndEngine è un game engine open-source utilizzato per la realizzazione di giochi ma, a differenza del primo, esso consente esclusivamente la grafica 2D. La libreria AndEngine permette anche a persone inesperte il facile apprendimento nello sviluppo di un videogioco ma, come controparte, le API non offrono ampie possibilità di personalizzazione come invece accade per altre librerie quali Libgdx.
AndEngine supporta le seguenti estensioni che forniscono diverse funzionalità:
- PhysicsBox2DExtension, che permette l’uso della fisica Box2D.
- TMXTiledMapExtension, che permette la lettura dei file generati in formato TMX per la realizzazione di mappe.
- MultiplayerExtension, supporta il multiplayer.
A differenza dei primi due, Libgdx non è un engine bensì è un frame work open-source per la realizzazione di giochi sia 2D sia 3D ed una delle sue caratteristiche principali è la possibilità di sviluppare giochi per diverse piattaforme di destinazione. Attualmente supporta Windows, Linux, Mac OSX, Android, iOS e HTML5. Sostanzialmente è possibile scrivere il codice una sola volta ed esportarlo sulle diverse piattaforme senza alcuna modifica.
Libgdx è progettato per dare allo sviluppatore libero accesso a tutto ciò di cui ha bisogno: file system, dispositivi di input, dispositivi audio ed OpenGL tramite un’ interfaccia OpenGL ES 2.0 e 3.0. Ha un set di API che aiutano nelle comuni attività di sviluppo di un gioco: rendering di sprite, costruzione di interfacce utente, riproduzione di effetti sonori.
Nel successivo paragrafo si effettuerà un’analisi più dettagliata di Libgdx.