August 30th, 2011

Buttons are an important concept of Vorple and user interface design in general. Almost all interaction with a computer is done by pushing (virtual) buttons on the screen. Most buttons have two states, enabled and disabled, sometimes more (active, pushed, …)

Buttons are the basic building blocks for many user interface elements. IF and game interfaces (outside the parser of course) are full of buttons:

A graphical compass rose with W in black lettering, NW highlighted and other directions grayed out
A grid of icons representing inventory items
A grid map showing locations of London

(Compass rose from Glimmr, inventory screen from Monkey Island I SE, map from The King of Shreds and Patches.)

“Button” might not be the best word since there’s no requirement that it can be interacted with. A Vorple button can be a non-clickable icon or a string of text if there’s benefit to using the button features to control it. By assigning buttons to a button group they can be manipulated as a single entity: displayed, hidden, moved, disabled or animated. Buttons in the group can be reordered and buttons can be removed and added as necessary.

The challenge to both the system and the author is that if the buttons are used inside the story text and the reader repeats an action or for some other reason the buttons are displayed again the old set should be removed, synchronized with the new ones or cloned as a new set. The buttons might be a part of an in-story machinery and they’re displayed every time the reader examines the machine. Let’s assume at some point the machine breaks down and the buttons are disabled. In this case all instances of the displayed buttons should be disabled, not just the latest set or the reader could just scroll up the transcript and click on one of the old buttons.