Como alguien que recientemente lanzó un juego libGDX en Steam, a diferencia de .NET y DirectX, Steam no proporciona una opción con su aplicación para verificar y descargar automáticamente la versión que necesita de esas bibliotecas.
Es molesto para el usuario hacer que instale Java como una biblioteca del sistema, ya que la mayoría todavía ve el JRE, especialmente Oracle, como una especie de agujero de adware / seguridad y no quiere tenerlo instalado en su máquina. Todavía hay un estigma hacia las aplicaciones Java en el escritorio, por lo que debe ser considerado con el usuario.
Lo que recomiendo es usar la aplicación de empaquetado de libgdx , que empacará automáticamente su jar y recursos con un OpenJDK privado apropiado que está abierto para usar y distribuir con su software. Alternativamente, puede hacerlo manualmente tomando la compilación no oficial de OpenJDK que están usando en packr e incluyéndola en su proyecto.
Yo, personalmente, hago esa última opción, ya que descargué la última versión y empaqué todo, incluida la distribución a steam, todo incluido en el script de construcción de gradle de mi proyecto.
Incluir tu propio JRE / JDK es liviano, solo agrega alrededor de 80mb a tu juego y no es invasivo. Esto también asegura que la versión de Java con la que está ejecutando su aplicación es siempre la versión que necesita, en lugar de entrar en conflicto con lo que tiene el sistema.
Editar: 13 de marzo de 2017
Durante poco más de un año, he estado usando OpenJRE de Azul en lugar de las compilaciones no oficiales de alexkasko. Son ampliamente utilizados y compatibles incluso en entornos empresariales. Además, son compatibles con Java 8 y versiones posteriores, donde en el momento de mi cambio las versiones no oficiales del repositorio de compilación estaban atascadas en Java 7.
Desde que cambié, ahora también hay un repositorio de código abierto , que continúa proporcionando versiones de openjdk / jre creadas por la comunidad, si desea utilizarlo en su lugar. Ambos son buenos.
Es posible que algunos usuarios no tengan Java instalado y no creo que Steam tenga una forma nativa de verificar / instalar Java, ya que eso sería irritante para el usuario y solo una pequeña minoría de juegos en Steam requiere Java.
Intente incluir un Java Runtime Environment portátil para que siempre tenga una versión coherente de Java para ejecutar el juego, estoy seguro de que hay algunos que se adaptarán a sus necesidades.
fuente
El desarrollo de Java puede ser una pesadilla en cuanto a la implementación; pero, hay herramientas para hacer esto más fácil.
Por ejemplo, puedes usar una herramienta como
Launch4j
empaquetar tu juego final; opcionalmente, puede indicarle que incluya el JRE (o no) para crear un binario totalmente autónomo.De esta manera, no le importa si o qué JRE ha instalado el cliente; simplemente empaque su aplicación y la envíe. La desventaja es que su binario final será significativamente más grande.
fuente