First thing I need to be able to do is chain actions together. Which means I need a way to know when they are completed. So here’s the plan: I’ll run a co-routine that passes the time, and activates the next action in a chain when it’s done.
We’ll test it by having two dialogues in a row with different ‘speakers’.
Sweet. Only had to squash two major bugs to pull this off in a psuedo-hacky way. That’s not gonna come back to bite me at all!
Now that we can put dialogue before choices, we need a choice menu. Ugh. I feel my motivation drying up.
Tomorrow I rest, and the next day, I begin work on a new project. Nothing to do but charge forward! WAKANDA FOREVER!
So, tinkering around with this, I’ve got a menu made up, and I’m starting to rig code to it…
I think I want to make an action queue. Like, in general. Every time an action is taken, it gets added to the queue rather than executed. Then, each action is run until it is completed or aborted, and the next action comes off the queue. This is fundamentally different to what I’m doing now… I’m just running every action right away, and when I want to string together a list — and only then –, I do this hacky thing where I go over the list in a coroutine, moving to the next a quarter of a second after I determine that one is done.
I don’t like it. It feels messy. It feels like strings of actions, each waiting for the previous one to complete, are going to be a frequent situation in an RPG.
I’m not sure. This seems like a drastic retooling. A “starting over” kind of situation. I want to build the best foundation I can, though, as I intend to run several games on this framework.
It’s worth additional thought. But my work time today is complete, and the day after tomorrow I will be working on a different project. So I’ll have some additional thought.
Time to leave myself extensive notes. Update the repo. And then draw caricatures of the King of Kings. Because I like to live dangerously.