It looks like you're new here. If you want to get involved, click one of these buttons!
I would like to introduce a code I found on a forum - it allows text adventure authors working with TADS 3 to implement new directions. Basically speaking, it allows us to enrich the input language and thus make the user-text communication in TADS adventures more complex.
Author: Pacian (Great Britain)
I've been thinking a lot about how imperative and function-oriented the input language of interactive fiction seems to be. Why don't we broaden it to the extent that writing whole pieces of an IF text could be user's commands?
IF is concentrated on actions and pragmatics - which is a paradox, since it's a very descriptive literature and utterly descriptive games. I believe IF doesn't have to be narrative and action-based, and the presented code gives us a tool to make the language of user's commands unlimited. In fact, it could level with the output language of descriptions and narrative that might change relations between author and wreader dramatically - or even reverse.
I believe constant addition of new commands makes role a wreader significantly more complex and contribute more correlation between the playing instances. Can readers become true co-authors of textual adventures?
The code itself:
//A new direction object forwardDirection: Direction name = 'forward' dirProp = &forward //an integer to sort this direction //relative to other directions //we'd give 'backwards' greater than 8000 //for example, so 'forwards' is always listed //before it sortingOrder = 8000 ; //the grammar rule for this direction object //type 'forward' or 'f' //to try and head in this direction //(more synonyms preferable) grammar directionName: 'forward' | 'f' : DirectionProd dir = forwardDirection ; /* * According to actions.t: * * "To make it more convenient to use * directional travel actions as * synthesized commands, [we] define a set of * action classes for the specific * directions." */ DefineAction(Forward, TravelAction) getDirection = forwardDirection ; //kill the old 'forward' command. //The only useful piece of code I found in //"Relative Direction System for TADS 3" by //Michael J. Roberts //(It has been modified) replace grammar directionName(fore): ' ': DirectionProd ;