Als jemand, der kürzlich ein libGDX-Spiel auf Steam veröffentlicht hat, bietet Steam im Gegensatz zu .NET und DirectX keine Option für Ihre Anwendung, um die von Ihnen benötigte Version dieser Bibliotheken automatisch zu überprüfen und herunterzuladen.
Es ist für den Benutzer aufdringlich, Java als Systembibliothek zu installieren, da die meisten die JRE, insbesondere die von Oracle, immer noch als eine Art Adware- / Sicherheitslücke betrachten und nicht möchten, dass sie auf ihrem Computer installiert wird. Es gibt immer noch ein Stigma in Bezug auf Java-Anwendungen auf dem Desktop, daher müssen Sie den Benutzer berücksichtigen.
Ich empfehle die Verwendung der Packr-Anwendung von libgdx , die Ihr JAR und Ihre Ressourcen automatisch mit einem geeigneten, privaten OpenJDK verpackt , das für die Verwendung und Verteilung mit Ihrer Software geöffnet ist. Alternativ können Sie dies manuell tun, indem Sie den inoffiziellen OpenJDK-Build , den sie in packr verwenden, abrufen und in Ihr Projekt aufnehmen.
Ich persönlich mache diese letztere Option, da ich die neueste Version heruntergeladen und alles gepackt habe, einschließlich der Verteilung an Steam, alles im Gradle-Build-Skript meines Projekts.
Das Einbeziehen Ihres eigenen JRE / JDK ist leichtgewichtig, fügt Ihrem Spiel nur etwa 80 MB hinzu und ist nicht invasiv. Dies stellt auch sicher, dass die Java-Version, mit der Sie Ihre Anwendung ausführen, immer die Version ist, die Sie benötigen, anstatt mit dem System in Konflikt zu geraten.
Bearbeiten: 13. März 2017
Seit etwas mehr als einem Jahr verwende ich Azul's OpenJRE anstelle der inoffiziellen Builds von Alexkasko. Sie sind weit verbreitet und werden auch in Unternehmensumgebungen unterstützt. Außerdem unterstützen sie Java 8 und höher, wobei zum Zeitpunkt meines Wechsels die inoffiziellen Build-Repository-Versionen bei Java 7 stecken blieben.
Seit meinem Wechsel gibt es jetzt auch ein Open-Source-Repository , das weiterhin von der Community erstellte Versionen von openjdk / jre bereitstellt, wenn Sie dies stattdessen verwenden möchten. Beide sind gut.
Einige Benutzer haben möglicherweise kein Java installiert, und ich glaube nicht, dass Steam eine native Methode zum Überprüfen / Installieren von Java bietet, da dies für den Benutzer irritierend wäre und nur eine kleine Minderheit der Spiele auf Steam Java benötigt.
Versuchen Sie, eine tragbare Java-Laufzeitumgebung einzuschließen, damit Sie immer über eine konsistente Java-Version verfügen, auf der Sie das Spiel ausführen können. Ich bin sicher, dass es einige gibt, die Ihren Anforderungen entsprechen.
quelle
Die Java-Entwicklung kann in Bezug auf die Bereitstellung ein Albtraum sein. Es gibt jedoch Tools, die dies vereinfachen.
Sie können beispielsweise ein Tool verwenden
Launch4j
, um Ihr endgültiges Spiel zu verpacken. Optional können Sie festlegen, dass die JRE eingeschlossen werden soll (oder nicht), um eine vollständig in sich geschlossene Binärdatei zu erstellen.Auf diese Weise ist es Ihnen egal, ob oder welche JREs der Client installiert hat. Sie packen einfach Ihre App und versenden sie. Der Nachteil ist, dass Ihre endgültige Binärdatei deutlich größer ist.
quelle