Getting Feedback and Beta Testing
Generally, you want to test your game on as many different machines as possible to see how it runs on different operating systems and hardware. Even though Java is cross-platform, your game might have slight differences in the way it behaves on different operating systems; this can depend on the processor, processor speed, memory, video card, and every other piece of hardware a computer has. If you don't have access to different computers, generally you'll find enough people on the web to test the game. All you have to do is provide an easy way to download the game, such as by using Java Web Start, as mentioned earlier. During testing, before the final game is released (often called beta testing), you'll want to provide a bug-reporting e-mail address, a web form, or even a form within the game itself so that users can easily provide feedback. Providing an in-game bug-reporting tool makes it easer for the users to report bugs, and the tool can provide information about the user's environment, such as the operating system or Java version. You can get this information by using the getProperty() method of the System class. When your game is "out there," you'll be getting a lot of feedback from different people, and not just on machine-specific issues or bugs. This feedback can be one of the best methods to find ways to tune and polish your game. You'll want to get feedback on these aspects of your game:
Be sure to provide an easily accessible e-mail address, feedback form, or discussion board so people can voice their opinions and give feedback on your game. Also be aware that many people on the Internet are incapable of providing constructive criticism. Don't be offended by questionable or offensive comments. Instead, turn on your translator to interpret those comments into something meaningful! For example:
Many times, though, you'll get lots of ideas from people on how to make your game better or more intuitive to play. Be sure to listen to what they have to say, and try to implement the best ideas. But keep in mind that you don't have to implement every requested feature. If you did, the game could end up with so many features that it would be a burden to play or would just not be as fun anymore. Know when to listen to and when to ignore feedback—you've got to say "no" sometimes.