Almost let the day get away from me without writing the update for Week 19. Project board says I’ve got 147 commits for the last 7 days, and closed all of my bugs (though a couple cosmetic ones turned up near the end of it).
Mostly this was an engine-work week again, so mostly working on Argus, rather than SNAFU, but SNAFU got some time as well.
The Linux port has been completed, now that the telemetry module is ported and the Story Compiler is done. With a little help from your friend and mine, glob.h, it turned out to be a quite straightforward job. I did spend about an hour chasing for a bug that wasn’t a bug (it quite simply didn’t exist), but it all works pretty well.
The telemetry module needed to be moved into the engine’s core from where it was (loosely bundled in with the interface code), as the Story Compiler wouldn’t build without it, and its connection with the interface code made it impractical to include. I’ve been resisting making that change for a while, but it is done.
Portraits have made their way into the code this week. Some prototype art has appeared for five of the playable characters, and portraits now appear when the characters speak (along with a generic image for anyone who doesn’t have one).
This required some additional changes to the underlying logic, as faces are like names. You shouldn’t see one if the character you’re playing doesn’t know what it is. Names can be partial (if a character only knows part of another’s name) or descriptive (if they know nothing), and are built up based on a character’s direct-knowledge and inferences.
Faces, well, faces are similar, but different. The short version is that we shouldn’t display a portrait for a character whose face your character has not actually seen, even if we have a portrait for them. A little bit of new scripting logic for the story needed to be implemented along the way, plus working everything into the existing knowledge representation system. Lastly, everything is passed forward to play nice with history-scrollback.
I don’t know what the final art will look like. Above, at the top of the post, you have the second version of the character of Sergeant Leo Bucket. I don’t know whether the final art will be similar renderings, or line-art sketches, or Naïve-style paintings, or even pseudo-paper cut-outs. Your guess is as good as mine at this stage. Everything’s subject to revision, and a final visual style has yet to be decided on.
Along the way, in non-code news, some of the prologue material has been lightly reworked, expanded and edited. There’s more of that to come. Mostly, it’s a matter of imagery and rhythm, but there’s some auxiliary story-telling yet to do.
All-in-all, an excellent development week, despite the limited amount of time I’ve had to work on it all!