Blog
Programación de Juegos en LibGDX: Creación de un proyecto

admin /11 julio, 2016

Creación de proyecto en LibGDX

Antes de comenzar a explicar como programar un vídeojuego utilizando Comenzamos hoy la explicación de cómo crear un proyecto usando LibGDX. Esto, que podría parecer algo irrelevante, es algo realmente importante porque como vimos en un anterior post, LibGDX permite que el mismo código podamos compilarlo para diferentes plataformas. El momento en que se eligen las plataformas objetivo es en el momento de la creación del proyecto.

Para ello, LibGDX nos proporciona un archivo llamado GDX-setup.jar que es una herramienta que va a proporcionar una interfaz gráfica y de línea de comandos para crear el proyecto. Para descargar dicho fichero, sólo tienes que pinchar aquí. Si queremos utilizar su interfaz gráfica, tenemos Java bien instalados y configurado, simplemente bastará con hacer un doble click en el fichero se mostrará la interfaz, si queremos ejecutarlo desde la terminal, sólo tenemos que ejecutar:
java-jar-gdx setup.jar

Tras ello, se nos presentará una pantalla -como la imagen que acompaña este artículo- en la que tendremos que especificar el nombre de la aplicación, el nombre del paquete Java, el nombre de la clase principal, el directorio de salida, y la ruta de acceso al SDK de Android. A continuación, tendremos que seleccionar en qué plataformas queremos desarrollar nuestro juego LibGDX. Es importante tenerlo claro, e incluso incluir las que no estemos seguros, ya que una vez se han elegido, se tienen que añadir manualmente las nuevas plataformas. Por último, puedes seleccionar las extensiones que se incluirán en el juego. Algunas pueden no funcionar en todas las plataformas, pero tranquilo, que se mostrará una advertencia. Cuando tengas todo listo, sólo tienes que hacer  clic en “Generate”.  Si  todo ha ido correctamente, ya tendrás listo el proyecto para importarlo en el IDE que vayas a usar para programar, programar, ejecutar, depurar y empaquetar.

De este modo, tienes un proyecto listo para importar desde los siguientes IDEs: Eclipse, Intellij IDEA, Android Studio y NetBeans. El propio programa nos da indicaciones del modo en que debemos importar el proyecto en cada uno de los anteriores compiladores.

Si pulsamos el botón Advanced nos permite configurar la generación de proyectos para Eclipse y/o Intellij IDEA sin integración con, así como opciones para utilizar un repositorio alternativo a Maven Central y no forzar la descarga de dependencias.

Creación de un proyecto LibGDX desde la línea de comandos

Si deseas ejecutar esta herramienta desde la línea de comandos, deberás especifiar los siguientes argumentos.

dir: el directorio para del proyecto, con ruta relativa o absoluta
name: el nombre de la aplicación, es buena idea no usar caracteres con tilde, ni espacios en blanco
package: el nombre del paquete Java en que se incluirá su código, por ejemplo, com.diferenzink.gotas Como puedes ver, se suele utilizar la notación inversa del dominio del desarrollador.
mainClass: el nombre de la ApplicationListener principal de su aplicación, por ejemplo, Mi juego
sdkLocation: la ubicación de su SDK de Android, IntelliJ utiliza esto si no se ha establecido la variable de entorno ANDROID_HOME
excludeModules: los módulos a excluir (Desktop; Android, iOS; HTML) separados por ‘;’.  Por defecto incluye todos los módulos (opcional)
extensions: las extensiones que incluyen (mismo nombre que en la interfaz gráfica de usuario: Bullet; Freetype; Tools; Controllerss; Box2D; Box2dlights; Ashley; Ai;  separadas por ‘;’ y en minúsculas, por ejemplo, box2d; box2dlights; ia. (opcional)

Poniendo todo junto, podemos ejecutar el generador de proyectos de la siguiente manera:

java -jar gdx-setup.jar –dir gotas –name Gotas –package com.diferenzink.gotas –mainClass Gotas –sdkLocation localizacionSDK [–excludeModules <módulos>] [–extensions <extensiones>]

Esto creará un directorio llamado gotas que contendrá el código del proyecto principal, así como directorios por cada uno de los módulos que hayamos decidido crear.

¿Qué es Gradle?

Gradle es un sistema de gestión de dependencias y para la automatización de la construcción de proyectos, por ejemplo las tareas de compilación, testing, empaquetado y el despliegue de los mismos.

Un sistema de gestión de dependencias nos proporciona una manera fácil de instalar las bibliotecas de terceros que formqn parte parte de tu proyecto, sin tener que almacenar las bibliotecas dentro de los directorios del proyecto. En su lugar, el sistema de gestión de dependencias se basa en un archivo en el que se especifican los nombres y versiones de las bibliotecas que necesita para ser incluidos en su aplicación. Añadir, eliminar y cambiar la versión de una biblioteca tercera parte es tan fácil como cambiar unas pocas líneas en el archivo de configuración build.graddle. El sistema de gestión de dependencias descargará las bibliotecas que ha especificado desde un repositorio central  y las guardará en un directorio fuera del proyecto.

Por otro lado, el sistema de construcción ayuda a la construcción y el empaquetado de la aplicación, sin estar atado a un IDE específico. Esto es especialmente útil si se utilizas un compilador o un  servidor de integración continua, donde los IDE no están fácilmente disponibles. En su lugar, el servidor de compilación puede llamar al sistema de construcción, dotándolo de una configuración de construcción por lo que sabe cómo construir su aplicación para diferentes plataformas.

En el caso de Gradle, tanto la gestión de dependencias, como el de construcción de aplicaciones, van de la mano. Ambos están configurados en el mismo conjunto de archivos.