I’ve created a simple hinting feature in my game:
Hinting is an action applying to one thing. Understand "hint [something]" as hinting.
This works fine for the objects that are in the game world, but I’ve also got some objects that begin out-of-play (which also happen to be the objects needed to win the game), but that the player reads about. So now the player knows the objects exist, but if they type the command “HINT (noun)”, they get the response “You can’t see any such thing.” I would prefer the player to be able to get a hint for the object, despite the fact it’s currently out-of-play.
I’ve tried a couple things, neither of which worked. The first thing I tried was making the objects familiar, similar to when asking an NPC about an out-of-play object. This was purely ineffective. The second thing I tried was placing the objects in the scope of the player, but that didn’t really work either, as it ended up failing the basic accessibility rule. Thoughts?
The syntax for actions on any object (ignoring scope) is different than the regular action syntax.
Hinting is an action applying to one visible thing. Understand "hint [any thing]" as hinting.
Bear in mind that this will essentially put the entire game’s worth of objects in scope for the purposes of the hint command.
Holy crap. All this time I’ve been purposefully avoiding using “visible thing” because I thought that specifically MEANT the object had to be in scope, hahaha. Thanks, Eleas.
Oh yeah, “visible thing” is confusing, because it seems more restrictive than “thing” but in this context it’s less restrictive. Here’s a bit more about it. A good way to think of it is “applying to one thing” means “applying to one thing you can touch,” and “applying to one visible thing” means “applying to one thing you can refer to.”
If they were starting over, the Inform people would probably use different terms, but it’s so entrenched in Inform 7 that it would be impossible to change without breaking everyone’s code.
You can also include Epistemology and use the [any known thing] token. That will allow hinting about anything the player has seen, and anything explicitly flagged “familiar”.
Yeah, if you’re already using Epistemology, then you should go with that.