I think one element of the challenge ingredient that hasn’t been explicitly discussed yet is the phrase “around it”. A scroll that alters the world, by itself, is not likely to generate “a dish never tasted before”, but a scroll that alters the world only around it lends itself to much more interesting gameplay possibilities.
What if only rooms within a certain radius of the scroll’s location are affected? This could lead to puzzles like the player having to drop the scroll in a specific place so two different puzzle-relevant locations are affected, and move on without it for a time.
Such a mechanic would probably require the ChIF to let the player perceive the state of nearby areas, like large architectural rooms broken down into multiple Inform rooms. Or maybe security cameras or clairvoyance could supply the information?
I HAVE! (Or do you mean the Aftereffects rules? I have not forgotten those.) I also utterly deny that Kerkerkruip implements combat by just wholesale replacing the main Inform game loop. In fact, I deny everything. That’s what my lawyers tell me.
Someone, probably me, decided what ATTACK/Kerkerkruip really needed was an extra action processing stage after the report rulebook. So it’s the only I7 game with 7 action stages.
Don’t forget that the stage Dialog refers to as “refuse” (block the action if it’s too dark, if things aren’t visible, or if things aren’t touchable) exists in I7, but has no standard name! Some people have made a “precondition” rulebook to go in that slot, but “refuse” as a name has grown on me—the Dialog equivalent to “check” is called “prevent”, so the idea is “refusing” an action shuts it down before anything happens in the world, while “preventing” an action can involve finding things out through experimentation (“you try the door, but it’s locked” only makes sense if you can actually touch the door).
Honestly, though, I think I7 could do with splitting “after” into two rulebooks. Right now it’s doing two separate things that conflict with each other, and that’s not a recipe for success. “After reporting” is a very reasonable way to square that circle.
Oh man, this now makes me wonder about designing a game where the PC is an inanimate object - which has been done of course, yes this is an excuse to shout out my top game of the 2002 Comp, Constraints - AND where all the commands are in the passive voice:
BE READ
BE TAKEN
BE PUT ON SHELF
I think it actually wouldn’t be too hard to implement this in Inform, I think you can just some understand statements to issue orders to the appropriate NPC, but it feels like the experience for the player would interestingly different from the typical active-voice approach.
I thought of a challenge where you ask people to write an I7 game but they’re only allowed to write rules of one of the types – their choice.
I think Check is the best choice. You can stop defaults, allow defaults, or do anything else. You would infrequently have to duplicate code that might have been run by a default Carry Out or Report.
Before and Instead precede defaults by default, and come too early, forcing you to reproduce way more stuff (especially Instead, which blocks defaults. Sure, you can continue the action, but after you’ve done that 10 times, you’ll realise you should have picked Check).
After and Report are too late – Carry Out’s already run at that point. And Carry Out’s best suited for running code, not printing stuff (where it can’t stop the Report that would already print default stuff).
I am delighted to have this cat fanart! (For full accuracy the cat on the left should be about twice the size of the cat on the right, but of course that’s hard to tell without having a photo that they’re both in.)
Hmmm, “precondition” as used in Implicit Actions by Eric Eve seems more like how you’re describing Dialog’s prevention, 'cause it’s all about trying things.
I’m not clear on what you’re considering the two things… “output something and stop the action, functionally overriding the Report rules” vs. everything else one might get up to with an after rule?
I have sometimes added a dispatch action rulebook before the before rules to serve as the canonical place to change the current action to a different action. So that’s my contribution toward making it to eleven!
Hm, I just tentatively pressed the like button under @Afterward 's eventual first bit.
Lucian’s been the (relatively) unknown element, and also relatively doing cartwheels to entertain. I might have expected Ryan to be doing the cartwheels. Now he sort of has, but he’s done them in the service of giving a tutorial on laboriously (re?)creating movement in Inform 7.
If not to an important end, that would be a poor use of his time. So I think this is probably a kind of sleight of hand and actually a good use of his limited time.