[I7] "consider love" (object/thing, out of world) [closed]

Hi. I’m back, and just as usual asking questions about contrived examples without ever finishing a single game.

This code works:


A concept is a kind of thing. 

Freedom and love are concepts.

Considering is an action applying to one object. 

Understand "consider [any concept]" as considering.

carry out considering:
	say "You ponder the meaning of [the noun].";
	
The demo is a room.

Test me with "consider love".

But honestly, this working code was a mistake.

See how a concept is a kind of thing, but the action applies to a one object? First I tried with object in both places, it didn’t work (“That noun did not make sense in this context.”), so I tried changing it to thing - but I only forgot to change the action. If you use thing in both places that doesn’t work either (“That isn’t available”).

Is this supposed to work? And why?

The pretty way to do it, what I really meant to do I think, is to use “thing” in both places and declare the action as “out of world” - then you can refer to “any thing” without being able to reach it. Is that a better way to do it?

I mean, should actions the player character involves in, which might take time, such as thinking about stuff, be “out of world” actions if they involve things that are not physically accessible to the player? Or are “out of world” actions better saved for stuff that are “out of world” in the sense that they deal with game mechanics rather than the player character’s world?

This code works:

Include Epistemology by Eric Eve.

A subject has some text called thought.

Love is a subject. The thought is "Very important."

Pondering is an action applying to one visible thing.

Understand "ponder [any known subject]" as pondering.

Report pondering:
	say "[thought of the noun]"
	
Test room is a room.

Test me with "ponder love / ponder carcosa"

The output from the test:

>[1] ponder love
very important.
>[2] ponder carcosa
That noun did not make sense in this context.

I.e., the parser itself will only understand pondering subjects (A kind that the Epistemology extension introduces, used to represent abstract concepts - if you’re not familiar with Epistemology, I highly recommend reading its documentation as it solves an extremely common set of problems).

As for actions out of world, how you use them is a matter of style, but using them for actions that interact with the game world can cause reality to collapse in itself (Or, more realistically, subtle bugs having to do with the interaction of rulebooks, Every Turn, and the standard rules). So it’s safest to make actions that don’t have side-effects and just display information. Example 398 in the documentation, “Timeless,” has another way of accomplishing the same effect with pre-existing actions, such as making LOOK not consume a turn.

“Applying to one thing” by default requires you to be able to touch it. Use “applying to one visible thing” to only require that it be in scope, which will be true for everything because of the “[any thing]” token.

@Sequitur: yes, I do know Epistemology and you’re right, that seems appropriate to do this concept thing. In fact it’s not really what I’m doing. Epistemology also defines subjects as things, not objects, by the way.

@Draconis: Nice! So it becomes

A concept is a kind of thing. 
...
Considering is an action applying to one visible thing. 
Understand "consider [any concept]" as considering.

That does feel better.