Nothing seemed to fit. Even descriptors which fit Cuthbert’s outlook on the situation, like ‘influential gentleman’ and ‘confident man’, felt a little awkward when they were repeated over and over, particularly
when that influential and confident man begins attacking Cuthbert with a dagger.
‘The influential man lunged forward’ and ‘The confident man drove his dagger into Cuthbert’s belly’ don’t really flow on well. It seems strange to note someone’s confidence when they’re stabbing you in the face. As confident as I’m sure they’d have to be to try.
I wound up settling on a name which doesn’t quite fix the problem so much as obscure it: the stall vendor. But, to feel a bit better about the situation, I also wrote up a conversation tree option between the character and Cuthbert where he asks to be thought of as my long-suffering partner Sam’s name suggestion: a lifestyle change technician.
The joke is on-going; as soon as the character says it, his name changes to ‘lifestyle change technician’ everywhere it appears.
It’s something I’d known I was going to do for a while, change what something was called depending on what options the user has and hasn’t seen. I’d actually allowed for rooms to have different names, a desert becoming a witnessless desert (probably full of thieves) if Cuthbert starts to overthink it though, when I looked at how I’d done it, it seemed a little clumsy to carry on with and use in other places.
I decided I’d sit down and set up some clean, reusable code to allow names to be changed. It would be a quick job, I reckoned. I’d write the function, change the ex-salesman’s text to use a neat name placeholder, then get back on track.
Seven days and twenty commits later…
You might think by now I’d have learned not to think of anything as ‘a quick job’ but, there I was, a week later, frantically refactoring – and more frantically re-refactoring – my entire method of handling placeholder text, reworking all of the text for combat, for fallback options, for the ruddy technically-salesmen-can-also-sell-you-on-ideas-salesman, trying to get the sodding right combination of square brackets and pipes to have a working regular expression match.
So many square brackets. So many pipes.
But. After lots of head scratching and hair pulling and soothing scalp gel applications, I’ve sorted it out. We’re back to the same level of functionality we were at last weekend.