I ended up with three classes and 28 verbs (plus another 20 in the game), spanning 327 lines of code. Most importantly, each section of the library stands on its own. For example, if you want a game with no inventory management, you should be able to excise the respective code without touching anything else. Also, most of the verbs I did include, apart from wait/use/search, have non-trivial implementations; I really don't see the point of including sense verbs in games that won't use them, for example. There's the illusion of freedom, and then there's confusing the player with too many false options.


add to every object
  verb 'use' does "How, exactly?" end verb.
  verb search does "You find nothing of interest." end verb.
end add to.
  'use' = 'use' (obj).
  search = 'search' (obj).
  search = 'look' 'in' (obj).
  search = 'look' 'inside' (obj).

You can find the library packed with the game's source code; feel free to use it in your own projects, and I will consider more additions as needed in actual games. Happy authoring!


What They Say

"All those weirdly arranged parentheses, and semi-colons and strange curlicues hanging out in the middle of blank lines. Impossible. But when I looked at Alan I saw the light or, at least, English."

Eric Mayer