intfiction.org

The Interactive Fiction Community Forum
It is currently Fri Nov 16, 2018 9:52 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Sun Oct 14, 2018 9:26 pm 
Offline

Joined: Tue Apr 06, 2010 6:53 pm
Posts: 37
Hard to describe in just the subject line.

I mostly have a solution for what I have in mind, but I was wondering if this is the most efficient way to do it.

Code:
God is a backdrop which is everywhere.

Instead of doing anything to god, say "God is everywhere, and nowhere. You cannot interact with Him, but you know He is there."


This creates an actual object which follows the player everywhere...would there be some other way of doing this that would require less overhead, or less potential edge cases? Something more like a parser rule. "If the player mentions god, say" etc.

I know the overhead of one object like this isn't a huge concern, I was just curious.

I thought of the potential weirdness that God is not a person, or neuter animal, or animate in any way...but if we are overriding literally every action that can be done to him or with him, then there should be no parser weirdness with pronouns or anything. Hence the thought that maybe he doesn't need to be an object at all.

EDIT: And just as I say that, I tried "give pencil to god" and was told I can only do that to something animate. So I will need some other solution. Doing it this way:

Code:
The Almighty is a backdrop which is everywhere. God is a neuter animal which is part of the Almighty.


Still results in attempting to perform actions:

Quote:
(first taking the pencil)
God doesn't seem interested.


I'd like to reject any actions at all before they start. Don't even take that pencil, it won't work!


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Oct 14, 2018 10:01 pm 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
Hmmm... maybe this:

Code:

The Almighty is a backdrop which is everywhere. God is a neuter animal which is part of the Almighty.

Before doing anything when god is the noun or god is the second noun:
   instead say "God is everywhere, and nowhere. You cannot interact with Him, but you know He is there.".



Example results:

Code:
>give cat to god
God is everywhere, and nowhere. You cannot interact with Him, but you know He is there.

>smell god
God is everywhere, and nowhere. You cannot interact with Him, but you know He is there.

>get cat
Taken.

>give cat to god
God is everywhere, and nowhere. You cannot interact with Him, but you know He is there.

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Oct 14, 2018 10:21 pm 
Offline

Joined: Tue Apr 06, 2010 6:53 pm
Posts: 37
Aha, that does what I want it to do, and doesn't even implicitly take anything.

Surprisingly it is actually still important that god be a living thing contained in another backdrop - trying to reduce him to just a backdrop still produces the "something animate" message. You'd think "before doing ANYTHING" would cover that, but no.

Seems like it probably is best to handle this as an omnipresent object like that too rather than get tricky with the parser. It's not like there will be many objects like that in the game. Thanks!


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Oct 14, 2018 10:39 pm 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
You're welcome :)

Yeah, the "only something animate" thing is mentioned here (number 126) as something that needs smoothing in future inform 7 releases:
https://inform-fiction.org/suggestions/accept.html

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Oct 16, 2018 1:42 pm 
Online

Joined: Tue Mar 09, 2010 2:34 pm
Posts: 5397
Location: Burlington, VT
You get the "something animate" response because the Understand lines for the actions involved contain a "[someone]" token. Since backdrops don't match the "[someone]" token, you get that response at the parsing stage, even before the Before rules run--the command is never converted into an action because it can't be parsed properly.

(Phil, that's the outdated Inform 6 site, isn't it?)


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Oct 16, 2018 2:28 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5801
It is. (This merely underlines that this bit of confusion was inherited unchanged from I6 and has never been addressed.)


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Oct 16, 2018 2:37 pm 
Offline

Joined: Tue Apr 06, 2010 6:53 pm
Posts: 37
I saw your post on the bug report site. I apologize if it was presumptuous to submit it there when it's just confusion/misunderstanding, or deep in the code where it's not easily fixable.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Oct 16, 2018 2:40 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5801
It's always fine to submit a problem report. Sometimes reports get marked "works as designed" or "not a bug", but we don't expect you to know the whole 25-year history of Inform. (Which is, sadly, relevant here.)


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: Bing [Bot] and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group