Kliffy is an engine for writing parserless point-and-click interactive fiction, in which the entirety of the story uncovered so far is visible at all times, and the player is able to take action or undo previous actions at any point in the story.
Thus far, there is one proof-of-concept game written in Kliffy, which I call Richard and Larry Build a Time Machine. It was presented at the 2011 IF Demo Fair.
You can always go back and change the past, in any story written using Kliffy, without losing work. If you do something on your first move, and come to regret it on your second-to-last move, Kliffy aims to let you see what will happen if you try something different without starting your game over.
The way it works in practice can be slightly surprising, however. I'm working to figure out the rough edges, but I'm not there yet.
When you take an action in Kliffy, it records it as a reaction to the paragraph you clicked on. As you progress through the story, you are building up chain reactions -- when thing A happens, my character reacts this way, which makes thing B happen, which makes my character react that way, etc. If you don't have a reaction to the last paragraph or two, the story will stop and wait for you to specify what the player character will do. This can be surprising if, for example, you go back to undo an action much earlier in the story -- suddenly the chain breaks, the rest of the story disappears, and it looks like your hard work has been lost! Don't worry, it hasn't. As soon as you find your new path to the next part of the story, the game will re-do everything you had told it to do after that point.
If you have any thoughts on this, or any other interface issue, I'd be delighted to hear from you.
If you're interested in writing stories using Kliffy, the good news is that there is no technical reason that I'm aware of why you couldn't start today. The bad news is that stories are written in a completely undocumented dialect of XML. The worse news is that the Kliffy is likely to behave strangely or simply not display anything if you make an error in your story source code, rather than give you a useful error message. If none of these things bother you, feel free to drop me a line and I'd be happy to help you get started.
If you are interested in the source code, simply run the following command:
git clone http://www.information-superhighway.net/kliffy/.git
Be warned: It's an enormous mess, mangled to accommodate the needs of code which attempts to violate causality. Hungarian notation is used heavily with little explanation. If you would like to attempt to write your own story using Kliffy, know that there will be no error messages to guide your way if you do something wrong; your story will just cease to appear in the browser. Also, there are almost certainly bugs I'm not aware of, in addition to the handful that I am already aware of and have worked around in my story for the purposes of making the deadline.