The Current Encounter System

One important feature of the Encounter Editor is its reliance on specified numbers of components. For example, it specifies exactly five characters, neither more nor less. This restriction could be removed if we delete the pink character exclusion panels. The system also permits a maximum of five options and four reactions to each option. Most programmers prefer being able to set their own limits. Well, too bad!

In this essay, I shall review the operation of this software. Here’s a screenshot of the entire editing window:

MainWindow

Let’s go through this panel by panel, starting at the upper left:

ThreeButtons

These three buttons perform tasks that would be better placed in menus, but I was too lazy to install the menu system, so I just used buttons. The first button allows the author to sign their work. The second button is the standard ‘Save File’ option. The third button initiates a testing process. More on testing later.

The column underneath it presents the list of all the Encounters created so far. Individual Encounters can be selected from this list for editing.

The + button on the top allows the user to create a new Encounter; the - button deletes the selected Encounter. These could be handled with more conventional interfaces.

The top center panel contains the text box for editing the initiating text to be presented to the player. This is the text that will introduce the player to the minor dramatic challenge of the Encounter. It provides an opportunity for background information about the characters and the situation.

TextBox

Every Encounter has a Protagonist and an Antagonist. The Protagonist is the player; the Antagonist is the character with whom the player is interacting in the Encounter.

The next box in the central panel handles ‘prerequisites’ and ‘disqualifiers’. These are used for establishing causal linkages between Encounters. A Prerequisite is an Encounter that the player must have experienced before seeing the currently selected Encounter. For example, if the currently selected Encounter involves the player’s crashing their brand new Tesla, then it must be preceded by the Encounter in which the player acquires the Tesla.

Prereqs

A Disqualifier is an Encounter that, if experienced, precludes the currently selected Encounter from being presented to the player. For example, the Encounter in which the player washes his new Tesla cannot be preceded by the Encounter in which the player crashes his new Tesla. The crash-Encounter is a Disqualifier for the washing Encounter.

These panels are easy to operate. The player clicks on the + button to add an element to the list; then the player clicks on an Encounter in the Encounter list. To delete an Encounter from one of these panels, the player clicks on that Encounter and clicks on the - button.

Exclusions

This panel permits some rather obscure capabilities that might well be dispensed with. The upper set permit the user to prevent some of the characters from appearing in the selected Encounter. For example, if an Encounter involves a character engaging in gender-specific behavior (using tampons, say, or deliberately burping loudly), then the characters of the wrong gender must be excluded. The lower selectors permit the user to restrict the time window during which the Encounter can appear. These are both rather special capabilities that might well be removed from the design.

This green panel permits the user to create the options available for the player. Only five options are permitted—perhaps this should be changed. The user merely types the text into the box.

Options

The user can assign up to four Reactions to each Option. This entails some complexity:

Reaction

The user creates a Reaction by simply typing text into the text box; so long as a Reaction text box contains the text “Unused Reaction”, it is ignored. (Should the tag of an unused reaction instead be only an empty text box?)

Underneath the text box for the Reaction are the controls for deciding which Reaction to choose. This uses the algorithm Blend(Trait#1, Trait#2, SliderSetting). Trait #1 and Trait #2 are selected from a menu containing twelve items:

Bad_Good -Bad_Good
Faithless_Honest -Faithless_Honest
Timid_Dominant -Timid_Dominant
pBad_Good -pBad_Good
pFaithless_Honest -pFaithless_Honest
pTimid_Dominant -pTimid_Dominant

The user selects one personality trait for each of the two parameters, and then sets the slider to assign the weighting factor to use for them. Of the four possible Reactions, the one that ends up with the highest net result will be chosen by the algorithm.

The last panel, in the lower right corner, lets the user control the emotional reaction of the Antagonist to the player’s action (the Option that the player chose):

BlendingChange

In this example, the following equations will be executed:

pBad_Good(Antag, Protag) = Blend(pBad_Good(Antag, Protag), -0.86, 0.00)

pFalse_Honest(Antag, Protag) = Blend(pFalse_Honest(Antag, Protag), 0.84, 0.00)

pTimid_Dominant(Antag, Protag) = Blend(pTimid_Dominant(Antag, Protag), 0.00, 0.00)