So, while it’s still pretty early in game development, I have created a lot of things ‘memorythings’ that have a ‘memorytext’ because I like keeping my code for different things all together (rather than use a huuuuuuuuuuuuuuuuuuuge table). The problem with this, I’ve belatedly discovered, is that the PC can only remember things when they are in the room with her, which isn’t how memory works.
Is there a way to place my memorythings in scope at all times (even when out of play?), but only for the ‘remembering?’ verb?
[code]Chapter 3 - Memories
Remembering is an action applying to one thing. Understand “remember [something]” and “remember a [something]” and “remember an [something]” and “remember the [something]” as remembering.
A memorything is a kind of thing. A memorything has a text called the memorytext. Instead of examining a memorything, try remembering the noun.
[Check remembering a memorything:
now the noun is in scope.]
Check remembering something:
If the noun is a memorything:
say “[memorytext][line break]”;
say “There are no strong memories associated with [the noun].”.
The chimney is scenery. The chimney is a memorything. The memorytext of the chimney is “Your memories of the chimney are blah blah blah exciting…”
Please tell me there is a way of doing this!
You can modify the action and make it apply to visible things and change the grammar token to “any thing”:
Remembering is an action applying to one visible thing. Understand "remember [any thing]" as remembering.
Note that you don’t need to add separate grammar rules for articles (a, an, the). Inform takes care of that automatically.
Thanks, I removed the added grammar rules. But I don’t want the noun to apply to only visible things, but to anything. Even when it’s not in the room, or even in play. Any possibility of doing that?
The thing is that “visible” in this context means the opposite of “touchable”, i.e. everything. If you write “applying to one thing” it’s exactly the same as “applying to one touchable thing” so adding “visible” widens the scope. It’s quite confusing and I’m hoping it’ll change in the future.
Have you checked out the source code for Aaron Reed’s Sand-dancer? It seems like that might be of help to you, particularly this part and the one right after that.
You may also want to check out The Contemplation Example in The Documentation of Epistemology by Eric Eve. It appears to do something similar to what your code does.
Hope this helps.
The Sand-Dancer example is interesting, but I never wanted to hide the memories. Interesting code though.
I’ll check out Erik Eve’s example CS. Cheers!
EDIT: inform-fiction.org/I7Downloa … istemology
Just checked it out. I am happy with what I’ve got so far, but if I was thinking I might have some things need to be seen before being able to remember them. If I do go back to that idea then this code is perfect! Thanks.
I believe that Epistomology allows you manually to designate things as familiar or not familiar. So if you key off familiarity as the trigger for being able to remember something, you can control that independently of whether the thing has been seen or not.