Good point!
On the other hand - Let’s say we had a total of 200 before/instead/after rules. And let’s say we have 30 npc characters, each of which perform their own actions each turn. That would give 200 x 30 = 6000 things inform has to check out each turn.
I sort of feel that I had been drawn towards Before/Instead/After not because they were the right choice, but more because they sounds so comfy, as opposite to the more tech-sounding Check/Carry out/Report. I feel the right approach would be to first see if Check/Carry out/Report are the right tool for the job, and if they’re not, try out Before/Instead/After.
I have tried my best to understand how to replace Before/Instead/After. Corrections most welcome, and most likely needed:
THE THEORY:
Each action, like TAKE or JUMP or EAT, has its own Check rulebook. So Check jumping only gets consulted when the player jumps.
On the other hand - there is only one Before rulebook. So Before Jumping gets consulted for all players commands. Same goes with Instead and After.
So Before, Instead and After uses a lot of resources. Consider if they can be replaced with action-specific rules like Check, Carry Out or Report.
REPLACING BEFORE
Before can (sometimes) be replaced with Check.
OLD CODE:
Before a woman (called W) jumping:
Say "A female person called [W] is going to jump! How very exiting!";
NEW CODE:
Check a woman (called W) jumping:
Say "A female person called [W] is going to jump! How very exiting!";
But this trick only works for specific player actions. The following is not a player action, and thus, can’t be replaced with Check:
Before printing the locale description of a room:
Say "(nice!)";
Likewise: in the following, ‘doing something’ would be too abstract for Check :
Before asking someone (called P) to try doing something:
Say "With great authority, you order that [P] do your bidding."
REPLACING INSTEAD
Instead can be replaced with Check (or Carry Out). Just remember to add the word ‘instead’ in the end, to tell inform to abort any subsequent rules.
OLD CODE:
Instead of eating the fish:
say "Ewwww!"
NEW CODE:
Check eating the fish:
say "Ewwww!" instead.
REPLACING AFTER
After can be replaced with Report (or Carry Out) Just remember to add an extra line with ‘Rule succeeds.’ to abort any subsequent rules.
OLD CODE:
After eating the fish:
say "Did you just eat that?"
NEW CODE:
Report eating the fish:
say "Did you just eat that?";
rule succeeds.