Automated >VERBS command (plus explanation of allowed usages of verbs)

In a few parser games that I’ve played recently, I’ve noticed that several of them offer a >VERBS command.

I’ve been working on an extension that produces an automatic, comprehensive explanation of verbs enabled in a game. Some example output from a minimal game using default verbs only:

>VERBS
This game knows 163 different verb words. They are: adjust, answer, ask, attach, attack, awake, awaken, break, brief, burn, buy, carry, check, chop, clean, clear, climb, close, consult, cover, crack, cross, cut, describe, destroy, discard, display, disrobe, doff, don, drag, drink, drop, dust, eat, embrace, enter, examine, exit, fasten, feed, feel, fight, get, give, go, hear, hit, hold, hop, hug, i, insert, inv, inventory, jump, kill, kiss, l, leave, light, listen, lock, long, look, move, murder, nap, no, normal, notify, nouns, offer, open, out, pay, pick, polish, present, press, pronouns, prune, pull, punch, purchase, push, put, q, quit, read, remove, restart, restore, rotate, rub, run, save, say, scale, score, screw, script, scrub, search, set, shed, shift, shine, short, shout, show, shut, sip, sit, skip, sleep, slice, smash, smell, sniff, sorry, speak, squash, squeeze, stand, superbrief, swallow, sweep, swing, switch, syntax, take, taste, tell, think, throw, thump, tie, torture, touch, transcript, turn, twist, uncover, unlock, unscrew, unwrap, verbose, verbs, verify, version, wait, wake, walk, watch, wave, wear, wipe, wreck, x, y, yes and z.

For more information on a particular verb, try the SYNTAX command, e.g. >SYNTAX UNSCREW.

>SYNTAX UNSCREW
Here are the ways this game knows to use the verb "unscrew":

  unscrew [something]  (in the sense of "turning")
  unscrew [something] on  (in the sense of "switching on")
  unscrew on [something]  (in the sense of "switching on")
  unscrew [something] off  (in the sense of "switching off")
  unscrew off [something]  (in the sense of "switching off")

The following verbs can all be used as synonyms of "unscrew": rotate screw turn twist 

There’s no configuration required; you just have to add the extension.

If you think you’d like to try it out, let me know, and I’ll send a copy by PM.

EDIT: There’s now a recognition of verbless grammars. When they are present, the >VERBS command adds:

In addition, this game allows some commands that do not use any verb word at all. To see a list of these, try >SYNTAX VERBLESS.

Here’s an example of what you would get by adding Understand "[thing]" as examining. to your project:

>SYNTAX VERBLESS
Here are the ways this game knows to interpret commands without verb words:

   [an applicable thing]  (in the sense of "examining")

In addition, there’s now a new command to list all the grammars that allow a particular action:

>COMMANDS FOR EXAMINING
Commands that are interpreted to mean "examining" include:

   check [something]
   describe [something]
   examine [something]
   l [something]
   l at [something]
   look [something]
   look at [something]
   [an applicable thing] (no verb word required)
   read [something]
   watch [something]
   x [something]
12 Likes

I wonder if it would be good UI to redirect USE to print a list like this.

1 Like

I made something similar built on my unreleased Lexicography extension but with way uglier output!

Here are all the ways I know how to use the verbs carry, hold, take:
 *  inventory -> taking inventory
 *  {one or more things} -> taking
 *  off {something} -> taking off
 *  {something} off -> taking off
 *  {one or more things inside another thing} from {something} -> removing it from
 *  {one or more things inside another thing} off {something} -> removing it from
 *  {something} from {something} -> removing it from
 *  {something} off {something} -> removing it from

Here are all the ways I know how to use the verb get:
 *  out/off/down/up -> exiting
 *  in/on -> entering
 *  {one or more things} -> taking
 *  in/into/on/onto {something} -> entering
 *  off/down {something} -> getting off
 *  {one or more things inside another thing} from {something} -> removing it from
 *  {something} from {something} -> removing it from

…and in case someone wants to look up this info for reference instead of providing it to a player during a game, I’ll remind everyone of the Standard Action Reference google sheet, which includes tables of all commands by action, and all actions (with corresponding grammar) by command. The “expanded actions by command” table is like the actions by command table, but with a separate line for each command-verb in every context it can occur, which makes it easier to see some of the cases where command-aliasing has some weird results, e.g., screw on [something] -> switching on.

1 Like

The direct inspiration was pioneered by Aaron Reed (fifteen years ago!). (Which was itself modeled on the code for the standard debug command >SHOWVERB…)

I’ve been known to crib from that thread myself. :grin:

I’ll give it a try.

Cool. Please send me one. For me, it may just be nicer to use (easier to read/parse) as a testing aid than the output of showverb.

-Wade

FYI: @simpsong00 has been giving this extension a good thrashing, and I think it’s exiting alpha. It’s now possible to hide actions that you don’t want the extension to divulge, and to get a list of all implemented actions to help figure out what it’s possible to do in a given game.

It works for 6M62 or 10.1, so if anyone else wants to give it a try, let me know.

2 Likes