Due to Easter and other such complications, I didn’t end up posting a development update last week. It’s been a great fortnight, though.
Let me rummage through my notes and see what we’ve got.
Due to Easter and other such complications, I didn’t end up posting a development update last week. It’s been a great fortnight, though.
Let me rummage through my notes and see what we’ve got.
So, 26 weeks is six months. That’s a while, even if I haven’t been working very many hours each of those weeks. Things have come a long way since those first few lines of narrative and code.
This time, there’s a video. It’s short, only twenty seconds long, but it shows some of the options screens in action.
Lots and lots of progress made this week, despite a weekend’s worth of development time lost to Stardew Valley. Oops! I suspect some of you are in the same boat.
Nevertheless, let’s get on to the good bits.
Last night, I tried to write a simple function. It should have taken me about a minute to write, and eight lines of code.
I got it wrong. Very wrong. Astonishingly wrong.
I got it wrong in every possible way you could get it wrong, and in a few entirely new impossible ways, apparently artisinally-crafted just for the occasion.
In short, I screwed it all sideways, and sixty seconds of code turned into somewhere North of two hours of swearing and debugging.
Today, it’s all genius again. Less than a dozen lines of code adds optional mouseover logic to my widgets, which gives them a delicious, customisable, tactile feedback. Great code. Elegant, concise, and correct.
I revisited last night’s code and fixing it was trivial and obvious.
Look, it doesn’t matter how good you are. You may be smart, skilled, and experienced. You can know your language inside-out. You can thrive on it like some cyborg supercomputer hybrid. You can be a genius among geniuses.
Sometimes you are just going to be unable to sit down and do the thing without completely bollixing the whole thing up, and bollixing it worse when you try to fix it.
You will have times like this. Fifteen minutes. An hour. Two hours. Maybe a whole day. It will happen.
Own it, because it’s going to get you now and again. Sometimes you will screw up the simplest arithmetic. Sometimes you can’t get something right even though you’ve done it a thousand times, like a champ.
If you can’t do the thing, do something else. Have coffee. Play a game. Help another team-member. Get lunch. Take a nap. Ask someone else to do it. Sit in the garden and sob inconsolably – whatever works for you. Just walk the hell away from what you’re screwing up and come back to it when your head is back in order.
An even more important lesson here is to help others deal with it when it happens to them, too. Because it will, and dissing them about it makes you an arse.
Screwing up is less important than properly dealing with it.
I should have closed my editor at least an hour sooner than I did, and done something else. Instead, I kept burning time in The Pit of Fail.
Don’t do that. Do something else. Do anything else.
I missed last week’s development blog post due to the pressure of other things, so I’ve got two weeks to cover.
On the narrative side, I’m nearing a long-awaited story milestone. The prologues are complete for each of the eleven protagonists, and all but two of them are written through to the end of the rather dense and complicated first day of the story proper. Once those last two characters are written through, that will represent a major milestone.
That brings us to (today), 88 scenes and 232,814 words. That’s more than Dune (the book), or Neverwinter Nights (the game) [This isn’t a competition!], but we’re not really into the full swing of things yet. That will be in the second Act, which is where the bulk of the narrative technology should start to shine (I hope!).
There wasn’t a status report last week, because I was without electricity and an Internet connection, as a result of several days worth of getting the house rewired. Even this update is posted a day later than I’d intended.
That is past, and a lot got done during the rest of the time!
Continue reading Development Progress Report, weeks 20 and 21
Much progress this week. The SDL porting is essentially complete, and the code now also builds and runs on 64-bit Linux!
A whole lot of the code, and the drawing/rendering logic is a whole lot cleaner than it was, though there’s more that can be done there.
Coming out of the tangled and awkward mess that constitutes the usual (and I use the term advisedly), “festive season”, I’ve had my head down with a fairly major overhaul of the game-engine.
Once I started, it was hard to stop – particularly, since once I started, the engine was pretty much broken until I was mostly done. The primary work was converting to SDL (version 2, in case you’re wondering). I spent a couple hours figuring SDL out, then dove into the conversion.
The secondary work was just as interesting, as I started doing the necessary portability work to get the engine to build and run on other platforms.
Well, as predicted, I didn’t end up with very much time to work on Argus and SNAFU this last week.
I did however, have a couple stretches (mostly on Saturday) where I was able to buckle down and really hammer away, though.
One of the more involved aspects of the Argus story engine is how characters learn and express information about each-other. Some of that knowledge is just used for conditional narrative, but the most important part (currently) is how characters address each-other.
Names, titles, nationality, differing levels of formality, age, gender, and more, all get churned through sets of constructs provided by the story, which ultimately result in some form of address. That’s what I call the reference model. It’s updated as characters learn new information about each-other, and gaps in the knowledge-structure are filled in with assumptions, where no direct knowledge exists.
And annoyingly, way down in scene 360, one of the characters seemed suddenly unable to create a valid form of address for the character she was speaking to.