tutorial studio programacion para móviles libro español edición desarrollo curso aplicaciones java android libgdx andengine game-engine

java - studio - Cambiar de AndEngine a libgdx: ¿qué se debe saber?



manual de programacion android pdf (3)

He estado probando con AndEngine durante meses, pero todavía no he producido ningún prototipo de juego. Hay algunas razones por las que quiero cambiar a libgdx:

    - AndEngine está utilizando el contenedor INI de libgdx para Box2d, pero las actualizaciones llegan lentamente a Andengine
    - Principalmente estoy apuntando a Android, pero tener opciones para portar fácilmente a otras plataformas podría ser útil
    - Documentación! AndEngine no tiene absolutamente ninguna documentación, excepto por ejemplos.
    - Me gustaría obtener el mayor rendimiento posible y eso parece más fácil en libgdx.

Pocas cosas que me preocupan acerca de libgdx es que tendré que escribir un código de nivel inferior y que el desarrollo para el juego completo tomará más tiempo. Pero, de nuevo, a veces perdí algunos días para entender cómo funcionan algunas partes de AndEngine, así que ¿es posible que incluso escriba código más rápido con libgdx ya que está completamente documentado?

¿Qué debería saber acerca de libgdx antes de cambiar? ¿Cuál es la principal diferencia al codificar juegos y diseñar códigos?


Si tiene problemas para terminar prototipos, me concentraría en la usabilidad de sus herramientas (sobre el rendimiento, por ejemplo) para producir prototipos. Por lo tanto, la velocidad de las actualizaciones de Box2d no debería ser importante (está en buen estado). La capacidad de desarrollo en su escritorio debe ser importante (el tiempo de compilación / prueba es mucho más rápido) sin un dispositivo Android en el circuito. La documentación y los ejemplos deberían ser muy importantes. El alto rendimiento no importa en un prototipo que nunca se completa. Preocúpate por eso más tarde. (El objetivo n. ° 1 debe estar completando algo).

Libgdx tiene un amplio conjunto de bibliotecas y contenedores, principalmente alrededor de API gráficas (por ejemplo, Scene2d o SpriteBatch o la infraestructura de TiledMap). Hay una API 3d, pero todavía se está moviendo bastante rápido, y todavía no es un lugar estable para desarrollarse. Quiero decir que no tiene muchas abstracciones "gamey" (aunque sí tiene algunas), pero realmente no tengo suficiente experiencia con otras bibliotecas de nivel superior para compararlas.

En lugar de comerciar con las fallas y deficiencias de la herramienta actual para detectar las fallas y dificultades de una herramienta nueva, es mejor que se quede con la herramienta que conoce.


Tanto PT como Lestat hacen muy buenos puntos en sus respuestas. Pero para mí, creo que solo hay una cosa que debes saber sobre libgdx, que es simplemente que libgdx es un conjunto de herramientas, no un motor o un marco. Este hecho significa que no estás encerrado en una forma particular de hacer las cosas. Si quieres un micro-framework, escribe uno con libgdx. Si quiere escribir "Unity 2D", escríbalo con libgdx. Si quiere poner todo en un solo archivo, lanzando principios orientados a objetos al viento, puede hacerlo con libgdx.

  • Ayuda que esté bien documentado.
  • Ayuda que sea rápido.
  • Ayuda que tenga una comunidad sólida y bien informada.
  • Ayuda que el código fuente esté disponible y esté bien escrito.
  • Ayuda que viene con ejemplos.
  • Ayuda que sea una capa de abstracción de plataforma, por lo que el mismo código se ejecutará en múltiples plataformas.
  • Ayuda que se desarrolle activamente.

Pero, fundamentalmente, es un juego de herramientas, aunque excelente. Lo que elija hacer con ese conjunto de herramientas depende de usted.


Debe tener en cuenta las siguientes cosas:

  1. Es más eficiente, eso es un hecho y ampliamente conocido. Libgdx usa código nativo para las tareas más difíciles.
  2. El desarrollo es muy rápido, no entiendo por qué (algunas) personas dicen que se necesitan muchas líneas para realizar tareas simples, eso simplemente no es cierto. La biblioteca es de muy alto nivel con la posibilidad de programar el nivel más bajo que necesite. Especialmente la capacidad de probar en el escritorio de inmediato, en lugar de esperar a que la aplicación se despliegue en un dispositivo Android o peor ... el emulador. Eso hace que el tiempo de desarrollo sea mucho más rápido.
  3. La biblioteca da mucha libertad, puedes hacer las cosas como lo desees. Por ejemplo, hice una plantilla que uso para cada juego nuevo, eso hace que las cosas sean aún más rápidas para mí.
  4. No necesita saber opengl, androidsdk o lwjgl, en realidad solo necesita conocer las abstracciones de la biblioteca. Pero puede crear un código específico para la plataforma si es necesario. Y eso está bien documentado.
  5. complementando el punto PT, libgdx tiene un contenedor para la física box2d y la física bala (3d) que son bastante fáciles de usar (excepto la viñeta: S nah bromeando). Y yo diría que la nueva API 3D está casi completa, no cambiarán muchas cosas para la próxima versión estable, incluso leí en IRC que está prácticamente hecho. Lo uso y puedo decirte que es muy fácil de usar.

En conclusión, Libgdx es una biblioteca muy rápida para desarrollarse. Es muy eficiente y completo. Tiene una buena comunidad y ayuda, además de una gran documentación. Te recomendaría que cambies :)