The design has progressed far enough that I can now perceive fundamental problems that must be solved. To put it simply: boolean versus arithmetic?
The design so far has been essentially boolean in structure. Throughout the design process I have assumed that arithmetic elements will be dominant, but in practice, everything has been implemented in boolean form. Thus, the design is architecturally indistinguishable from a 40-year old text adventure. I have put off implementing the arithmetic elements, thinking it better to get the skeleton of the design in place before proceeding further, but now I realize that it is imperative that I make important decisions about the arithmetic components of the design. Here’s a diagram for the encounter sequence for a climactic battle with the Saxons:
As currently implemented, it’s all boolean; the player chooses an option, which takes them to the next encounter. Thus, the player’s task in playing is to memorize the correct sequence of options; no judgement is required. Just trial and error plus memory. This is totally unacceptable.
In order to use arithmetic weighting, the branches must be decided by numerical values. Those numerical values must reflect the morale of the individual sub-kings. That in turn will depend upon the casualties they have suffered relative to the Saxons.
I can do that. But the killer problem is feedback: Arthur can’t make informed decisions if he doesn’t know the situation. This means that I must communicate to him the state of the different sub-kings. That in turn requires arithmetic feeback. Of course, I’m not going to plaster numbers onto the screen, but I can used scaled adjectives, as I developed 35 years ago with Tinkertoy Text. I’ll also need to give Arthur options to gather specific information.
I have a lot of thinking to do.
Later
I am reorganizing the showdown battle into a conventional tree. I must add investigative options that give Arthur the opportunity to learn about the condition of his men. The problem here is that I have only five option slots, and eight sub-kings to investigate. Perhaps the solution is to have one verb for battle action and four investigative verbs, allowing Arthur to probe his army in alternating patterns. After all, there are eight different sub-kings. But these will have to be repetitive encounters, so I’ll need different versions.
So I redesigned the showdown battle network like so:
This is an abstraction: each of the bubbles represents a number of different encounters. The “ObserveBattle” bubbles will consist of a combat anecdote combined with a Tinkertoy Text element that will indicate the overall state of the sub-king’s men. The “CombatOpportunity” bubble will give Arthur the opportunity to directly intervene in the battle. Here’s a sample of the bubble text:
One of the Saxon shields disintegrates not twenty paces away from you. Its startled owner stares dumbly at the fragment of wood he's grasping and starts to step back, but a bit of the broken shield is stepped on by his comrade, and the leather binding still attached throws him off balance just as a Britannic spear plunges forward and into his ribs. You call out, 'Good work, men!'
One of Bors' men has been unhorsed; it's not uncommon in battle, and the men know how to handle the situation. He draws his sword and is engaged in a ferocious single combat with a Saxon warrior. They're really going at it, and their neighbors on both sides are happy to let them carry on the fight. Everybody watches the combat in silence, huffing and puffing from the effort of fighting. Suddenly one of Bors' men lunges forward from behind the line. He's aiming for a Saxon who's watching the fight a little too intensely. The other Saxons start, but the intended victim doesn't see it coming. Just then the unhorsed hero jumps backwards -- and directly into the path of the oncoming spearhead. It rips sideways into his back and bounces off, leaving a long rip. The unintended victim staggers; in an instant, his Saxon foe dispatches him. The attacking Briton backs up quickly.
Bors’ men seem {demoralized|saddened|unaffected|unfazed|energized} by the tragedy; one of them drags his dead comrade’s body away while the others {fall back in some disorder|stop attacking the Saxons|seem uncertain|shout in anger|press home their attacks all the more fiercely.}
To make this work, I’ll need to implement a number of big changes. First, I’ll need to break up the long “ObserveBattle” encounters into smaller segments, because the player will have to sample them many times. Second, I’ll need to organize the “CombatOpportunity” encounters into some sort of meaningful sequence. Moreover, once Arthur commits to a course of action, the development of the battle will proceed without any more observations. Perhaps I can insert an option to pause, rest, and observe after a maneuver that does not result in outright victory or defeat.
This will require a huge change in the entire structure of the showdown battle scene.