Here’s a summary of what I’ve seen described as best practices, along with some other observations, in no particular order:
New verbs: Some common verbs you may want to add are help, hint, about, info, credits, and walkthrough (some of these may overlap). Some people also add xyzzy and such, but this is not required. Go to and exits are nice conveniences, but not necessarily expected.
Exits: It’s also a nice convenience, when a player tries to go a direction that’s not supported, to list which directions are actually available.
It seems to be generally expected, if you are, say, outside a building, to allow both in and enter building to work, along with the relevant compass direction. You can make a scenery object to represent the outside of the building, and redirect enter from there to the appropriate compass direction. Likewise, from the inside of a building or location, it’s good to allow for both out and the compass direction. For stairs, if a stairway to the north leads upward, both north and up should work.
Implementing nouns: People tend to get annoyed when nouns in the room description are not recognized by the game, especially if those nouns seem interesting or important. They don’t all necessarily need a unique description–for instance, you can have multiple related things point to one common description, by making them synonyms–but people like to have SOME sort of response to x noun.
Synonyms: Include synonyms so players are not forced to guess the verb or the noun.
Extensions: Object Response Tests and Property Checking are very useful extensions to avoid overlooking things.
Puzzle Feedback: Give feedback to players to let them know if they’re on the right track with a puzzle. If they try something that makes sense but isn’t the right solution, give them a nudge in the right direction.
Hints: One of the common hint systems relies on a style of menu that requires you to key up and down, and that type of menu is not very screenreader friendly. In-line Topical Hints is a good alternative. github.com/i7/extensions/blob/m … 0Hints.i7x.
Conversation: Conversation systems vary, but if you include one it’s a nice touch to give some sort of response if players try the wrong wording. E.g. if you are using ask and tell, it’s nice to have some sort of response to talk to to redirect people.
Player: Including a non-default description of the player is sometimes used as sort of a litmus test of polish.
Testing: The number one rule, though, is beta testing. And crediting testers under about/info/credits.