Encounter Complexity, and OOO Tomorrow
Hey Folks! More work on the encounter system today, as I discover encounters seem like they should do everything. And that's hard to build.
Yesterday, I managed to get the encounter UI displaying text, markup, and links in a pretty basic way. So the next step is to feed it some encounter data, test it out, and iterate. Except there's one problem: what does encounter data look like?
My first thought was maybe just copy the interaction data. It already has a lot of what I'll need, such as description text, a list of possible outcomes, logic to control said outcomes, room to specify an image, plus a range of status and item rewards to apply, items to take/transfer/remove from either party. Generally, a lot of transactional stuff.
So I started mocking-up a sample encounter to see if that would work. We meet a bootlegger in station A, who offers us some crates of liquor at a special discount. We can ask about the discount, and find out the liquor has no paperwork, so customs might be an issue. But the deal is good if we don't get caught. We can choose to buy one or more crates, or not. I quickly mocked-up a generic cargo crate to use for placeholder cargo items, which you can see in today's image.
However, this already creates a ton of new problems not handled yet by the game. The biggest one is trade/barter. Which also implies some sort of inventory system, for which I only have the barest system in place. Then there's the question of where these crates appear if we do buy them. Do we carry them? Drag them to the ship? Do they just teleport to our ship? How does the game know where to do this? To whom do I sell these? What if I want to open the crate and consume the liquor? What about customs and other legalities? Damaged goods?
Okay, this was probably a bad example. I looked back over my chats with Michael, since I remember us talking about a skeletal mission structure. And sure enough, there was an even simpler one we talked about. Something closer to what the game could handle right now.
Basically, it's a variation of the info courier mission in other games. We get a hot tip from a barman in station A about a barman in station B who double-crossed him. He asks us to snitch on barman B to the local authorities, and we're done. I'm not even sure we need to worry about payment here. That can be a later thing, but even if not, it's not too hard given we already have the ledger code for docking fees.
Anyway, this can be done with the current interaction data format. Almost.
I think the one thing we're missing is a way to make NPCs relevant to this mission. Station A needs a barman specified somewhere, since stations are empty of people right now. Station B can do without a barman, technically, since we only really need some local authorities (LAs) to snitch to for completion. But we still need at least one LA on station B to complete this mission. Ideally, a lot more stuff would happen once we complete the mission, such as the barman getting arrested, maybe a counter-offer if we snitch to barman B instead, some sort of relationship boost with barman A, or even a reward. But for now, simply completing this task is a step forward.
So I'll have to think about how to handle those requirements more tomorrow.
And speaking of, I'll likely be out of the office tomorrow to visit with my family. My parents are leaving tomorrow afternoon, so I want to spend one more (half) day hanging out and say goodbye. I'll be back Thursday, though!