This is my second major release for Quest, and in fact most of it has been done by other people, and in particular KV and SoonGames. Thanks also to the beta-testers and other “helpful helpers”: Anonynn, Darryl Huen, DavyB, Dcode, Pertex. Also to Luis for his support with regards to the web site (it has taught me what a pain in the neck that is!).
Apologies if I have missed anyone. This has very much been a community effort, which I think is great.
Some issues, hopefully now resolved
So Quest 5.8 is out, and not without a few issues… This was a rather more ambitious release than Quest 5.7 (which made hardly any changes outside the core libraries). Turns out the rest of the code has all sorts of inter-dependencies and pitfalls that only Alex was aware of. It was also unfortunate that while my side of it was ready several weeks ago, Luis could only upload to TextAdventure.co.uk just a couple of days before I was away on holiday, so we had a couple of weeks where it was up and running – more or less – but no one was around to address issues. I guess we will chalk it up to experience. In the future we will be much more careful of changes to any files outside the core .aslx files. We will also have a better idea of what needs testing; issues with publishing from desktop and uploading to the web site, and problems in the web player not finding files.
We are still very much learning how to do this since Alex retired from Quest, and that will probably continue for a couple more updates. As a “one man band” Alex knew Quest inside out; I doubt we will ever get to that stage! That said, some documentation in the code might have helped…
Hopefully the issues have now been resolved.
So what is new?
The big change in this version is the new interface. This is all thanks to SoonGames. Take a look! We hope you like it.
All the work on getting Quest better set up for internationalisation was also done by SoonGames. Thanks also to everyone who contributed translations:
– Danish: Benny Askham
– German: SoonGames
– Greek: Thanasis Chrysos
– Italian: Skarnisk
– Spanish: Luis
If you can help to get Quest translated for your language, or to update an existing translation, please get in contact. We can now offer translations for the editor, but only where we have the translations available, which so far is only German and, to a limited extent, Spanish.
Quest will not allow bad attribute names in the editor (“object”, “turnscript”, etc.). Previously these could break your game. You can still use these in a script, which is still a problem.
A new command, TELL <char> TO <text> or <char>, <text> has been added to the _Ask/Tell_ tab.
Turnscripts have been revised a little. There is a new function, SuppressTurnscripts, which will stop all turnscripts for one turn. You might want to do this for a HELP command, for example, or for events caught by the map. The UNDO command now does this automatically, so turnscripts make more sense in that context. Also, turnscripts now run in alphabetical order (previously the order of global and local scripts would be reversed in a loaded game; now the order is always the same). If you allow multiple commands on one line in your game, each command will trigger the turnscripts.
Scope for a command can now be set to an object list attribute of the player object.
It has been the case that cloning an object also clones its child objects. Now they get the correct “alias” and “prototype” attributes set.
Following a suggestion from mrangel, text processor directives are now extensible. More towards the end of this page.
You can use the QuickParams function to quickly create a dictionary with up to three entries, useful for quickly sending parameters to a script.
The GetDefiniteName function will return the name or alias of an object, with “the” prepended where appropriate.
Thanks to KV:
You can now check if your game is being played on webplayer, desktop or mobile.
RESTART command added.
Advanced popups added.
LOOK AT now counts how many times an object has been looked at.
TAKE ALL will ignore any object with “not_all” set to true (which it is for NPCs by default), and this has generally be made more sensible with regards to items in containers. Will now give the correct response if there is nothing to take. If you have your own take/drop command this should not be affected.
Transcripts and logging now possible.
Improved VERSION command.
You can now check the “isroom” attribute to see if an object is a room, and use AllRooms to get a list of rooms in the game.
New functions DictionaryAdd and DictionaryRemove, the first will overwrite an existing entry if it exists, rather than throw an error, the latter will do nothing if it does not exist.
Thanks to Pertex:
Games can now send data to external sites, for processing, eg by PHP. This means you could set up a site that saves high scores, or records the number of people who chose a certain path through your game.
Thanks to SoonGames:
DeveloperMode (see here).