Jump to content
  • Advertisement
Sign in to follow this  
Nils 762

Running text-based java game on other computers?

This topic is 2114 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've spent the last few months developing a Text-Based Java game and recently completed it. I've compiled all the .java files into .class files and have been able to run it using command prompt. The problem is that other people on their computers cannot run it on their command prompt. I think because they don't have java JDK. So my question is how would I go about compiling my game so that other people can play it easily? Prefferably through a desktop Icon?

Share this post


Link to post
Share on other sites
Advertisement

I believe there are products that let you do that (google shows this one, for instance), but as a general rule if you want your customers to run a java program they will need the JRE. Same goes for .net, although the .net clr is pre-installed on all new versions of windows these days.

Share this post


Link to post
Share on other sites

Every user of my game would require the JRE? How would I go about giving them that? I feel like there should be some easier way :/

Share this post


Link to post
Share on other sites

Every user of my game would require the JRE? How would I go about giving them that? I feel like there should be some easier way :/

 

That's the nature of Java. When you compile a Java program, you are not creating a native executable, but rather a collection of bytcode that is intended to be executed by a virtual machine. The JRE is the standard runtime environment (including the Hotspot VM), so is perhaps the most commonly available. But there are others across a variety of platforms.

Though you will find a JRE on a large percentage of systems, not all will be the version you require. If you are using Java 7 features, for example, then someone with a version 6 JRE will not be able to execute your program without updating. There are several ways around that. The easiest, and I would speculate the least effective, would be to provide a link to the JRE download page on your game's download page. If this is just a project that you're doing for fun, it won't really hurt anything.

If you want to be serious about it, one common approach I've seen Java game developers, like Puppygames, take is to just include a private JRE in the game's installation and provide a shell script, or a small C or C++ executable, that launches it. Cas from Puppygames detailed how he does it in a post at JGO not long ago, if you want to search for it.

Additionally, there are programs out their that can package your Java apps up into a native executable configuration for you, though they vary in how they go about it. The one ChaosEngine linked above, Excelsior Jet, provides an AOT compiler that compiles everything into a native executable before the program is run (much like a C or C++ program), but it's rather expensive. Then there's Launch4j, which is free. It's a tool that launches Java apps according to a specific configuration. It can be configured to search for a specific Java version on the user's machine, or to work with a privately bundled JRE (in other words, bringing some automation to the process I described in the previous paragraph). There are similar tools to be found if you look.

So there are definitely options. I can't recommend one over another, though, as I've never used any of them myself.

Edited by Aldacron

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!