stringtranslate.com

libGDX

libGDX es un marco de desarrollo de aplicaciones de juegos gratuito y de código abierto [3] [2] 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, compatible con Windows , Linux , macOS , Android , iOS , BlackBerry y navegadores web con soporte WebGL . [2] [6]

Historia

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

En marzo de 2010, Zechner decidió convertir AFX en código abierto y alojarlo en Google Code bajo la licencia pública general reducida de GNU (LGPL). Sin embargo, en ese momento declaró que "de todos modos, no es la intención del marco de trabajo que se utilice para crear juegos de escritorio", y que su objetivo era que el marco de trabajo se orientara principalmente a Android. En abril, consiguió su primer colaborador. [1] [7]

Cuando Zechner creó un contenedor JNI para Box2D , esto atrajo a más usuarios y colaboradores 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 adecuada para Android, libGDX cambió su licencia a la Licencia Apache 2.0 en julio de 2010, lo que hizo posible usar 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 del escritorio de audio cambió a OpenAL en enero de 2011. [1] [10] También se terminó 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 se dedicó a agregar una biblioteca de interfaz de usuario [12] y a trabajar en los aspectos 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 meses siguientes. [1]

Inspirado por el marco de desarrollo de juegos multiplataforma PlayN de Google que usaba Google Web Toolkit (GWT) para compilar código Java a JavaScript , Zechner escribió un backend HTML /JavaScript en el transcurso de varias semanas, que permitió que las aplicaciones libGDX se ejecutaran en cualquier navegador con soporte WebGL . [1] Después de que Google abandonara PlayN, fue mantenido por Michael Bayne, quien le agregó soporte para iOS . libGDX usó 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 otro año. El sistema de compilación principal también se cambió a Maven , lo que facilitó el trabajo conjunto de los desarrolladores con diferentes IDE . [1] [18] [19]

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

En junio de 2013 se rehizo el sitio web del proyecto, que ahora incluye 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 compilación y dependencias 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 se lanzó 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 del premio anual 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 navegadores Android, iOS y compatibles con WebGL, algo que no está ampliamente disponible en este momento. El objetivo de libGDX, dice el creador Mario Zechner, "es cumplir con 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 2014 [30]

En abril de 2016 se anunció que libGDX cambiaría al Multi-OS Engine 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, Multi-OS se proporciona como una alternativa, mientras que de forma predeterminada la biblioteca usa su propia bifurcación de la versión de código abierto de RoboVM. [33] [34]

Mermelada de libGDX

Del 18 de diciembre de 2015 al 18 de enero de 2016 se organizó un concurso de juegos libGDX junto con RoboVM , itch.io y Robotality. De las 180 propuestas temáticas iniciales, se eligió "La vida en el espacio" como tema principal del concurso y se crearon 83 juegos a lo largo de la competición. [35] [36]

Versiones de lanzamiento

Arquitectura

libGDX permite al desarrollador escribir, probar y depurar su aplicación en su propio PC de escritorio y utilizar el mismo código en Android. Elimina 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 tanto como sea posible mientras se verifica periódicamente que el proyecto aún funciona en Android. Su objetivo principal es proporcionar 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 para las clases de inicio (también llamadas lanzadores) que requieren una configuración diferente según el backend. [50]

Otros lenguajes de JVM

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

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 los juegos, entre ellos la búsqueda de rutas , la toma de decisiones y el movimiento. [56] [57]

gdx tipo libre

Se puede utilizar para renderizar 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. [58]

Caja 2D

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] [59]

empaquetador

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

Juegos notables

Véase también

Referencias

  1. ^ abcdefghijklmnopqrstu v 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 su licencia». badlogicgames.com . Consultado el 31 de diciembre de 2015 .
  9. ^ Zechner, Mario (10 de julio de 2010). "Forums!". badlogicgames.com . Consultado el 3 de enero de 2016 .
  10. ^ Zechner, Mario (21 de enero de 2011). "OpenAL y carga de archivos nativos 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). "UI Fun on Android with 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). "Crea fuentes de mapas de bits al vuelo 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 y 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 & 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 libgdx de RoboVM 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árense, nueva API 3D en camino". 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). "¡Ya está disponible el nuevo sitio de libgdx!". 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). "La gran migración de Github a Wiki y al sistema de seguimiento de problemas de libgdx". badlogicgames.com . Consultado el 6 de enero de 2016 .
  27. ^ Zechner, Mario (22 de septiembre de 2013). "Bienvenido 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 Award 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 Award». badlogicgames.com . Consultado el 30 de diciembre de 2015 .
  30. ^ Gill, Philip J. "2014 Duke's Choice Awards". Revista Java . p. 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 Winding Down». 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). «LibGDX 1.9.3 lanzado: nuevos backends para iOS» . Consultado el 17 de mayo de 2016 .
  34. ^ "Bifurcación de 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 – And the winner is…». 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 publicado». 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. ^ damios (17 de octubre de 2024). «libGDX 1.13.0». libgdx.com . Consultado el 21 de octubre de 2024 .
  50. ^ "Clases de inicio y configuración - libGDX". libgdx.com . Consultado el 18 de enero de 2022 .
  51. ^ Zechner, Mario (5 de enero de 2016). «libGDX 1.8.0». badlogicgames.com . Consultado el 11 de enero de 2016 .
  52. ^ Zechner, Mario (12 de marzo de 2012). "Libgdx se pasa a HTML5". badlogicgames.com . Consultado el 17 de mayo de 2016 .
  53. ^ Zechner, Mario (19 de enero de 2013). "Reflexión en el backend GWT de libgdx". badlogicgames.com . Consultado el 17 de mayo de 2016 .
  54. ^ Zechner, Mario (17 de junio de 2013). "Reflection API with GWT support!". badlogicgames.com . Consultado el 17 de mayo de 2016 .
  55. ^ "Uso de libgdx con otros lenguajes jvm". libgdx.com . Consultado el 18 de enero de 2022 .
  56. ^ "gdx-ai/README.md". github.com . 12 de octubre de 2015 . Consultado el 16 de enero de 2016 .
  57. ^ "Inteligencia artificial". libgdx.com . Consultado el 18 de enero de 2022 .
  58. ^ "Gdx freetype". libgdx.com . Consultado el 18 de enero de 2022 .
  59. ^ "Box2d". libgdx.com . Consultado el 18 de enero de 2022 .
  60. ^ "libgdx/packr: Empaqueta su JAR, activos y una JVM para distribución en Windows, Linux y Mac OS X". github.com . Consultado el 6 de febrero de 2016 .
  61. ^ Zechner, Mario (4 de mayo de 2014). «Packr: empaqueta tu aplicación libGDX para Windows, Linux y Mac OS X». badlogicgames.com . Archivado desde el original el 27 de abril de 2020. Consultado el 6 de febrero de 2016 .
  62. ^ 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 .
  63. ^ "Notas del parche - Wiki de Wildermyth". wildermyth.com . Consultado el 23 de agosto de 2022 .

Enlaces externos