29 July 2012

In the previous "Making Of", we covered the motivation for combining genres and I am willing to explain the game dynamics that I have used to create the story.

The system is based on the Ultima computer game series where your decisions are used to create a profile on your personality by asking you questions like the ones I have mentioned in the Overview section. When you answer a question, you effectively make a choice between character traits.

For example, a question could determine whether you are more inclined towards "compassion" or "valour" - again, you can notice that the questions do not have "right" or "wrong" answers.

Ultima uses three sets of virtues, each composed of other sub-traits:

"Truth" is the intersection of Justice and Honor. "Love" is the intersection of Sacrifice and Justice "Courage" is the intersection of Sacrifice and Honor

You can represent the main virtues "Truth", "Love" and "Courage" as circles that intersect each other. For example, using the table above, we can notice that "Truth" intersects with "Love" on the Justice trait.

In that case, what I did was to make up three distinctive endings, each of them being either some "Truth", "Love" or "Courage" ending. The task will be to let the reader make their own choices but to determine somehow which of these three main virtues is typical to their character. I did not want to make the story too long and would have settled for just a "two out of three" questions to determine which trait is predominant.

Thus, the possible outcomes are:

(Love, Love, Compassion) => Love; (Truth, Truth, Love) => Truth; (Courage, Truth, Truth) => Truth; etc...

Now that we know the possible outcomes, we have to encode them into page numbers so that they are spread out through the whole adventure. The obvious choice for that is to use prime numbers because they have no common denominator:

Let Love = 1 (L) Let Truth = 3 (T) Let Courage = 7 (C)

And let us calculate all the possible permutations of the set of virtues:

LLT => Love => Page = 1 + 1 + 3 = 5 LLC => Love => Page = 1 + 1 + 7 = 9 TLT => Truth => Page = 3 + 3 + 1 = 7 TLC => (Special) => Page = 3 + 1 + 7 = 11 LCT => (Special) => Page = 1 + 7 + 3 = 11 LCC => Courage => Page = 1 + 7 + 7 = 15 TCT => Truth => Page = 3 + 1 + 3 = 7 TCC => Courage => Page = 3 + 7 + 7 = 17

We now know that the "Love" ending is on page 5 or 9 and we will pick one to redirect to the other (for example, we could write on page 5: "[ Please turn to page 9 ]" which is not a problem. The only problem we could have would be if two or more endings clashed together on a page, such as the "Courage" ending page would be also the "Truth" ending page.

The singularities where we get TLC, we reserve for a more "special" ending. :-) In Ultima terms, this is called an Avatar (the union of all virtues, Godlike, basically).

The next step is to create your framework, preferably in the same document:

Page / Chapter 1

...

Page / Chapter 5

LOVE ENDING (Reserved)

...

... and up to as many chapters as you want.

The rest is no different than composition. You start with the first page or chapter and carry on sequentially, filling in the blanks between the (Reserved) tags which you will fill at the very end (or beginning, as you wish). It is important not to despair and be tempted to fill in "page 32" thinking that you "will remember where it was" and that "you'll link to it later...". That will never happen. Mark your reserved pages and chapters for endings or special events and then just write the story sequentially. If you do that, you could jump from page "1" to any arbitrary page, as long as the page you jump to is not a reserved page. A good idea is to scramble the story so that you do not have a cluster of pages, such as all the endings in order, page 22->32 because that gives the plot away if the reader stumbles on them accidentally.

I also chose glyphs that you obtain in order to encode "Love", "Truth" and "Courage" however, they could just as well be items. I just chose a mapping:

Truth <-> torch, book (for cases such as TTL, where you have two truth virtues) Love <-> dove, rose Courage <-> ship, anchor

You can also expand on the system, I chose 2 out of 3, but you could do 4 out of 6:

LLTC TTCL CCLT TTCC <-- an extra question is needed, or you could use the intesection between truth and courage which is Honor.

Or even use the sub-virtues: "Justice" (J), "Sacrifice" (S), "Honour" (H), "Honesty" (O):

JSHO OJJH OHHO JSSO ... etc...

The problem when you map prime numbers to virtues, is that you may end up with a case such as TCCC, which would be page 24 (3 + 7 + 7 + 7), meaning that you will have to write 24 chapters just to fill up to the TCCC ending. Imagine mapping the subvirtues:

Justice (J) = 1 Sacrifice (S) = 3 Honour (H) = 7 Honesty (O) = 13

The full "Honesty" ending would be OOOO, which maps to page 52. It is doable and even quite low for the average 400 chapter reference adventure book.

If you are computer savy, and you like games, these stories can be represented as automatons where each transition from state to state depends on the choice of the user. All the questions that you ask the user and events that happen can be represented by if-clauses:

page 7: if("you have sword") goto page 29 else goto page 4 page 8: .. page 9: ... page 24: if("story turns you on") goto page 30 else goto page 7 page 25: ... page 29: fight monster (roll dice) if("you are still alive") goto page 30 else goto page 1 page 30: say("i know you are") ...

It looks like assembler, doesn't it? That's exactly what it is: a collection of commands and jumps.

You are literally just building a continuation-based machine ala Zork or Adventure. The Amazons can really be turned into a text-mode adventure using the semantics above. You can also add graphics and nice visuals, but the essence is always to have a meaningful story to tell.

You can also include the dreadded sub-puzzles. Like on page 25 you could make the user find out some "special" number that they have to guess, defeat a bridge troll or any other puzzle. Regardless of the outcome, the branching in the story would be either that they managed to solve it, or not. Frequently, you just lock them into a state till they finish the puzzle or the story does not progress - that's when people download walkthroughs, cussing at you. :-P

This could make a good end-year project, either for literature or computers.

evacomaroskiThe Amazons - Making Of (Game Dynamics) • Opuss № I