Esoteric Update #144 - So I Messed Up


Ok, so I messed up...

Firstly, no lore this week, I'm running late with everything anyway, and I just honestly don't have the energy to pick something out and fight with WordPress about uploading it. So I'll maybe post something extra next week. We'll see.

So, yeah, I messed up.

Last week wasn't particularly pretty in terms of game development. I've essentially put myself in a position where I had to delete about a week worth of work (reaching about to the middle of last week) and start over. Why?

The output was terrible. I messed it up by trying to be too clever with the automation, but the result was writing that, in the literary sense, was of poor quality. It conveyed the information that I wanted, absolutely. But it did so without any sense of artistry and... I'm not about that.

So I started over, ripped it all down and fortunately, with the help of Dolly, managed to fix a lot of it. Not all. I'm not going to be able to reproduce a week of work in about three days after all, but what I do have now works a lot better. Fortunately, I think it also provides a pretty good insight into what I intended to show initially, even if this is... mmmm... maybe 50% of it.

So, the element I was working on was an exchange of greetings when the player comes to visit an NPC. In this case, it's Cornelius. First, let's go over one case of the example output:


So here, we see the game describing the PC approaching Corny's door, knocking, he shows up, there's a brief description of him, some dialogue and some additional narration. The whole process of building that narration is based on the goal-based AI I've talked about before. It's essentially strung together from overarching behaviours as well as smaller sub-units that get triggered from it. So, in this case, we first have some initial set-up from the scenario being triggered (top layer unit of organisation), which then pushes a behaviour (second organisation layer) onto the stack, the "greet PC at the door" behaviour.

This behaviour then pushes a bit of narration describing the NPC and then a dialogue to say hello. Both the narration and the dialogue are, in essence, the third layer of organisation here. The thing is that saying hello itself pushes further elements onto the stack, more narration and more dialogue, randomly, which means that it in total produces 1 to 3 units of output for the system.

All the while, the output raises observations about his behaviours that are intercepted and later considered by the PC. That is to say when the PC's possible responses are listed. There are nine possible options in this test responder, 5 of them being conditional. Possibly the best way to show that is just to display this different case where different text was generated, prompting the responder to offer different choices to the player:


Now, I know this might seem pretty small, and it is, yeah, I did have to kind of start over from an example that used to be bigger, but it's not about the actual output; it's about the techniques of getting it. The code that goes into the generation process, selecting valid responses, etc.

The point is this is a working test case I can expand now, unlike the one I discarded, which did not work at all. I don't think it was possible to save it. I can now focus on integrating more elements into it, expanding the whole generation process and moving on to further behaviours that become part of a visit.

Get Esoteric ♥ Esoterica

Leave a comment

Log in with itch.io to leave a comment.