Est-ce que Steam informe l'utilisateur qu'il a besoin de Java pour un jeu lorsqu'il l'achète / le télécharge / l'installe?

8

Mon compagnon et moi allons faire un jeu pour Steam et moi, en tant que programmeur, je veux utiliser Java car c'est ma langue préférée actuelle. J'ai donc besoin de savoir si Steam informe l'utilisateur qu'il a besoin de Java pour un jeu lorsqu'il l'achète / le télécharge / l'installe?

DreddTrekkiter
la source
4
Je vote pour fermer cette question comme hors sujet, car il s'agit plus d'une fonctionnalité Steam que du développement de jeux.
Mand
8
Franchement, je serais contrarié si le jeu que j'ai acheté m'obligeait à installer Java. C'est un langage très puissant et bravo à vous pour l'aimer, mais c'est plus une relation de haine-haine pour tout utilisateur moyen qui doit être exposé à Java. Attendez-vous à ce que des commentaires incendiaires apparaissent sur la page de la boutique de votre jeu qui disent des choses comme "Virus simulator 2016" ou "Ne pas installer, cela force une version obsolète de Java sur votre machine."
MonkeyZeus
@MonkeyZeus C'est précisément pourquoi des choses comme celle-ci devraient être abstraites des utilisateurs - ils n'ont littéralement aucune idée de ce dont ils parlent. Les vulnérabilités n'étaient présentes que dans le plugin du navigateur Web (ce qui n'a jamais été une bonne idée). Dans tous les cas, préparez votre jeu pour inclure toutes les ressources nécessaires à son fonctionnement ... ne supposez pas que l'utilisateur a quoi que ce soit. Suivez la route Minecraft à titre d'exemple, utilisez launch4j ou install4j pour créer un programme d'installation / exécutable groupé avec le JRE intégré. Aucune vulnérabilité de sécurité et aucun tracas pour l'utilisateur.
SnakeDoc
3
Certains jeux installent .NET pour vous dès le premier lancement.
user253751
1
@immibis Vous avez raison, MAIS il suffit d'un utilisateur semi-instruit qui a eu une mauvaise expérience avec un virus Java d'un site Web louche pour publier un commentaire qui est hautement voté ou qui obtient le statut le plus drôle. Si vous n'avez jamais entendu un informaticien marmonner "Java bad" comme un homme des cavernes, alors vous êtes une exception dans ce monde. De plus, demander à l'utilisateur de télécharger quelque chose suggère beaucoup de possibilités pour l'utilisateur, surtout si l'on considère le nombre de sites qui essaieraient de vous inciter à installer un virus plutôt que la réalité.
MonkeyZeus

Réponses:

18

Pour répondre directement à votre question, aucun Steam n'informe l'acheteur que le jeu nécessite l'installation de Java Runtime Environment d'Oracle pour jouer. C'est parce que cela ne devrait pas être nécessaire, tout jeu qui dépend du JRE le téléchargera et l'installera dans le cadre de la procédure d'installation normale de Steam. Ce n'est pas différent des jeux qui ont des dépendances sur l'exécution de Visual Studio, DirectX ou .NET de Microsoft. Il existe même un dépôt JRE standard que vous pouvez utiliser.

Cela dit, je refuse personnellement d'acheter ou d'installer un jeu qui dépend du JRE d'Oracle. Je ne veux pas avoir à faire face à ce non-sens. Une route alternative suivrait l'exemple de Minecraft et inclurait une machine virtuelle Java dans le cadre du jeu lui-même. Autrement dit, au lieu d'installer une VM pour toutes les applications Java sur la machine à utiliser, comme avec Oracle JRE, vous installez une VM côte à côte votre jeu que seul votre jeu utilise. Je ne pense pas que vous puissiez le faire avec Oracle JRE, je crois que Minecraft en utilise un basé sur OpenJDK.

D'un autre côté, si vous débutez, vous devriez probablement emprunter la voie facile et utiliser l'installation standard d'Oracle JRE, et accepter que certaines personnes n'aimeront pas cela.

Ross Ridge
la source
2
+1 pour la réponse directe. En complément, il existe une liste de JVM alternatives @ en.wikipedia.org/wiki/List_of_Java_virtual_machines
Pikalek
14

Ce n'est en aucun cas une réponse, mais quelques points à considérer. Il ne rentre pas dans la boîte de commentaires.

Je pense que même si vous utilisiez c ++, vous auriez besoin de livrer votre jeu avec un tas de Redistributable , au moins sur Windows. À moins que vous parveniez à ne pas utiliser les outils Visual Studio et autres. Je ne sais pas ce qui se passe pour les utilisateurs de Mac.

Et si vous optez pour Java, je pense qu'il y aurait un moyen d'expédier la JVM avec votre jeu. Cela augmenterait la taille du téléchargement, mais cela garantirait

  1. que le client a un jvm, et
  2. que le client a la bonne version jvm pour votre jeu

Notez qu'il est déjà nécessaire de livrer la JVM avec le jeu si vous distribuez via le Mac App Store, donc si vous prévoyez de distribuer au-delà de Steam, cela peut être nécessaire de toute façon.

Vaillancourt
la source
1
Probablement. Je ne suis cependant pas si bien informé dans ce domaine. Je chercherais un peu plus sur le Web. Peut-être que cela pourrait être vous intéresser.
Vaillancourt
2
Ou utilisez simplement C. C'est rapide, bas niveau et difficile de coder des trucs graphiques.
wizzwizz4
2
@AlexandreVaillancourt Vous avez dit "Je pense qu'il y aurait un moyen d'expédier la JVM avec le jeu". C'est absolument possible. Bien que ce ne soit pas un jeu, je le fais avec mon application Java en utilisant launch4j . Je sais qu'il existe d'autres outils qui peuvent faire de même.
Thunderforge
3
La plupart des vulnérabilités Java ne concernent que les applets Java et lors de l'exécution de code non approuvé. Si vous téléchargez et exécutez un jeu localement, vous avez déjà (vous devez) confiance qu'il ne fera rien de malveillant. Je ne pense pas qu'il y ait plus de risque inhérent à utiliser Java que d'utiliser tout autre framework / moteur / technologie.
kapex
2
kapep SnakeDoc J'ai mis à jour la réponse.
Vaillancourt