One of the programs in my suite of “assistive programs” for players and Judges of Strategic Primer, my strategy game, is a simple utility to check a map file for errors. Today’s post documents the use of this useful little program.
All of the programs in this suite are bundled together into a single program, which can be downloaded from Bitbucket. (Choose the file appropriate for your operating system.)
Unlike the “apps” in the suite that are deemed most useful for players, the map checker cannot be started by simply running the suite and using the graphical menu that appears. Instead, it is invoked by passing command-line arguments to the program, like so:
java -jar viewer-0.4.2790.jar --check known_world.xml
This will open a new window that will print warnings in yellow and errors in red. If you prefer the program to print its results to the current terminal window instead, add the
The program can also operate on any number of map files, not just one at a time, if they are passed as additional command-line arguments:
java -jar viewer-0.4.2790.jar --cli --check map1.xml map2.xml map3.xml
Errors indicate serious problems, which prevent the map from being fully loaded into the program. Sometimes these are bugs in the map-reading code, sometimes they are problems with your computer, and sometimes they are problems with the file you asked the program to read—if the second half of it had failed to download, for example. If this, or any other program in the suite, gives you an error, please let me know.
On the other hand, warnings indicate some minor issue with the map described by the file that you might want to consider fixing, but that does not prevent the program from working.
You might see a warning in the following situations:
- If a “tile fixture” that should have an ID didn’t have one. This can be ignored, as the program generates one for you.
- If the map file uses a previous and deprecated form of a “tag.” This, too, can be ignored, because if you save the file the old form will be replaced by the new way of writing it.
- If two “fixtures” in the map have the same ID number. In most cases this can be ignored, but please let me know if you see this warning.
- If a worker has a level in the “miscellaneous” (or an equivalent) skill. This is reported using a “deprecated form” warning, but should be corrected by applying the level to a more specific skill instead. Players shouldn’t see this, because I try to check their maps before I send them, but if you do let me know.
- If a tag parameter—such as a unit name—that should be present is missing or empty. If it’s missing, the program inserts an empty name (or whatever), but this warning should be corrected: if you are a player and received the map file from me, let me know; otherwise, rename the fixture (or otherwise replace the empty tag with a non-empty one).
- If the map uses a tag that your copy of the assistive programs doesn’t know how to handle but knows may be supported in the future. You can ignore this, but saving from inside the program is not recommended because this extra tag will be lost. If you have the latest version, please let me know what about this warning; if not, you are encouraged to upgrade to the most recent version.
- If there is “arbitrary text” inside a tile. Early versions of the map format stored exploration results in this way, but this has been deprecated for some time.
- If a “tag” has a parameter that it doesn’t support. You can safely ignore this, but if you see it please let me know.