stringtranslate.com

libGDX


libGDX es un marco de aplicación de desarrollo de juegos [2] gratuito y de código abierto [3] escrito en el lenguaje de programación Java con algunos componentes C y C++ para código dependiente del rendimiento. [4] Permite el desarrollo de juegos de escritorio y móviles utilizando la misma base de código. [5] Es multiplataforma y admite Windows , Linux , Mac OS X , Android , iOS , BlackBerry y navegadores web con soporte WebGL . [2] [6]

Historia

A mediados de 2009, Mario Zechner, el creador de libGDX, quería escribir juegos para Android y comenzó a desarrollar un marco llamado AFX (Android Effects) para ello. Cuando descubrió que implementar los cambios desde el escritorio al dispositivo Android era engorroso, modificó AFX para que también funcionara en el escritorio, lo que facilitó la prueba de programas. Este fue el primer paso hacia el marco del juego conocido más tarde como libGDX. [1]

En marzo de 2010, Zechner decidió abrir AFX de código abierto y alojarlo en Google Code bajo la Licencia pública general reducida (LGPL) de GNU. Sin embargo, en ese momento afirmó que "de todos modos, no es la intención del marco usarse para crear juegos de escritorio", con la intención de que el marco esté dirigido principalmente a Android. En abril consiguió su primer colaborador. [1] [7]

Cuando Zechner creó un contenedor Box2D JNI , esto atrajo a más usuarios y contribuyentes porque los juegos de física eran populares en ese momento. [ se necesita una mejor fuente ] Muchos de los problemas con Android se resolvieron gracias a esto. [1]

Debido a que muchos usuarios sugirieron cambiar a una licencia diferente debido a que LGPL no era adecuado para Android, libGDX cambió su licencia a la Licencia Apache 2.0 en julio de 2010, lo que hizo posible utilizar el marco en juegos comerciales de código cerrado. [1] [8] El mismo mes se lanzó su foro phpBB . [1] [9]

Debido a problemas con Java Sound, la implementación de escritorio de audio cambió a OpenAL en enero de 2011. [1] [10] También se completó el desarrollo de una pequeña biblioteca de manipulación de imágenes llamada Gdx2D, que depende de la biblioteca STB de código abierto. [1] [11]

El resto de 2011 lo dedicamos a agregar una biblioteca de interfaz de usuario [12] y a trabajar en los conceptos básicos de una API 3D. [1]

A principios de 2012, Zechner creó una pequeña biblioteca auxiliar llamada gdx-jnigen para facilitar el desarrollo de enlaces JNI. [1] [13] Esto hizo posible que las extensiones gdx-audio [14] y gdx-freetype [15] se desarrollaran durante los siguientes meses. [1]

Inspirándose en el marco de desarrollo de juegos multiplataforma PlayN de Google que utilizaba Google Web Toolkit (GWT) para compilar código Java a JavaScript , Zechner escribió un backend HTML /JavaScript en el transcurso de varias semanas, lo que permitió ejecutar aplicaciones libGDX en cualquier Navegador con soporte WebGL . [1] Después de que Google abandonó PlayN, Michael Bayne lo mantuvo y le agregó soporte para iOS . libGDX utilizó partes de este trabajo para su propio backend basado en MonoTouch . [1] [16] [17]

En agosto de 2012, el proyecto cambió su sistema de control de versiones de Subversion a Git , pasando de Google Code a GitHub . Sin embargo, el rastreador de problemas y la wiki permanecieron en Google Code durante un año más. El sistema de compilación principal también se cambió a Maven , lo que facilita el trabajo conjunto para los desarrolladores con diferentes IDE . [1] [18] [19]

Debido a problemas con el backend de MonoTouch iOS, Niklas Thernig escribió un backend de RoboVM para libGDX en marzo de 2013, que se integró en el proyecto en septiembre. [1] [20] [21] De marzo a mayo de 2013 también se desarrolló una nueva API 3D que se integró en la biblioteca. [1] [22] [23]

En junio de 2013, se rehizo el sitio web del proyecto y ahora presenta una galería donde los usuarios pueden enviar sus juegos creados con libGDX. [1] [24] Hasta enero de 2016 se han enviado más de 3000 juegos. [25]

Después de la migración del código fuente a GitHub el año anterior, en septiembre de 2013, el rastreador de problemas y la wiki también se trasladaron allí desde Google Code. [1] [26] El mismo mes, el sistema de gestión de dependencias y compilación se cambió de Maven a Gradle . [1] [27]

Después de una fase de limpieza en los primeros meses de 2014, la versión 1.0 de libGDX fue lanzada el 20 de abril, más de cuatro años después del inicio del proyecto. [1]

En 2014, libGDX fue uno de los ganadores anuales del premio Duke's Choice Award, siendo elegido por su enfoque en la independencia de la plataforma. [28] [29]

De un equipo diverso de entusiastas del código abierto surge libGDX, un marco de desarrollo de juegos multiplataforma que permite a los programadores escribir, probar y depurar juegos Java en una PC de escritorio con Windows, Linux o Mac OS X e implementar ese mismo código en Android. , iOS y navegadores compatibles con WebGL, algo que no está ampliamente disponible en este momento. El objetivo de libGDX, dice el creador Mario Zechner, "es cumplir la promesa de 'escribir una vez, ejecutar en cualquier lugar' de la plataforma Java específicamente para el desarrollo de juegos".

—  Revista Java septiembre/octubre de 2014 [30]

En abril de 2016 se anunció que libGDX cambiaría al motor Multi-OS de Intel en el backend de iOS después de la discontinuación de RoboVM. [31] [32] Con el lanzamiento de libGDX 1.9.3 el 16 de mayo de 2016, se proporciona Multi-OS como alternativa, mientras que, de forma predeterminada, la biblioteca utiliza su propia bifurcación de la versión de código abierto de RoboVM. [33] [34]

Atasco libGDX

Del 18 de diciembre de 2015 al 18 de enero de 2016 se organizó un game jam de libGDX junto con RoboVM , itch.io y Robotality. De las 180 propuestas iniciales, se eligió "La vida en el espacio" como tema principal del Jam y durante el concurso se crearon 83 juegos. [35] [36]

Versiones de lanzamiento

Arquitectura

libGDX permite al desarrollador escribir, probar y depurar su aplicación en su propia PC de escritorio y usar el mismo código en Android. Resume las diferencias entre una aplicación común de Windows/Linux y una aplicación de Android. El ciclo de desarrollo habitual consiste en permanecer en el PC de escritorio el mayor tiempo posible mientras se verifica periódicamente que el proyecto aún funciona en Android. Su principal objetivo es brindar compatibilidad total entre dispositivos de escritorio y móviles, siendo la principal diferencia la velocidad y la potencia de procesamiento. [5]

backends

La biblioteca utiliza de forma transparente código específico de la plataforma a través de varios backends para acceder a las capacidades de la plataforma anfitriona. La mayoría de las veces, el desarrollador no tiene que escribir código específico de la plataforma, excepto las clases iniciales (también llamadas lanzadores) que requieren una configuración diferente según el backend. [49]

Otros lenguajes JVM

Si bien libGDX está escrito principalmente en Java , el código de bytes compilado es independiente del idioma, lo que permite que muchos otros lenguajes JVM utilicen directamente la biblioteca. La documentación establece específicamente la interoperabilidad con Ceylon , Clojure , Kotlin , Jython , JRuby y Scala . [54]

Extensiones

Existen varias extensiones oficiales y de terceros que agregan funcionalidad adicional a la biblioteca.

gdxAI

Un marco de inteligencia artificial (IA) que se separó de la biblioteca principal con la versión 1.4.1 en octubre de 2014 y se trasladó a su propio repositorio. Si bien inicialmente se creó para libGDX, también se puede usar con otros marcos. El proyecto se centra en la IA útil para juegos, entre ellos la búsqueda de caminos , la toma de decisiones y el movimiento. [55] [56]

tipo libre gdx

Se puede utilizar para representar fuentes FreeType en tiempo de ejecución en lugar de utilizar imágenes de mapa de bits estáticas , que no se escalan tan bien. [57]

Caja2D

En 2010 se introdujo un contenedor para la biblioteca de física Box2D y se trasladó a una extensión con la versión 1.0. [1] [58]

empacador

Una herramienta auxiliar que incluye un JRE personalizado con la aplicación para que los usuarios finales no tengan que tener uno propio instalado. [59] [60]

Juegos notables

Ver también

Referencias

  1. ^ abcdefghijklmnopqrstu contra Zechner, Mario (20 de abril de 2014). "LibGDX 1.0 lanzado". badlogicgames.com . Archivado desde el original el 13 de febrero de 2021 . Consultado el 31 de diciembre de 2015 .
  2. ^ abcd "Objetivos y características". libgdx.badlogicgames.com . Archivado desde el original el 6 de junio de 2012 . Consultado el 16 de diciembre de 2015 .
  3. ^ "Sitio web oficial". libgdx.badlogicgames.com . Archivado desde el original el 27 de mayo de 2011 . Consultado el 2 de enero de 2016 .
  4. ^ "mobilegameengines.com/game_engines/32-libgdx". Archivado desde el original el 18 de enero de 2015.
  5. ^ ab "Inicio - libGDX". libgdx.com .
  6. ^ "libgdx/README.md en master". github.com .
  7. ^ Zechner, Mario (6 de marzo de 2010). "El futuro..." badlogicgames.com . Consultado el 31 de diciembre de 2015 .
  8. ^ Zechner, Mario (13 de julio de 2010). "libgdx cambia de licencia". badlogicgames.com . Consultado el 31 de diciembre de 2015 .
  9. ^ Zechner, Mario (10 de julio de 2010). "¡Foros!". badlogicgames.com . Consultado el 3 de enero de 2016 .
  10. ^ Zechner, Mario (21 de enero de 2011). "OpenAL y nativos cargando en Libgdx". badlogicgames.com . Consultado el 3 de enero de 2016 .
  11. ^ Zechner, Mario (26 de enero de 2011). "Gdx2D y Super Jumper". badlogicgames.com . Consultado el 3 de enero de 2016 .
  12. ^ Zechner, Mario (25 de junio de 2011). "Diversión UI en Android con libgdx". badlogicgames.com . Consultado el 3 de enero de 2016 .
  13. ^ Zechner, Mario (3 de enero de 2012). "gdx-jnigen: una idea estúpida que podría funcionar". badlogicgames.com . Consultado el 3 de enero de 2016 .
  14. ^ Zechner, Mario (8 de enero de 2012). "gdx-audio". badlogicgames.com . Consultado el 3 de enero de 2016 .
  15. ^ Zechner, Mario (6 de marzo de 2012). "Cree BitmapsFonts sobre la marcha con gdx-freetype". badlogicgames.com . Consultado el 3 de enero de 2016 .
  16. ^ Zechner, Mario (8 de junio de 2012). "Libgdx en iOS, días 1 a 2". badlogicgames.com . Consultado el 3 de enero de 2016 .
  17. ^ Zechner, Mario (13 de junio de 2012). "Libgdx en iOS, día 5". badlogicgames.com . Consultado el 3 de enero de 2016 .
  18. ^ Zechner, Mario (8 de agosto de 2012). "Git y Maven". badlogicgames.com . Consultado el 4 de enero de 2016 .
  19. ^ Zechner, Mario (10 de agosto de 2012). "Libgdx ahora está en Github (más o menos)". badlogicgames.com . Consultado el 4 de enero de 2016 .
  20. ^ Zechner, Mario (9 de marzo de 2013). "Backend de RoboVM libgdx en etapa inicial". badlogicgames.com . Consultado el 6 de enero de 2016 .
  21. ^ Zechner, Mario (10 de septiembre de 2013). "¡Backend de RoboVM en libgdx nightlies y primeras cifras de rendimiento!". badlogicgames.com . Consultado el 6 de enero de 2016 .
  22. ^ Zechner, Mario (28 de marzo de 2013). "Prepárate, llega una nueva API 3D". badlogicgames.com . Consultado el 6 de enero de 2016 .
  23. ^ Zechner, Mario (20 de mayo de 2013). "Nueva API 3D en master". badlogicgames.com . Consultado el 6 de enero de 2016 .
  24. ^ Zechner, Mario (29 de junio de 2013). "¡Nuevo sitio libgdx disponible!". badlogicgames.com . Consultado el 6 de enero de 2016 .
  25. ^ "Galería". libgdx.badlogicgames.com . Consultado el 6 de enero de 2016 .
  26. ^ Zechner, Mario (14 de septiembre de 2013). "El gran rastreador de problemas de libgdx y migración de Wiki Github". badlogicgames.com . Consultado el 6 de enero de 2016 .
  27. ^ Zechner, Mario (22 de septiembre de 2013). "Dale la bienvenida a tu nuevo señor supremo: Gradle". badlogicgames.com . Consultado el 6 de enero de 2016 .
  28. ^ Kvitkar, Caroline (28 de septiembre de 2014). "Ganadores del premio Duke's Choice 2014". blogs.oracle.com . Consultado el 30 de diciembre de 2015 . Los programadores pueden utilizar este marco de desarrollo de juegos multiplataforma para escribir, probar y depurar juegos Java.
  29. ^ Zechner, Mario (29 de septiembre de 2014). "libgdx gana el premio Duke's Choice". badlogicgames.com . Consultado el 30 de diciembre de 2015 .
  30. ^ Gill, Philip J. "Premios Duke's Choice 2014". Revista Java . pag. 8 . Consultado el 31 de diciembre de 2015 .
  31. ^ ab Zechner, Mario (15 de abril de 2016). "RoboVM ya no existe, ¿y ahora qué?". Archivado desde el original el 8 de noviembre de 2020 . Consultado el 15 de abril de 2016 .
  32. ^ Müller, Henric (15 de abril de 2016). "RoboVM está llegando a su fin". Archivado desde el original el 15 de abril de 2016 . Consultado el 16 de abril de 2016 .
  33. ^ ab Zechner, Mario (16 de mayo de 2016). "Lanzamiento de libGDX 1.9.3: nuevos backends de iOS" . Consultado el 17 de mayo de 2016 .
  34. ^ "Bifurcación RoboVM de MobiDevelop" . Consultado el 17 de mayo de 2016 .
  35. ^ Zechner, Mario (22 de noviembre de 2015). "¡LibGDX Jam está en marcha! - Ronda de votación temática n.º 1". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  36. ^ Zechner, Mario (6 de febrero de 2016). "libGDX Jam - Y el ganador es...". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  37. ^ Zechner, Mario (23 de mayo de 2014). "LibGDX 1.1.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  38. ^ Zechner, Mario (22 de junio de 2014). "LibGDX 1.2.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  39. ^ Zechner, Mario (9 de agosto de 2014). "LibGDX 1.3.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  40. ^ Zechner, Mario (10 de octubre de 2014). "LibGDX 1.4.1 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  41. ^ Zechner, Mario (8 de diciembre de 2014). "LibGDX 1.5.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  42. ^ Zechner, Mario (6 de mayo de 2015). "LibGDX 1.6.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  43. ^ Zechner, Mario (21 de septiembre de 2015). "LibGDX 1.7.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  44. ^ Zechner, Mario (5 de enero de 2016). "LibGDX 1.8.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  45. ^ Zechner, Mario (24 de enero de 2016). "LibGDX 1.9.0 lanzado". badlogicgames.com . Consultado el 13 de febrero de 2016 .
  46. ^ damios (18 de abril de 2021). "libGDX 1.10.0". libgdx.com . Consultado el 19 de abril de 2021 .
  47. ^ damios (11 de mayo de 2022). "libGDX 1.11.0". libgdx.com . Consultado el 12 de mayo de 2022 .
  48. ^ damios (2 de julio de 2023). "libGDX 1.12.0". libgdx.com . Consultado el 24 de julio de 2023 .
  49. ^ "Clases de inicio y configuración - libGDX". libgdx.com . Consultado el 18 de enero de 2022 .
  50. ^ Zechner, Mario (5 de enero de 2016). "libGDX 1.8.0". badlogicgames.com . Consultado el 11 de enero de 2016 .
  51. ^ Zechner, Mario (12 de marzo de 2012). "Libgdx se vuelve HTML5". badlogicgames.com . Consultado el 17 de mayo de 2016 .
  52. ^ Zechner, Mario (19 de enero de 2013). "Reflexión en el backend GWT de libgdx". badlogicgames.com . Consultado el 17 de mayo de 2016 .
  53. ^ Zechner, Mario (17 de junio de 2013). "¡API Reflection con soporte GWT!". badlogicgames.com . Consultado el 17 de mayo de 2016 .
  54. ^ "Uso de libgdx con otros lenguajes jvm". libgdx.com . Consultado el 18 de enero de 2022 .
  55. ^ "gdx-ai/README.md". github.com . 12 de octubre de 2015 . Consultado el 16 de enero de 2016 .
  56. ^ "Inteligencia artificial". libgdx.com . Consultado el 18 de enero de 2022 .
  57. ^ "Tipo libre Gdx". libgdx.com . Consultado el 18 de enero de 2022 .
  58. ^ "Cuadro2d". libgdx.com . Consultado el 18 de enero de 2022 .
  59. ^ "libgdx/packr: empaqueta su JAR, activos y una JVM para distribuir en Windows, Linux y Mac OS X". github.com . Consultado el 6 de febrero de 2016 .
  60. ^ Zechner, Mario (4 de mayo de 2014). "Packr: empaquete su aplicación libGDX para Windows, Linux, Mac OS X". badlogicgames.com . Archivado desde el original el 27 de abril de 2020 . Consultado el 6 de febrero de 2016 .
  61. ^ Couture, Joel (22 de enero de 2020). "Camino al IGF: Slay the Spire de Mega Crit Games". www.gamasutra.com . Consultado el 22 de enero de 2020 .
  62. ^ "Notas del parche - Wildermyth Wiki". wildermyth.com . Consultado el 23 de agosto de 2022 .

enlaces externos