Los desarrolladores de juegos generalmente no les gusta Java.
Con la única excepción notable de Minecraft, muy pocos juegos importantes están escritos en Java. Esto incluye juegos escritos para Android.
Según mis observaciones, la mayoría de los juegos en Android e iOS están escritos en uno de:
- Cómo construir una aplicación móvil con una inversión mínima
- ¿Cómo podemos programar un móvil?
- ¿La aplicación móvil de Twitter es nativa o híbrida?
- ¿Cómo se cancelan las notificaciones móviles de WhatsApp cuando se leen mensajes en la web de WhatsApp?
- ¿Cuánto cuesta construir una aplicación de video chat como Azar?
- Unidad3d
- Cocos2d-x
- UE4
- Un motor C / C ++ personalizado, que a menudo incluye Lua para secuencias de comandos
… en un orden aproximado de popularidad.
Entiendo que libgdx es en realidad un motor bastante decente. Pero si has jugado Minecraft durante un período de tiempo prolongado, notarás que se bloquea periódicamente, a veces durante unos segundos a la vez.
Los desarrolladores profesionales de juegos odian este “jank”. Y es difícil de evitar debido a la forma en que Java trata con la memoria. No solo es basura recolectada, sino que muchos de los patrones de lenguaje estándar alientan asignaciones adicionales.
Por lo tanto, el trabajo que debe hacer en la administración de la memoria para evitar el jank en Java en realidad termina siendo más que el trabajo necesario para escribir el juego en C ++. Y C ++ es simplemente más rápido. Entonces Java simplemente pierde.
Si prefiere Java, probablemente sea mejor aprender C # y usar Unity3d.
Pero libgdx es una opción razonable si te gusta. Simplemente no se sorprenda si sigue siendo impopular.