Decker is primarily used for making choice-based interactive fiction, but its scripting language is flexible enough to permit simple parser-based IF as well. I thought it might be useful to share a mockup I built a while back that demonstrates using Decker’s widgets-and-cards event dispatch system to build a rudimentary verb-object parser with rooms and objects. Adding containers- let alone nestable ones- would be a bit trickier, but it’s a start:
You can flip through the cards of this deck with the right and left arrow keys; the card to the “left” of the CLI interface describes the scripting approach in more detail.
I’d be happy to expand upon this and try to answer questions. If this piques anyone’s interest I might consider writing some libraries for Decker to make this kind of system easier to build!
Holy smokes! I’d tried doing something like this before because I wanted to make a game with a hybrid interface, where it would have a database pane and a choice pane and a parser pane all interacting with each other (I turned the shell of this into Violent Delight). But I didn’t make that much progress, I think I just about got it to read a command… just one…
This looks like a much more elegant solution, I’m definitely going to be experimenting with this! Potential game changer!!
I made a few subtle tweaks in Decker 1.49 to increase the poll rate of change events in Field widgets and allow scripts to clear fields while they’re selected. Before these changes it was possible to make this sort of UI, but much clunkier.
I’d be very interested to see what you can come up with, Coral! I think there’s exciting potential in Decker for blending parser interaction with other types of graphical UIs. One refinement to the design in this demo that might be worth considering is using a purpose-made Contraption for room objects instead of vanilla Button widgets; you could give them fields and accessors to reduce the amount of scripting needed for common behaviors.