¿Steam notifica al usuario que necesita Java para un juego cuando lo compra / descarga / instala?

8

Mi compañero y yo haremos un juego para Steam y yo, como programador, queremos usar Java, ya que es mi idioma favorito actual. Entonces, necesito saber, ¿Steam notifica al usuario que necesita Java para un juego cuando lo compra / descarga / instala?

DreddTrekkiter
fuente
44
Estoy votando para cerrar esta pregunta como fuera de tema porque se trata más de una función de Steam que del desarrollo del juego.
Y el
8
Francamente, estaría molesto si el juego que compré me obliga a instalar Java. Es un lenguaje muy poderoso y te felicito por amarlo, pero es más una relación de odio-odio para cualquier usuario promedio que tenga que estar expuesto a Java. Espere que aparezcan comentarios inflamatorios en la página de la tienda de su juego que dicen cosas como "Virus simulator 2016" o "No instalar, obliga a una versión desactualizada de Java en su máquina".
MonkeyZeus
@MonkeyZeus Por eso precisamente, las cosas como esta deberían abstraerse de los usuarios: literalmente no tienen idea de lo que están hablando. Las vulnerabilidades solo estaban en el complemento del navegador web (que nunca fue una buena idea). En cualquier caso, empaqueta tu juego para incluir todos los recursos necesarios para que se ejecute ... no asumas que el usuario tiene algo. Siga la ruta de Minecraft como ejemplo, use launch4j o install4j para construir un instalador / ejecutable incluido con el JRE incorporado. Sin vulnerabilidades de seguridad y sin problemas para el usuario.
SnakeDoc
3
Algunos juegos instalan .NET para usted en el primer lanzamiento.
user253751
1
@immibis Tienes razón, PERO solo se necesita un usuario semi-educado que haya tenido una mala experiencia con el virus Java de un sitio web sombrío para publicar un comentario que reciba una gran cantidad de votos u obtenga el estado "gracioso". Si nunca has escuchado a un chico de TI murmurar "Java malo" como un hombre de las cavernas, entonces eres una excepción en este mundo. Además, pedirle al usuario que descargue algo sugiere una gran capacidad de pago del usuario, especialmente teniendo en cuenta cuántos sitios intentarían engañarlo para que instale un virus en lugar de lo real.
MonkeyZeus

Respuestas:

18

Para responder a su pregunta directamente, no Steam no notifica al comprador que el juego necesita que se instale Java Runtime Environment de Oracle para jugar. Esto se debe a que no debería ser necesario, cualquier juego que dependa del JRE lo descargará e instalará como parte del procedimiento normal de instalación de Steam. Esto no es diferente a los juegos que dependen de Visual Studio, DirectX o .NET runtime de Microsoft. Incluso hay un depósito JRE estándar que puede usar.

Dicho esto, personalmente me niego a comprar o instalar cualquier juego que dependa del JRE de Oracle. No quiero tener que lidiar con esas tonterías. Una ruta alternativa seguiría el ejemplo de Minecraft e incluiría una máquina virtual Java como parte del juego en sí. Es decir, en lugar de instalar una VM para que todas las aplicaciones Java en la máquina las usen, como con Oracle JRE, instala una VM al lado de su juego que solo usa su juego. No creo que puedas hacer esto con Oracle JRE, creo que Minecraft usa uno basado en OpenJDK.

Por otro lado, si recién está comenzando, probablemente debería tomar la ruta fácil y usar la instalación estándar de Oracle JRE, y simplemente aceptar que a algunas personas no les gustará eso.

Ross Ridge
fuente
2
+1 para la respuesta directa. Como anexo, hay una lista de JVM alternativas @ en.wikipedia.org/wiki/List_of_Java_virtual_machines
Pikalek
14

Esto no es una respuesta, pero algunos puntos a considerar. No cabía en el cuadro de comentarios.

Creo que incluso si usaras c ++, necesitarías enviar tu juego con un montón de Redistribuible , al menos en Windows. A menos que pueda lograr no usar las herramientas de Visual Studio y demás. No sé qué pasa con los usuarios de Mac.

Y si vas con Java, creo que habría una forma de enviar la JVM con tu juego. Esto aumentaría el tamaño de descarga, pero aseguraría

  1. que el cliente tiene un jvm y
  2. que el cliente tiene la versión jvm correcta para tu juego

Tenga en cuenta que ya es necesario enviar la JVM con el juego si está distribuyendo a través de Mac App Store, por lo que si planea distribuir más allá de Steam, esto puede ser necesario de todos modos.

Vaillancourt
fuente
1
Probablemente. Sin embargo, no estoy tan bien informado en ese campo. Buscaría un poco más en la web. Quizás esto podría ser de su interés.
Vaillancourt
2
O simplemente use C. Es rápido, de bajo nivel y un dolor para codificar cosas gráficas.
wizzwizz4
2
@AlexandreVaillancourt Dijiste "Creo que habría una forma de enviar la JVM con el juego". Es absolutamente posible Si bien no es un juego, lo hago con mi aplicación Java usando launch4j . Sé que existen otras herramientas que pueden hacer lo mismo.
Thunderforge
3
La mayoría de las vulnerabilidades de Java solo se refieren a applets de Java y cuando se ejecuta código no confiable. Si descarga y ejecuta un juego localmente, ya debe confiar en que no hará nada malicioso. No creo que haya más riesgo inherente al usar java que al usar cualquier otro marco / motor / tecnología.
kapex
2
kapep SnakeDoc Actualicé la respuesta.
Vaillancourt