Alabaster is now on release 4 6. Thanks to everyone who’s played so far; I’ve already learned a great deal. (And I am really enjoying seeing the game develop in ways I hadn’t anticipated.)
I’ve made a few edits to the source code submitted to me, and the most major of these are annotated with comments, so if you hit something surprising in your own code, and think, “hey! …what goes on?”, you can check out why. Almost all of these were edits to the generated source to make it run more smoothly, but one or two were introduced for consistency between the submitted material. Check out the source for specifics.
Besides incorporating new conversation by several contributors, this release makes improvements to the core system or the rest of the game, based on tester feedback, as follow:
- TOPICS is now a synonym for the existing (but undocumented) CHANGE THE SUBJECT feature, and will list other possible discussion topics besides the ones that are currently being recommended to the player.
- Minor refinements now mean that if you type ASK ABOUT (something unimplemented) instead of ASK SNOW WHITE ABOUT (something unimplemented), the game will construct a questioning quip (as it should) rather than a performative quip (as it used to). The same applies to telling. This is unlikely to be interesting to anyone but me, but it counts as an improvement towards the later release.
- Restarting the game no longer wipes out what you’ve stored in NewConversation.glkdata. (I apologize for this. I tried to set this up for the original release — and thought I had succeeded — so it came as a surprise to me that that was not the case.)
- It is now possible to use facts from the collaborator interface. (More about this below, as it is the improvement that needs the most explanation.)
- Some questions are asked more clearly in the collaborator interface; in particular, the system will now let you know if the “immediately after the previous quip” is necessary because the previous quip restricts follow-ups.
- Line breaking in the collaborator interface gives a little more space than before.
- CUT [something] WITH [something] is supported. (As it really should have been all along.)
Re. facts: A “fact”, from the point of view of my conversation system, is a value that represents some piece of information that the player could come across in any of a number of ways, through conversation but also anywhere in the world. Merely saying the name of the fact makes the player know that fact; so, for instance, the following source will set the player to know that the box lid has symbols on it:
The description of the heart-sized box is “It is made of deep black wood, with a sequence of symbols[symbols-seen] burned across the top. You have no idea what they do. Your part is only to bring it back full.”
Similarly, if you want to set a fact to known when writing conversation, you need only add it in brackets (as shown). You will also be prompted with a question during dialogue-creation that allows you to add facts as prerequisites for your new dialogue. (This may mean you want to invent new facts on the fly that aren’t already in the game. That’s fine — I can splice this stuff in when I get it.)
If at some point you just want to review the list of facts currently tracked in the game, type REVIEW FACTS for a table of them.