Open Source Engine

I did have a similar experience trying Tea and Toast on some newbies (with a rather detailed account of how to enter commands). One of them tried “look out the window” and I was like “Man, who looks out a window when there’s no window in the room description?”

But it’s hard to put this in a library. Most rooms won’t have windows.

Still, it seems like there should be a better response than this:

look out the window
I only understood you as far as wanting to look outside.

(It is catching ‘out’. Probably “look out” should be special cased.)

I do think the parser could use a full-court press newbie friendly makeover.

More useful than an extension would be some sort of curated list of things to check in your game, perhaps with code snippets you could adapt to your needs. Like, “if you have rooms with windows, make sure >LOOK OUT THE WINDOW works. If you have containers, make sure you can’t put too big things in them.” and so on.

Yeah, I have a moderate list of verb upgrades that I apply to any large Inform game I’m working on. (That is to say, I wound up putting them in Dreamhold and HL, so it counts as a habit now.) Look on, get out of, etc.

(Looks like I missed “look out window”, actually. Sigh.)

I would say: there are possible improvements here, but a generic framework as you conceive of it is not possible. It wouldn’t be truly generic; it would be biased towards a particular style of game.

Perhaps this is unrealistic but rather than an engine or framework I think the OP should consider creating an intelligent IF creation assistant. I can’t remember what extension it was but there was one that would run down your game and show you what responses were missing/default. You could expand on that idea to include much more of your game code. You could even create a service that would allow you to author your game in a much more collaborative way, as a conversation between assistant and author, rather than the author heroically wrestling with a mass of code.

Nice to see some responses that validated my opinions to some degree.

Perhaps a curated list (as was suggested) or a “fill in the basic gaps” go-to codebase is a more appropriate term than engine or framework.

I was just looking for a unified and systematic way of compiling oft-implemented ideas like verb upgrades, windows, etc. that new (and/or less programming oriented) authors could enjoy, so they could skip right into the creative writing aspects and not have to worry about coding a response to “look east” or “walk to kitchen”, because I can guarantee that a new player is going to try a variant of that. Assuming you can preemptively educate a new player or that all your players will have IF experience seems a poor way of attracting new fans of the medium.

And also because some of those really basic routines are quite obtuse to code. There’s a lot of subtle things to consider, like how directions are unorthodox nouns, or that entering and going through behave very differently (or can).

The method of setting object size to 0 or 1 and container size to 1000 is exactly the kind of thing I was talking about (and have already put in my own engine, incidentally). It’s more-or-less invisible to those who want to ignore it, and easily utilized by those who do.

I’m glad some people actually conceded that these are things they actually routinely put into their own code to address a few of these issues. I was beginning to feel like a naive %$^&.