Encounter Design and ATC Specs
Hey Folks! More work today on designing the encounter system. Plus some more refinement of the air-traffic control chatter system.
After mocking-up a rough mini plot about a betrayed bartender, I'm starting to get a picture about how the encounter system might work. As before, I think a lot of this can be handled with the interaction system, and maybe some pieces of the chargen system.
For the bartender mini plot, I think what I need is to generate the bartender's ex-partner on some remote station, and a local authority person there, too. For this to work, I'm thinking there needs to be some trigger when the bartender offers this mission, which generates the necessary pieces and puts them into motion.
Roughly, I was picturing some "Plot" container class, which defines the key players:
us - usually the crew member controlled by the player in the conversation
them - the person offering the mission/plot
others - key people necessary to complete the plot
"Us" and "them" can pretty much be copied right from the interaction as-is. But the "others" get a bit tricky. I'll need some specifications to define the type of person we need, and their relation to "us" and "them."
Chargen sort of does this already with life events and person specs. A life event can either create a person and assign a relationship to it, or else search for a matching relationship and alter it. Either seem like they'd work in this case, whether I wanted to pre-create the character using an event, and mod the relationship later via another event, or just do it all at once in a life event.
I'll probably need to define some conditions to be applied to each person. "Us" and "them" can, again, just use the built-in interaction payloads. But each "other" person will need some conditions applied. I might be able to drive this using their career history's events, which apply conditions and relationships.
However, in our bartender example, bartender A is having the "betrayal" career event, which is generating bartender B. So the payload is applied to A and not B. I may need some code in the Plot to look-up B and give him certain conditions after the career makes him.
Another tricky bit is the question of "where?" If we're talking to bartender A on K-Leg, where is his ex-partner spawned? The career life event can currently choose either totally randomly, force it to match the person having the event, or hard-code a specific place. It seems like we might need some sort of "not here" designation for cases like this. (I guess there could also be a second bar on K-Leg, but that's starting to get complicated, too.)
Assuming I can use the career life event to generate bartender B "not here," and give him the "enemy" relationship with A. We're a good chunk of the way there. Maybe even all of the way there? We'll have to see.
On the ATC front, Michael and I continue to chat about the rules for landing a spaceship in this game. The jargon is flowing, and I'm thinking this'll sound pretty cool. We're going to have to cut a few corners to make it work, though. For example, pre-recording every potential station name seems risky, so we're coming up with some piecemeal ways to designate stations to avoid the problem. I think when we're done, it may not be bulletproof, but it should sound pretty authentic. Particularly since it won't require hyper clarity audio. More like weak radio with static/noise to mask some of the words.
More on these topics tomorrow!