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:

  • Game play. Is the game challenging and well-balanced?
  • Graphics and sound. How does it compare to other games?
  • Performance. Did it run smoothly?
  • Ease of use. Were the controls intuitive? Did the game teach the player how to play at a satisfactory rate?
  • Fun and re-playability. Is it genuinely entertaining? Can you play it over and over and still have fun?
  • Installation process. Was it trivial to install and run the 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:

User comment: "d00d, ur keyboard controls suck! u suck!"

Translation: "I found the keyboard controls of your game to be something different from what I am used to and/or difficult to control, and suggest you modify that behavior. I do not hold this against you personally."

User comment: "this game is dumb it don't work"

Translation: "Either the download and installation process was too difficult, or the game does not run on my system. You might want to ask me more questions to help find the problem. I also have issues with spelling and grammar."

User comment: "this is stoopid, the game _____ is much better"

Translation: "I found another game to be more entertaining than yours, but I didn't tell you why, so my comment isn't very useful in helping you make your game better."

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.