Home
Memoirs of a Gamer
Movies I watched
Guidebook
Code Projects
Links
The gorgon engine requires several string package files. These files are generated using the strpacker command which takes a plain 8 bit UTF text file as input. The packer will identify strings based on the return carriage / line feed characters in the text file. As new lines in the source text file demarcate strings, if you want a string to contain a carriage return / line feed combo, use the C style "\n", which upon detection will be replaced with a 0x0D 0x0A combo in the resultant file.
There are 5 string files used by Gorgon, but only 1 is necessary. They are "DICTION.DAT", "ITEMS.DAT", "VERBS.DAT", "ACH1.DAT", and "ACH2.DAT". The only file that is 100% mandatory is DICTION.DAT as that contains the dictionary of acceptable words for the parser.
ITEMS is used to associate inventory flags with names for the built in inventory screen. Players can acquire an item that does not have an associated name. When the inventory screen is displayed, Gorgon will start at Item ID 0 and count up until it reaches the end of the list of item names contained in the ITEMS string package. If the player has an Item ID, it's associated name in the string package will be printed to the screen. This means the inventory sub system can be used to track things that aren't simply items in the traditional sense. The Aching tracks several game state flags using the inventory system, just starting above the last collectable item's item ID for the flags.
VERBS is used to populate the list of acceptable verbs in the verbs dialog box while in game. This file is not actually utilized by the parser at all, and can therefore be used to obfuscate or assist player expectations by listing any words the designer chooses. For the sake of minimizing confusion, it is recommended that the VERBS package does not contain any words not also listed in the DICTION package.
Finally there is the combination ACH1 and ACH2 packages. These are used by the DOS version of the engine to track achievements. As there is no online backend for DOS to submit achievements to any online platforms, it is treated as more of just a fun gimmick, however the modern ports do have versions that are configured to communicate with the Steam API. Though this file is not used by the modern ports to bind the scripting system to Steam Achievements, the modern ports *can* read in the ACHIEVE.DAT file generated by the DOS version of the engine in order to sync achievements earned in DOS when starting up in Linux or Windows.
ACH1 contains the Achievement name used by the Steam API backend.
ACH2 contains the human readable name printed to the screen upon earning the achievement.