This was really interesting to read. Some of your ideas might be really hard to implement, but I like your perspective on what the new player’s experience ought to be like.
I think Aaron’s main reason for choosing glulx is memory. These extensions take up a really big amount of memory, and they don’t add anything at all to the game world, so the idea is to leave the author with enough room to still make an interesting game. The z-machine has absolute memory limits - once you go past z8 format, you’re plumb out of space.
A few times you mentioned messages that are too general for your taste. I think the idea of spelling out “interactive fiction” is a good one, but to avoid talking about how “most” interactive fictions behave, it’s necessary for the author of each work to write something more specific. Off the top of my head, I can’t remember how easy it is to change Aaron’s messages, but it might not be too hard. So if I were to make a suggestion to Aaron based on your comments, I would request making the messages easier to customize (perhaps all that’s needed is documentation) rather than actually changing their text.
This is one of the points where it would be really great if the parser could handle it, but I’m not sure if it can. The problem is that the parser doesn’t know what objects have been mentioned unless a significant portion of the command was already parsed successfully. You can see how this leads to a catch-22.
I bet that one is fixable.
(…Skipping what looks like bug reports, which I’m not qualified to handle at this point…)
I’m not exactly sure what’s going on here, but there are two different ways to parse “NPC, text.” One is as a command, but the other is parsed as answering it that (i.e. “NPC, unrecognized text” parses as “say unrecognized text to NPC”) Probably the word ‘come’ was recognized as a word, but not as a valid command.
Anyway, once you get to “answering it that,” the parser is assuming that you want the PC to speak the words you typed - which is not all that unreasonable even in the case of giving a command. In this particular case I agree with you that “there is no reply” makes more sense as a response, but if I remember the earlier discussions correctly, Aaron was trying to make a distinction between actions that the PC refuses or fails to take, and actions that the PC takes with no result in the game world. “There is no reply” is a bit vague on the matter of what the PC actually did. Unfortunately, “You speak” isn’t very helpful either. Do you have any other suggestions?
I have a suggestion for your particular case, though. It sounds like you never intend to handle the “answering it that” action at all, so you might as well just tell the player something like “The statement that you intended to make to Atari was not recognized. Either it wasn’t a command that I can understand, or it was some other sort of conversation, which is not necessary in this game.”
I never liked that message either. Your suggestion seems better to me.
That’s a tricky one, but I agree with what you said elsewhere, that the message should tell you what exactly isn’t available. I think there is a response along the lines of ‘I don’t know the word “foo,”’ but it seems silly not to have the same thing for nouns that were recognized but are out of scope. Unfortunately, here again we run into some parser quirks. You might have a look at my “Lost Items” extension, though, which attempts to provide that kind of information. I have a feeling that “Lost Items” might not work for rooms, though. Hmm…
I’m not sure what situation this message was written for, but I bet it wasn’t this one. It’s possible this is a replacement for the horrible “That noun did not make sense in this context” error. Or not. Once again, you might have to delve into the inner workings of the parser to extract the necessary information. It’s possible you could write a Smarter Parser rule to handle this specific command, but I don’t know how general you could make it.
I think this is just one of the inevitable evils of spell checking. Maybe one day some heroic person will write a spellcheck extension that can do disambiguation:
>OPEN DOOR BAG
Which do you mean, the door or the doggie bag?
You can fix the second part yourself. You don’t need to make the pit enterable, you just need to write an “instead of entering the pit” rule.