The last two weeks have been about refactoring narrative. If you’ve been keeping up with these development blogs, you’ll already be aware that I’ve done a lot to introduce newer, clearer, improved syntax to the story definition to make authoring a lot easier.
What isn’t so easy is going back and actually converting over 25,000 lines of narrative from the old syntax to the new syntax.
Refactoring involves migrating the narrative from the old syntax to the new, without changing how any of it actually works.
Oh, the old syntax still works just fine (except in a couple cases where I’ve deprecated a few older actions), but it lacks the advantages of the newer syntax. One of those advantages is being able to more easily spot places where you’ve made a complete hash of things.
So, yeah, about that.
Things that I bungled that have only just now come to light
Now that the cast in a scene can be referred to by handy name-aliases rather than by numbers, it kind of stands out when you have a portion of scene where you completely forgot to give one (or more) of the characters any actual narrative.
Found one of those, and fixed it. Then found another, and then about six more. Yow! You think a scene is done and then discover it isn’t.
Another issue that showed up is getting characters mixed up. When you’ve got a scene with 1, 2, 3 and 4 interacting, it’s dreadfully easy to get a couple of those the wrong way around. When it’s Julia, Leo, Bree, and Lenni, it’s a whole lot simpler to spot that the wrong character is talking or a piece of narrative is going to the wrong character.
There were way too many instances of that. A dozen or more.
Worst was Tracy Jyne and Ella Rice. They spend the entire prologue and almost every moment of chapter one together. Several times early on, I accidentally got them switched around in my head, and had to try to fix that.
Refactoring into the new syntax showed me that I’d actually managed to break continuity for the two characters. It was just a matter of clothing, which seemed an easy fix at first, but with references to that clothing in a whole group of scenes, I wanted to figure out what would be the simplest and smallest set of changes that I could make to set it right.
That meant I had to leave it for a few hours, while I pushed on and refactored all of the rest of their scenes, so I could check each reference and be assured I knew which character I was looking at for any line.
And that’s when I spotted that I’d bungled their continuity a second time, attributing a backstory anecdote to one character in the prologue and to the other in chapter one.
Worse, the telling was too integrated into scene variations for me to just dive in and change a couple names.
It took a while, but I finally found ways to fix both things up without too much work, and it probably improves the overall narrative doing it the new way. Still, I’d like to avoid messing things up like that in future.
… And I just had to go and check one other backstory-anecdote for continuity. Whew! It’s all okay.
Even so, only half of the refactoring is done, with scenes 300-450.10 all sorted, and work progressing on scenes 100-292.
I’m also refitting the code, as well as refactoring.
Refitting is a combination of adding certain visual effects, proofing, polishing, editing, and fixing stupid mistakes, as and when they crop up.
That means revisiting every line of narrative yet again, and checking it for flow, tense, punctuation, and what additional effects it might need (since much of the current text was written before I had any at all).
I’m probably a third or so of the way through refitting, as I’m doing it in the wake of bursts of refactoring.
I was really hoping to be finished both tasks yesterday, but that was wildly optimisitic.
Maybe by the end of this week. We shall see. There’s a lot of work for the amount of time that can be practically allocated to it.