Building Blocks: Names
November 29, 2001 - "What's in a name? That which we call a rose... By any other word would smell as sweet." So spoke The Bard in Act II, scene ii of Romeo and Juliet, one of his most famous plays. And, the sentiment is just as true today as it was 400 years ago. Items can have many, many names without so changing their underlying nature...
... and in online games players are going to do their best to confound you by using every single possible for every portable and detail you have in your game.
Last week I started talking about details, and in doing so I opened a whole new can of worms. Because, you see, details are specific, unique items which players will try to interact with. They'll want to kick a desk and sit near a fireplace and lay on a table. How do they do so? By typing in the name of the detail they want to interact, be it desk, fireplace, or table. (As we'll see in the months to come, this discussion is all going to apply to portables as well.)
It would seem that it should be pretty easy for a game designer to figure out how to create these names for their portables and details... and it is pretty easy, but you should still do a little bit of thinking about how you're going to name your game objects.
What's in a Name?
So, what's in a name? What is it composed of and how should it be used?
The simple answer is the functional one: a name is a label used to refer to a specific object or a portion of a specific object. The answer to what a name is composed of, on the other hand, has changed over the course of history for prose games.
The earliest popular adventure game, which was Adventure: The Colossal Cave had a colossally simple parser which it used to read player commands. As a result, you could only refer to objects with nouns: jewelry, dragon, wand, that type of thing. In actuality, the parser was even simpler than that, and it only looked at the first four letters of each noun jewel, drag, and wand in my above examples. (Explaining, I think, why I was a teenager before I knew whether to write jewelry or jewelery when talking about that shiny stuff worn as ornamentation.)
Since those days, parsers have gotten better. The Zork parser could read an adjective followed by a noun: old lantern. The Skotos parser can read an indefinite article or definite article followed by an arbitrary numbers of adjectives and then a noun: a tight cerulean tunic. I've seen some parsers which can take prepositions as part of a name too: bag of gold.
This whole batch of articles, adjectives, nouns, and prepositions is called a noun phrase because it can take the place of a noun in a sentence. It's the core definition of what a name is.
What Isn't in a Name?
To date there aren't any parsers that can actually interpret human speech correctly with high reliability. As a result, any parser is going to have some limitations some speech structures which it doesn't understand. This even affects something as seemingly simple as names there are certain names that you can't use.
This is all going to very from one game to the next, but for the Skotos parser the following types of names are currently illegal:
Names with Prepositions: prepositions are those parts of speech that show physical relationship, such as on, from, of, and with. Because the Skotos parser tries to link prepositions up with physical proxes, they can't currently be used as parts of names. So you can't have "pieces of eight", "cheese with crackers", or "the creature from the Black Lagoon".
Names with Possessives: possessives are those parts of speech that show ownership such as his, Shannon's, and mine (all mine!). Possessives are used by the Skotos parser to indicate ownership if you want to look at girley handkerchief that Martel is hold you say "examine Martel's girley handkerchief". But, as a result, you can't have items with names such as "King Louis' crown", "Van Gogh's portrait", or "Prince's missing name".
Names with Cardinals and Ordinals: these are numbers like "one", "two", and "three" or "first", "second", and "third". I'm not really sure what would happen if they were used in a name in a Skotos game, but I know they have very specific meanings, so I wouldn't suggest it.
Really Complex Names: In real life, you might have really complex noun phrases referring to objects, such as "that thing, you know that thing that you showed me, that you said that you liked, that was at that store that we saw, out when we were on that trip, over to the other side of the Bay, you know." There's going to be lots of really complex stuff that's right out on any prose parser you try and use. Remember that you're going to have to keep it simple. At Skotos that's once more: definite or indefinite article, some number of adjectives, and a noun.
On other game systems, and even in the future as the Skotos developer system develops, your mileage may vary.
Doing Business with an Alias
However, as Romeo & Juliet learned so long ago, it's often useful to have more than just names, but also aliases alternative ways by which to call things. As a game designer, this is particularly important, because you want to make sure that players will always be able to manipulate an object, no matter what whacked out but somehow ultimately sensical in their warped little minds name they use.
If a player is trying to manipulate chinos, and calls them pants, you probably want to allow it. You might also want to allow "garments" as an alternative noun.
Then, you'll want to allow for a large number of adjectives too, mostly so that players can differentiate between different, but similar items in a single locale if you have both "long chinos" and "short chinos", both "black chinos" and "gray chinos", then a player will be able to exactly specify what he wants in each case.
And those are the basic arguments for aliasing we'll get into more of the specifics in a moment when I offer my suggestions on "Naming Objects".
Clustering: A Brief Aside:
It's relevant here to mention the somewhat related issue of clustering. At issue is the fact that if you walk into a cluttered room, with a gazillion different items, you're not going to be able to read a list of all of those individual items. Rather, it's easier if like items cluster together.
If there was a red tunic, a green tunic, a blue tunic, a black tunic, gray chinos, black chinos, white chinos, and khaki chinos all in a room, you might see: four tunics and four chinos. That's clustering at the most basic level; it's easy when you have largely similar items in a room.
However, it might also be that you had all of those pieces of clothing and also a long sword, a rusty dagger, two old lanterns, a candle, John, Fred, and Liz all in a room. In this case, it would be nice if you saw something like: eight garments, three weapons, three light sources, and three people.
The exact specifics of how a clustering system might cluster and how it should is fruit for at least one other article. The point, related to names, is this: offering category names for objects not only makes it easier for players to manipulate them, but also makes it easier for them to cluster together in rationale names.
Alright, so you now understand the problems of clustering, the reasons for aliases, and exactly What's in a Name. You're ready to take the jump now, and actually name an object. Take one of those details that you recklessly created last week or a portable which you'll be creating down the road and start laying in.
1. Choose the Basic Name for your Object
This should be the noun that appears in the description of the object shown to people in a room the brief description in Skotos games. Use it as the start of your item naming scheme you'll have a lot more. This time around, let's use an example of a "table".
As you're adding this noun, and all of the adjectives we'll be talking about in a minute, you should make sure that you're avoiding some of the illegal types of names mentioned above.
2. Add in Adjectives Described in the Object.
Next, go through all of your other descriptions of your object and make sure that you include all of the adjectives referenced there. If you have a table, and it's called a "wooden table" in the brief, and the look says its "cracked" and "old" and the examine say it's "millennial" and "beaten", make sure that every one of those adjectives are on your list.
3. Scour Other Descriptions for Appropriate Adjectives or Nouns
Next, go through all other descriptions that may refer to your object. For portables this really isn't an issue, but for details of any sort, you'll want to skim through the parent object, and even other details and see if any other adjectives or nouns are used to reference the object. Perhaps in the room description that contains this detail, it's referred to as an "eastern table".
4. Add Alternative Names
Consider whether any alternative names will make it easier or more likely for players to be able to manipulate the object. Will players be happier if they can call their "table" a mesa? No, problem not, but it suits the purposes of this example. Make sure you think about any new adjectives that your new noun might require.
Nouns: mesa, table.
5. Add Category Names
Make sure that you add in those category names that we mentioned before, both to make it easier for players to manipulate the objects, and also to make it easier for objects to cluster. A table is perhaps "diningware" and definitely "furniture". As before, remember the adjectives too.
Nouns: diningware, furniture, mesa, table.
6. Add in All Appropriate Sub-names
Last week, in talking about details, I mentioned that sometimes you're going to find parts of an object that you really want to describe more, thus creating details and other times you're going to find parts of an object that you don't want to detail more. When you don't want to add detail, I suggested pointing the sub-name of an object back to itself.
For example, our "table" has "scratches", a "surface", "legs", and an "underside". Only the underside is really worth detailing, because there happens to be something hidden there. Everything else can just point straight to the item, and thus those other sub-names become alternative names.
This is where it's really important to add in adjectives, because there are probably some listed in the descriptions of the object. It might have "deep scratches", a "rough surface" and "four legs".
We're going to leave out "four" for the "legs", as it's on my list of illegal parts of speech, but everything else goes in:
Nouns: diningware, furniture, legs, mesa, scratches, surface, table.
The clever reader will note that if this list is implemented exactly as it appears a player could do some bizarre things, like examine the "rough scratches" or the "deep table" or the "old scratches". This may or may not be correct, on a case by case basis. "Deep table" is clearly utter silliness, but "rough scratches" and "old scratches" may both be correct.
At Skotos, at least, everything goes into a single list of nouns and a single list of adjectives, as the ability for a player to use a wider variety of names is better than forbiding him from typing wacky stuff (which only he sees anyways).
7. Organize Your Nouns
You may be done at this point or perhaps not. Some systems, Skotos' among them, need your organizational help to improve their clustering. In Skotos' case, all of the nouns need to be grouped from most general to least general. If there are a bunch of names all at the same generality, just group them together.
The more general names will be the ones that are used in there are too many objects in the room and more clustering needs to be done.
Organized Nouns: furniture, diningware, table, mesa, surface, legs,scratches.
The asture reader will once again note that there is opportunity for wackiness if a number of different objects in a clustering room happen to have the same sub-names (like surface, legs, and scratches). Don't worry about it too much, other than putting those things down at the bottom of your list. Sub-names generally won't match across many items.
And, that's it. Congratulations; you've completed the arduous task of naming an object.
OK, I'll admit, that's even a little more in-depth than I tend to run in this column. But, nonetheless, I think there's some valuable content about naming there. Next on my list of Building Blocks is the much deeper subject of inheritance, but I'm first deciding if I want to take a brief aside with something a little less academic.
We'll see what happens in 7 days.