Dev Blog #74 – Free Range and Organic!

Greetings everyone!

Today’s dev blog is all about Update 6.1.3, some exciting gameplay changes that are coming with it, and what you can expect from future updates. There’s some good stuff in today’s post, and it’s gonna be a LONG one, so let’s just get straight to it!

The Indie’s Plight

It’s a vicious cycle.

You spend all this time writing new content, pushing the story of your game forward, only to eventually find yourself at a point where in order to progress further, you need to go back and reinforce your foundation. Naturally, that means spending days, weeks, sometimes months rewriting old code, implementing new or updated systems, and laying the groundwork for things to come.

To you, it’s been an eternity of sleepless, monotonous nights of pouring through mountains of work. To your players, when the update finally releases? You may as well have just sent them a notice that you’ve upgraded your TOS agreement! The worst part is knowing that it’s only a matter of time before you have to do this again…

Bigger studios have enough people to work in parallel to each other and minimize if not eliminate this particular issue entirely. Us indie devs aren’t quite so fortunate. But hey, that’s not a complaint! That’s just the name of the game for us, and I really wouldn’t have it any other way.

That said, it doesn’t mean we shouldn’t be constantly looking for ways to improve!

Okay, okay, enough being coy. What am I getting at anyway? Well, through a series of what we’ll call happy accidents and reluctant experimenting gone unexpectedly right, I’ve been able to take some measures that drastically improve the way that I work, and my ability to both enhance functionality and generate content at the same time.

Content or Mechanics: Choose Two

Update 6.1.3 will be introducing two new major features – Dynamic content blocks and character action preferences.

“But Westane!”, I hear you say, exasperated, “You promised us you’d be focusing on content from now on! You’re putting in ANOTHER new mechanic system!? And not just one, but two!?!?” Yes, I am focusing on content, and yes, indeed I am implementing major system changes as well! The beauty of these particular system changes are twofold: First, implementation occurs organically, in parallel with new content rather than in place of it. Second, the system changes are, themselves, actual content. Let’s start with dynamic content blocks, which is what I’m calling this and won’t feel bad if no one else does.

I’m constantly evolving and growing as a developer and a writer, and I’d considering this something of a milestone. I’ve had a pretty consistent recurring problem when I put out new content wherein said content will be lacking somewhat in the options department. Case in point, Dom Penny. I’ve been asked a non-insignificant number of times that, hey, if Penny’s all dominant and stuff now, shouldn’t she be able to top you in the lab if you’re in chastity? Why can’t she do that? The reason, shameful though it may be, is quite simple. The breadth of content in The Company has reached a point where any time I need to write [X] scene, it means I’m now writing it for the [Y]th time. It’s tiring, honestly, especially when writing it for the same character and about 75% of the scene is more or less the same as what has come before it.

But that’s a dumb reason to limit content.

The Scene Repository

Starting in Update 6.1.3, all new content is being written to a character-sorted scene repository rather than inline with the rest of the scene. So, instead of writing out how Penny tops the player in the lab, then again in the apartment, then again in a random work event, then again in a new event through John’s route, then again however many times I’d need to in the future… It’s written once. One time, in one place. Because it’s written only once, and only in one place, I can go into excruciating detail in terms of character personality, player attributes, contextual modifications, and anything else I could think of, and it wouldn’t generate more work down the line. In fact, if I did ever need to implement a new backend system down the line, it would be a matter of simply updating the scene repository, rather than combing through all the game’s content for any applicable scenes.

What’s more is that because I can now spend so much more time putting so much more consideration into any given scene, there’s an incredibly minimal hit to variation and, in fact, many scenes will now start accounting for MORE variety than they did before.

And what’s as good if not better than “more” content? Faster content! Starting out, content generation rates will improve slightly since the only functional change I’m making is that instead of writing content “here” I’m now writing it… “here”. As the repository starts to fill, however, the ability to churn out content will become considerably easier and, in turn, faster. It’s already happening, already in Update 6.1.3 those in the Dev Build tier are already seeing it in action, whether they realize it or not. Now, instead of fretting over having to write a repeating scene for the 9001st time, it’s simply a matter of calling that scene from the repository, adding context wrappers, setting modifiers as needed and then… moving on! The scene’s already built to adapt to the state of the game, the player, the associated character(s) and everything else, my work here is done! Oh, I need that scene to account for the fact that Penny might be under John’s control when it happens? Easy, all I have to do is add those checks and variants to the scene in the repo.

And, to clarify, characters will not share content blocks, even for similar actions. Penny’s “Hug Player in Office” block will be written for Penny alone, while Tasha’s “Hug Player in Office” block will be written specifically for Tasha. The intent isn’t to homogenize content, but rather to allow the scenes to provide contextually accurate and natural content.

“Organic content generation via elegant mechanics expansion”
– Jony Ive, probably

Character Preferences – Making Skynet Sexy

I did mention two new systems. The second is character preferences, and we’re gonna go deep into subtle euphemism territory, so… This will be fun!

Right now, in The Company, when you’re alone with another character, you might have the option to hug them. The game is written in such a way that everyone loves hugs, doesn’t matter who they are, hugs are great! Not only do they enjoy getting hugs, they enjoy giving hugs, too! Everyone in the game, you included, has very much the same feeling towards hugs as everyone else!

But what if they didn’t?

What if Tasha LOVED hugs (she does) but Diana HATED hugs, or, no, specifically, Diana hates GIVING hugs, she’s actually pretty indifferent to GETTING them. Well, that would sure affect how scenes played out, IF scenes played out, if you wanted to hug someone who didn’t like hugs, or much prefers to be the hugger rather than huggee. Actually, what if YOU hated hugs? Would it make sense to have the option to hug someone, or even to, say, practice hugging when you’re alone, if the idea of giving hugs made you sick? No it does not.

Of course, it would make sense that continuous exposure to hugging could change your opinion on it, either positively or negatively depending on associated stimulation. Say, every time you give someone a hug, a monkey appears and gives you a high five. Well, after a while, you’re gonna just LOVE hugging! Of course, if instead any time you gave someone a hug a different monkey jumped out and punched you in the face, well, your feelings towards hugs would probably progress differently.

But enough about hugs and monkeys, I think you all get where this is going. Characters in the game, both NPCs and the MC, all track action preferences now. Like, this is in the dev builds and actually working and happening. The scene blocks detailed above are already checking for preferences on either the MC or applicable NPC’s part and will adjust the scene accordingly. Sometimes this means a simple change in dialogue, sometimes it’s a difference in character stat changes, and sometimes it’s as much as enabling or disabling different options altogether and significantly changing the course of the scene!

Here’s the real kicker, though. The functionality of preference system also gives NPCs the ability to make contextually-aware decisions based on their preference pool. You could, for example, allow the character you’re interacting with to take the reigns, and have them decide what actions are taken next in a scene based on what they’re currently doing, when they enjoy doing, and what they know you enjoy doing. It’s not AI, but, if packaged correctly it should add a whole new layer to NPC depth. This kind of functionality will be on display in Update 6.1.3 through Penny’s content blocks.

Again, going back to maintaining a “Content First” design philosophy, this entire system is designed to develop organically “with” content, rather than “in place” of it. Preferences don’t need to be pre-staged or manually implemented, if a preference check is made against a character who hasn’t had that preference defined already, it’s defined on the fly and ready to use from then on. Content adjustments that are affected by preferences will be written as needed, rather than taking a “Fix everything all at once” approach. The scene repository method makes enhancements like this possible, and the returns will increase as new content is added.

Visibility and Expansion

The best part about these changes is that, with Update 6.1.3, with Penny, the benefits will be immediately visible. New interactions, more interactions, changing dialogue and more. This will be especially apparent as the entire focus of Update 6.1.3 is event variation, the emphasis that how you decide to interact with Penny really does change how scenes play out be it simply superficially or otherwise.

As we move forward in John’s update, all his content will simply be written in the same way, as will Tasha after that, and everything else moving forward. It’s the kind of simple procedural change that stands to make a huge impact, and looking to the future, I’m anticipating that impact to be even bigger.

As these systems start to expand throughout the existing content pool, replacing wholly static scenes with completely dynamic ones. As the preference pools start to grow and NPCs are able to make actual assessments of the MC as needed… Well, for example.

Right now, the interactive scenes are these isolated events with Ava, Dakota, Penny, and Diana. They’re very difficult to write, which is why John and Tasha haven’t gotten theirs’ yet, and they very much exist in a vacuum. But, if the ability for the MC to make choices at more junctures, for the NPCs to make suggestions based on both personal preference and your interests, then at that point the entire game becomes one giant interaction. A constant balance of stamina-based choices that can launch a naturally generated interactive event at any time. I don’t have a clear picture of what that looks like, or when it’ll become a reality, but the groundwork is now there for exactly that sort of thing to happen!

…I should wrap this up. How about some actual announcements?

Backer Update Six Point One Point… Something…

A new Backer Update will be releasing next Thursday or Friday. It is not the finished Update 6.1.3 product, but it will allow you all to get some hands-on time with everything mentioned above! As such, I haven’t settled on a version number yet, it’ll probably be 6.1.20X so as to fall in line with the development builds, but we’ll see. No sense getting caught up in semantics!

You can expect to see…

  • The scene repository system applied to some of Penny’s current scenes and events
    • Notably, intimate scenes with her in the lab and random events that don’t have super specific content
  • The character preference system applied to many of the same events mentioned above
  • Story sequences with updated dialogue based on Penny’s state and preferences
  • New dialogue prompts for the player in some story scenes
  • New UI elements to show off new player choice options

Actual patch notes will have more details, of course. Again, this is not the finished Update 6.1.3, and as such, will not receive a public release. We’re still on track for next month for the completed update which will release to backers and public players.

Well, I told you it was going to be a long one! Next week’s update will be a more to-the-point post that will focus more on actual update details as opposed to the broader strokes of today’s update. Still, I hope you all have as much fun experiencing this new content as I’ve been having writing it. Thing’s are only gonna get better from here!

As always, thank you all so much for you continued feedback and support!

Leave a Reply

Your email address will not be published. Required fields are marked *