Weaving a Tangled Web

Hey Folks! Some of you may have seen my recent tweet, which includes the screenshot above. And since that shot encapsulates what we've been up to this week pretty well, I figured it was worth talking about it a bit more.

As part of our social loop work, we've been trying to come up with more tools for the player to use during social combat. We want these social "moves" to serve a couple of purposes:

1 - allow the player to affect their crew's mood
2 - develop an emotional bond between player and crew

#1 is sort of in place already. We have a bunch of moves that can increase or decrease the target's emotional needs, and we can choose which to use in the social UI. We can even see a lot of their stats, and a preview of what our move will do, so we can make better decisions.

However, these moves have a few shortcomings.

For one thing, most of them are designed around self-serving needs. Make me feel better about something, rather than them. You use these on someone else to improve your own situation. Their chosen response may reinforce your move, or counter it. But few of these moves are specifically designed to aid another.

Another shortcoming is that these moves are all fairly atomic. You do move A, and the possible replies are B or C. That's it. Go back to choosing a new A, and wait for another reply of B or C.

So we started by brainstorming a few new moves that might generate more of a bond, or help others. We went overboard, and got something like 200. Clearly coming up with moves isn't hard!

Faced with a huge amount of work in adding those, we chose a handful at random. And added them.

Then, to make things a bit more interesting, we went through all of the As, Bs, Cs, etc., and started hooking them up to each other. Even across the original boundaries into Ds, Es, Fs, etc. With one afternoon's work, we suddenly had a huge web of social moves that could all spill into multiple other ones. Theoretically, our AIs could exchange dozens of thoughts before the player would see a repeat.

And when we tried it? Well, the screenshot tells quite a lot. Not all conversations are so clean and relevant, but that was literally the first NPC-to-NPC conversation I saw in my testing. And several other attempts weren't too bad!

Our next task is to go back and start editing these moves to have more visible and relevant stat effects. The old stats were meant for specific contexts, but we broke a bunch of those replies out of a single case so they could be used elsewhere. Time to refine them.

We're also starting to look into which moves should only be available to certain personality traits. So not only does the reply depend on what came before it, it depends on who delivers it.

Finally, we want some of these to be more rare than others. And in some cases, only usable once. These "consumable" moves are likely to be earned via social interaction and other events.

It's a huge amount of work to set this up. We're part of the way there, but have a ways to go yet. With luck, however, socializing with NPCs will be a bit more strategic and fun. And maybe we'll get to a point where we're sad when a crewmate has to go!

Tags: Ostranauts