Quest 5.2 Beta is now available. You can download the Windows version, or you can use it in your web browser.
The main focus for this release was adding that second option - Quest 5.1 was Windows-only, and the main new feature of Quest 5.2 is that it is now available everywhere.
But I, and a couple of contributors, did find some time to add some other new features to Quest too:
Gamebook mode. This lets you create “Choose Your Own Adventure”-style games in Quest, in addition to text adventure games. There is more information in the announcement blog post. I’ve added a couple of small features since that post - you can now easily add YouTube videos into a gamebook, and you can also incorporate links to external websites.
Two-object verbs. It’s now much easier to set up commands like “hit nail with hammer” or “light candle with match”, using two-object verbs.
Inventory and container limits (contributed by Pertex). The concept of a “limited container” has been extended, so you can now limit by volume of objects as well as number. For example, a bag might be able to hold 20 apples but only one bowling ball, and it’s now easy to set that up. When an object is a limited container, you can specify the maximum volume that a container can hold. For objects that you might put inside a limited container, on the Inventory tab you can specify their volume.
These limits have also been extended to the player’s inventory. Select the player object, and you can specify the maximum number of items that are allowed in the inventory, as well as the maximum volume.
Multiple switch case expressions (contributed by James Gregory). When using the “switch” script command, you can now specify multiple cases separated by commas.
Customisable room descriptions. On the game editor, Options tab, you can now specify the order of elements in the generated room description. So you can now move the exits list after the description, for example.
Health and score. It’s now easier to have health and/or score on-screen, as you can now simply turn these on from the game options without having to set up the status attributes yourself.
There are new script commands for increasing and decreasing health and score. Also, when health is enabled, the object options tab has a new “Health” section which lets you specify that an object can be eaten. If the object can be eaten, it can add or subtract health points from the player.
First time scripts. It’s now easier to run a script just once, the first time something happens - such as the first time the player speaks to a character, uses an object, etc. Previously you would have to create flags for this, but you can now simply add a “First time” script command which handles it all for you.
Easier introduction scripts. There was a change to how “wait for a keypress” (and other functions such as asking the player a question) worked in Quest 5.1, which made it difficult to insert a pause before moving the player to a room. This made it difficult to create introductory text in a game, as the player would be moved to the start room before they had pressed a key. This has now been addressed in Quest 5.2, as the core library uses a new “on ready” script command to move the player into the start room only after any waits etc. have been completed.
Hide/show objects. Previously, if you wanted an object to appear mid-game, you would have to move it from another room - maybe a dummy room used for the sole purpose of containing objects that aren’t “there” at the start of the game. In Quest 5.2, you can now hide and show objects - in a similar way to how this worked in Quest 4.x and earlier. There are new script commands for making an object visible or invisible, and there is a new checkbox on the object setup tab so you can make an object hidden at the start of the game.
Other new things:
Please try out the beta and let me know what you think. Download Quest 5.2 Beta for Windows or try it in your web browser.
Many thanks to those who have contributed to this release - Pertex, James Gregory and Francisco Orta. If you’re interested in contributing, please take a look at the Developer page and Developer forum.