SayDemo is a more complex example of an optional SAY processor implemented for the Dimensione X Engine.
This SAY processor will allow standard in-game commands to be entered via the keyboard. This processor will be available in release (6.4.5).
Command syntax from the SAY input textbox is available within the game. To see the command syntax enter the "/help" command in the input box:
Note the language parser is picky, yet also loose. You must type the commands and the names of objects without error. The SayDemo shows the correct name for each item or character as underlined text. Yet, the presence of other unknown words around the command and the item are acceptable. Consequently, the following user input will all work successfully in the game using this standard parser:
go north I want to go north north n pick the yellow key pick up the yellow key pick look at Surfer Dude look in the brown box look look at this mess! l use the yellow key on a door give the scratched key to the surfer dude open the brown box put the scissors in the brown box Hi Say Hi to surfer dude say Thanks to the surfer dude
And, of course, if the user input does NOT contain a valid command it should be treated as normal Say input, chat, etc...
The 6.4.4 release of the Dimensione X Engine provides hooks allowing us to insert alternative SAY processors. A SAY processor is a Java class inserted into the engine using these new hooks to provide custom handling of player SAY input.
Consult the latest Dimensione X documentation for inserting custom SAY processors.
For SayDemo--and really ANY game--the entry in the DXW file would be:
WORLD
...
CUSTCMDPROC org.dimx.LanguageParser
...
END_WORLD
Sample SayDemo Definition File
Game developers may also notice another feature available in the 6.4.4 release of DimX--the availability of DXL 'Include's. DXW and DXL game definition files can now be broken up into truly reusable libraries for clusters, worlds, and games.