Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies. OK | Más información

Libgdx una interesante opción multiplataforma

Para esta entrada le pedimos a Daniel Rodríguez (Makigas), todo un experto en la materia, que nos ayudara a comprender las ventajas de utilizar Libgdx, un framework para Java, que está siendo muy utilizado para desarrollar juegos para escritorio y para móviles.

Una de las características más prometedoras en el desarrollo de juegos de los últimos años es la cantidad de dispositivos en los que un juego puede ejecutarse. Desde disfrutar de los juegos en la comodidad del ordenador de casa, hasta tener juegos en el teléfono móvil o en la tablet que pueden ser jugados en cualquier parte del mundo y a cualquier hora, son muchas las posibilidades.

El concepto de múltiples plataformas tampoco es ninguna novedad. De toda la vida siempre ha habido más de un sistema en el que ejecutar juegos. Distintas consolas, distintos sistemas operativos… Tradicionalmente, conseguir que un juego pudiese ser usado en más de una plataforma requería de un esfuerzo adicional en portar el juego, entendiendo las diferencias entre una arquitectura y otra y haciendo frente a limitaciones.

Sin embargo, en los últimos años han aparecido proyectos destinados a simplificar ese esfuerzo que tenemos que hacer para conseguir que un juego que en una plataforma funciona, lo haga también en otra. Y lo que estos proyectos se proponen es hacer más fácil que un juego se ejecute en varios sistemas desde incluso antes de que el juego comience a gestarse, haciendo uso de frameworks y librerías multiplataforma para desarrollar el juego.

En este artículo nos centramos en libGDX, una librería desarrollada en Java que permite construir juegos que funcionen tanto en ordenadores de escritorio, como en teléfonos móviles, como en los navegadores web actuales, de modo que nuestra creación pueda llegar a la mayor cantidad de público posible.

libGDX

Para ello, libGDX ofrece a los desarrolladores del juego una API que permite hacer todo tipo de cosas en el juego, como trabajar con gráficos, recoger la entrada del usuario desde teclas, ratón o el propio dedo en una pantalla táctil, y cargar archivos, entre otras cosas. Y todo ello, independiente de cualquier dispositivo. Es decir, el programador que use libGDX para hacer su juego se centra en simplemente pedir un recurso o dibujar una imagen, sin preocuparse de en qué plataforma quiere hacerlo.

Para poder ejecutar el juego, libGDX tiene una serie de backends. Cada plataforma tiene su propio backend, y es el backend el que sabe cómo hacer cada cosa con cada plataforma concreta. Por ejemplo, el backend de Windows sabe cómo presentar nuestro juego en una ventana de Windows, y el backend de Android sabe cómo mostrar el juego en la pantalla de nuestro móvil. Nuestro juego usa la librería principal de libGDX, y ésta sabe hablar con el backend.

Algunas plataformas tienen backends especiales. Es el caso de iOS, que no se lleva bien con Java, pero que es compatible con libGDX gracias a RoboVM; o el navegador web, que usa GWT para convertir el código Java a JavaScript y así usar HTML5 (¡nada de applets Java!).

Plataformas de libGDX

Entre las ventajas que aporta usar libGDX, la que se viene comentando desde el principio de poder hacer un juego que se ejecute en más de una plataforma sin apenas esfuerzo. Esto facilita llegar a más público. Además de esto, como consecuencia, otra ventaja es lo fácil que se vuelve el desarrollo, en parte porque no es necesario aprender a desarrollar aplicaciones para todas las plataformas que vayamos a usar, si no que basta con aprender a usar una librería Java y dejar que esa librería se ocupe de lo demás.

No obstante, no todo es un camino de rosas en libGDX. La documentación oficial de libGDX está un poco revuelta y pese a que algunas partes tienen muy buena documentación, otras no tienen tan buena documentación. En parte, este problema queda aliviado gracias a la comunidad que hay detrás de la librería. Numerosos desarrolladores han escrito tutoriales y libros pensados para ayudar a los más nuevos a poder exprimir lo máximo la plataforma para poder construir juegos avanzados.

Entre la extensión de esta librería en el mundo real, existen algunos juegos de calibre desarrollados con libGDX. Uno de ellos es Ingress, el popular juego de realidad virtual desarrollado por Niantic y propiedad también, hasta hace muy poco, de Google. Gracias a la librería es capaz de usar la misma base de código para funcionar exactamente igual en Android y en iOS.

Pese a esto, los más beneficiados por la existencia de esta librería son los desarrolladores indies y sobre todo los nuevos desarrolladores, ya que les permite comenzar a explorar su potencial sin tener que invertir mucho tiempo en aprender a programar para plataformas avanzadas. En la galería de la página web de libGDX puedes encontrar numerosos ejemplos de juegos desarrollados con esta librería.

Galería de libGDX

A continuación, os dejamos los vídeos que Daniel Rodríguez ha publicado sobre Libgdx por si pudieran seros de utilidad y por si os animan a probar este framework.

Canal de Youtube | Makigas
Perfil en Twitter | Dani Rodríguez
Página oficial | libGDX

Coméntalo en: Twitter Facebook Google +