This game is fairly robust, and thanks to methods of limiting user input in game (such as sliders), its pretty hard to crash. It does have a weak point though; file I/O. The Game is fairly forgiving, and can even forgive the deletion of every text file you will find in the root of the project folder. When “GameSettings.txt” is missing, you simply lose any extras such as sound, and the game will mock you through a SOPL. When “Scores.txt” is missing, the game will generate a new one as soon as there is content for it. When “worlds.txt” is missing, the game will make a new one, and populate it with a pointer to “MushroomKingdom.env”.
There are really only two ways to cause any sort of problem you would notice in game (The console will sometimes output errors for debugging, but maintain playability). The first was is to have bad content in one of the various input files. Bad content includes a number of things. It could be a pointer to a file that doesn’t exist, such as a nonexistent image referenced in an .env file. It could also be a typo in the tags before each line of input such as “BossImage:” which are used to identify the following input. Another form of bad input would be out of order lines. For example, after the program see’s the tag “BossImage:” it assumes the following lines will provide the X and Y coordinates, so if these are strings, there will be an input mismatch exception.
The only other way (that we know of) to crash the program is to have a missing “MushroomKingdom.env” file. This is the one file that the program defaults to when all else fails. If this file is missing, and your “worlds.txt” file is missing, you’re going to receive blank play screen.
- The game lags occasionally
- The first sound played (cannon firing) seems to be delayed a bit
- Gifs don’t animate (except in the jToolBar)