I’m kicking around an idea for a psych. horror game in which the player starts in a dark, unfamiliar, and hostile cavern from which he or she must escape. Everything must be explored using senses other than sight because the entire game takes place in the absence of natural or artificial light.
Since AFAIK Inform’s framework doesn’t really allow for subdivision of the Room object into physical dimensions, the first implementation that came to mind would be subdivision of rooms at a design level into ‘conceptual rooms’ such that the code could simply have multiple logical Rooms per conceptual room on my design map. Each such logical Room would be considered a 5’ cube in my design, so any objects at a greater distance than that from the player in the conceptual room would be in the next logical Room. Where that’d get really tricky is trying to accommodate multiple non-sight senses, which obviously have varying ranges but I think the experience would still be intact if I simplified that to being touch/taste as active (i.e. the user has to enter the command ‘touch x’ and ‘taste y’) modes of discovery within 5’ and sound/smell as passive (i.e. the game logic will automatically alert the player when they can hear/smell something) modes of discovery that would be pushed to the player iff the sound/smell potency : player distance from sound/smell source ratio was high enough to pass a ‘detection’ threshold. Does that sound workable? Are there any example stories using a similar mechanic whose source I could study?
I’m new to Inform 7 and the part I’m stuck on is probably the easiest of what I just described – how do I tell the framework that the ‘look’ action and all sight-related variants simply show(s) darkness all around and that ‘touch’/‘taste’ actions should mimic and replace most of the built-in look behavior but also expand upon it with sense-specific flavor (e.g. ‘touch floor’ or ‘grope nearby’ -> ‘at your feet is a rough, warm rock’ and ‘taste rock’ -> ‘the rock has a distinct iron taste. Combined with its disconcerting warmth, the image of blood comes unbidden to your mind’s eye’)? I’d also ideally remove the default description offered by the default look behavior upon entering a room, since a person wouldn’t automatically be touching/tasting everything (without problems arising). I guess that loaded question can be simplified to:
- How can I route all look actions to a simple and unhelpful response like ‘darkness presses in all around’ for all Rooms?
- How can I disable the default look action upon entering a new room?
- How can I re-map the standard look behavior to be the result of other actions, such as touch?
- How can I ‘branch’ behavior based on specific action, such that touch and taste actions both gather information similar to the standard look action about the player’s surroundings, but in different ways?