Verbs

Perhaps you recall Crawford’s First Law of Software Design: “Always ask, what does the user DO?” The subtitle of that law is “What are the verbs?” If you’re not familiar with the First Law, I urge you to read this explanation.

Here is where we get down to the heart of the matter, the core of the Death Star, the inside of Mt. Doom. So pull out your scalpel, arm your turbo-lasers, take firm hold of the One Ring, and gird yourself against overdone metaphors!

The verb determines everything about the sentence except the subject. Most attempts at computer analysis of sentences use complex and abstruse structures that can cover a huge range of possibilities. This can lead to a lot of complicated structures, as expressed in this diagrammed sentence:

Diagrammed Sentence2

Being simple of mind, I came up with a number of simple approaches, the basic principles of which are as follows:

1. We don’t need multiple clauses. Every sentence consists of just one clause. But a sentence can refer to another sentence.

2. We don’t need prepositional phrases; they are implicit in the verb. For example, the sentence “I give the book to John” can be treated computationally as “I give book John”, where both ‘book’ and ‘John’ are objects of the verb ‘give’. 

3. We don’t need adjectives, because whatever traits an object of a verb (Here I am using the word ‘object’ to refer to what might be called the ‘direct object’ or the ‘indirect object’— not the object that I dichotomize with ‘Process’.)  possesses are already intrinsic to that object. That is, the book in “I give book John” is specified as a Prop, and as a Prop, it has traits.

4. We DO need a special kind of adverb that I call “quantifiers”. These are words that specify the magnitude of the verb. They can take many different textual expressions, such as “I punch John hard” or “I cry softly”.

Thus, in my thinking, a sentence consists of a subject, a verb, possibly a quantifier, and an indefinite number of objects.

Word Types
Here we come to one of the messier aspects of my approach to sentence structure: word types. If you’re a programmer, you already know what a data type is: it’s a form of classification that ties a number to a meaning. For example, the raw number 27 doesn’t mean much all by itself, but if it’s in a variable of data type “Fahrenheit temperature”, it means a sub-freezing temperature. If it is in a variable of data type “Celsius temperature”, then it refers to a rather warm temperature. It could be in a variable of data type “Price”, in which case it refers to the price of something for sale. It could be almost anything: weight, size, length, duration, brightness, how many cats the little old lady has, and so on.

Data types can get complicated, but fortunately my simple mind keeps the data typing for my verbs pretty simple. I have found that I need just a few data types:

Actors
Obvious, right? The subject of every sentence has to be an actor. In most sentences the subject (an actor) does something (a verb) to the object (another actor). 

Verbs
This is another obvious data type for the words in the sentence.

Props
Since this is one of the elements of the storyworld, it needs its own data type.

Stages
Same thing as props. Different data type, of course. 

Quantifiers
These are the adverbs that specify the magnitude with which some verb is executed.

Events
These are other sentences previously executed. This permits the possibility of sentences that say something like “Fred told John that (Mary slapped Fred)”. This tends to get messy in practice.

Traits
I found it occasionally useful to have a word-type for the traits associated with each of the main word types: ActorTrait, VerbTrait, PropTrait, and StageTrait. The purpose of these word types is to permit descriptive sentences such as “Tom told Mary that Fred is {Quantifier} Bad_Good”.

Sentence = Subject + Verb + Typed Objects
Thus, an event in story is specified by a sentence, which is composed of a subject, a verb, and a number of objects of types specified by the verb. How many typed objects should there be? My experience has been that about 80% of all verbs require just one object (e.g., “John phoned Mary”). Another 15% require two objects (e.g., “John gave Mary the book.” or “John kissed Mary passionately.”) A few verbs require 3 or more objects (e.g., “John told Tom that Mary is {Quantifier} Bad_Good.”) Then there are the very few verbs that require a lot of objects, such as deal-making verbs: “John offered a deal to Mary in which John promised to give Mary the book in return for Mary telling John the stage on which Tom was.” Even with some implicit compression (the underlined words are implicit and unnecessary to specify), there are at least 8 objects for this verb. In my technology, I simply assigned 16 object slots to each verb; the author of the storyworld can use or ignore them, and most are never used. 

Verb Traits
The easiest way for me to describe verb traits is to show the verb trait editing dialog box used in my technology:

Let’s start at the top left and work our way across and down:

Expression
This is used in the presentation of the event to the player; it attaches an emotional expression to the face of the actor conversing with the human player. There are about 100 different facial expressions in the library.

Description
This is just a memo for the author of the storyworld to remember the function of the verb.

Witnesses
This is a fine point that you might want to ignore. Every verb has its own privacy level, and thus differing sets of actors may ‘witness’ an event—that is, become aware of its occurrence. If two lovers are in a restaurant and one whispers into the ear of the other “I love you so much!”, then nobody else on that stage (the restaurant) would be aware of the event and so couldn’t react to it. On the other hand, some events are so sensational (e.g., “President assassinated!”) that everybody everywhere knows about them (‘witnesses' them) instantly.

There are also cases in which some actors must NOT be present because they might witness the event, and the subject doesn’t want that actor to witness the event. For example, in the verb shown here, “What do you think of?”, the subject is asking the first object (“3Actor”, the actor in the third word slot) what 3Actor thinks of 4Actor. Obviously, if subject and 3Actor intend to gossip about 4Actor, they don’t want 4Actor to overhear their gossip, so 4Actor must not be present when this event is executed. 

Hijackable
Another fine point that you’ll probably want to ignore for now. If checked, then the event containing this verb can be interrupted by a third party. Example: 

Tom: “Mary, what do you think of John?”
Mary: “Well, I…”
Ann: “Hey, Tom, it’s great to see you!”
Tom: “Oh, hi, Ann! What’s up?” 

Mary never gets to answer Tom’s question.

Occupies DirObject
A small bit of terminological confusion: in my technology, I used “DirObject” to refer to the direct object of the verb, which was the same as 3Actor. When checked, this box indicates that the DirObject cannot do anything else while it’s happening. This may not seem necessary until you get two people talking at once. 

use abort script
This is REALLY rare! On a few rare occasions, I have found it necessary for an actor to abort a previously planned action. For example, John sees his wife Mary hugging Tom, and goes home to get his gun to shoot them both. Having planned to shoot them, he returns to the scene and finds Tom sobbing over the death of his mother. Time to abort!

Timing: time to prepare
This is another seldom-used verb trait. Most verbs are immediate in nature: the actor executes the verb immediately after deciding to do so. But every now and then you get a verb that requires some preparation time, and so must not be executed immediately. 

Timing: time to execute
Answering a question “Yes” takes but a moment, but making love had damn well better take a lot longer.

Timing: Trivial_Momentous
I cannot recall why this got shoved into the Timing box. It turns out to be useful for people sharing gossip. If Mary witnessed Tom take out the garbage one day and throw the garbage all over the neighbor’s lawn the next day, and Mary later wishes to share gossip with somebody else, she needs some way to figure out that the latter event is much more gossip-worthy than the former. Hence Trivial_Momentous.

WordSockets
This is where the author specifies the additional objects that will be attached to the verb. Each of these ‘WordSockets’ holds one object, and the author who wishes to use a WordSocket must specify the word type that will be used in that WordSocket. 

Consequences
There’s another little box tucked in underneath the Properties and Sentence Display boxes: the Consequences box. When you click on this, it raises a popup menu that has secondary menus:

These menu items allow you to set the values of variables that change as a direct consequence of the execution of the verb. In this case, I have chosen to set the “Unconscious” value of an Actor. This creates a new script:

That script is visible on the far right. You can now enter its values using standard editing procedures. 

I told you that verbs are complicated! But this is only the beginning! It’s about to get MUCH more complicated!