Project Wild One v0.06: Build Your Legacy

As of this moment, supporters can play the new version! The higher tier is guaranteed at least a month of early access, and the lower tier gets to play about two weeks before the new version will finally go public.

This release has been a journey of frustration, but let’s talk about what’s new before we get into why it took so long. The first one has been a big request for a while…

Save Files

The game now has a basic save system! I’ve been shy to dip into this since so much of how the game works is still in flux, but I’ve been able to implement a limited system that makes it easier to jump in for short sessions at a time when you want to. The main feature here is that each time you play, the character you’re running will be autosaved on leaving encounters, and you can also manually save at any time. Next time you play, you can load that character to keep all your upgrades and self-customization, then start a new world up with it. The rough idea is that your character leaves that area when you stop playing and takes some time to journey somewhere new between play sessions.

This does have a few ramifications. You still can’t save anything about other characters you’ve encountered, and some details of your character are reset when you load in again. If you were in the middle of some action when you saved, it’ll basically be as though you escaped at just that moment. On the bright side, this does mean that if you ever get frustrated with the situation you’re in, you can save and load for a fairly easy fix.

By default, the game will save to your AppData folder so you can easily continue playing your files on new versions (though I expect that won’t always be supported, fair warning) without having to move files around. But if for whatever reason you want to play the game on a thumb drive or keep your saves in the install folder, the Options screen now has buttons for moving all your saves to the install folder.

Now, adding the save system does mean that the system for progression would have become a little easy as-is. That’s why the next feature is…

Upgrade Overhaul

The system for how you upgrade your character has been renovated to hopefully be less frustrating and strike a better balance in letting you sculpt a character to your desires over multiple sessions, without letting it grow too overpowered over time! You now accrue “Karma” with each Trait you gain, which you can only remove by “Purging” Traits that you don’t want to get. Those Traits will never be available again for your current character. Karma dramatically increases the cost of new Traits, so each time you open the upgrade window you’ll be choosing between grabbing an upgrade you like or purging one you don’t so future upgrades will be cheaper.

This helps encourage playing a specialized build that’s hopefully not too overpowered, and encourages some measure of replaying to try other builds. This also means that adding more Traits to the game in the future will be a good thing for every player– even if you don’t care about “being better at receiving insertions” or “specializing in a certain method of fighting,” every Trait in the game is also fodder to help you build a better character the way you want to play. This also makes the randomized array of Traits available hopefully less frustrating, which was also a big issue holding me back from adding too many Traits to the game early on. I still have a lot of plans for adjusting how upgrades work down the line, but this should help a lot with balancing upgrades to work with the new save and load system for now.

And with the extra room, I’ve added several new Traits to the game! I didn’t go too mechanic-intensive for these since this was supposed to be a quicker addition, but there are now traits for:

  • Losing less Willpower from orgasms
  • Being more resistant to gushing or leaking fluids inside you
  • Reducing/removing all penalties for death and dying
  • Better influencing other characters socially
  • Allowing “buggy vore” with several highly-requested features that aren’t fully mechanically supported just yet

I’ll talk about that last one a little more later. Also, with this new wave of Traits I went ahead and updated the NPC generation system so NPCs will have a chance to spawn with all the new Traits, as well as those I’ve added in previous updates! I put that off previously hoping I might overhaul the NPC template system to be easier to work with first, but that’s taking a backseat for the moment after all.

For that matter, I ran into a lot of bugs and mistakes while going through the code this time around that I’d like to talk about…

Big Fixes

The fixes most related to the previous topic are all about dicks. I found while going through the code that, probably at several points in development, I’d added a tweak here and there to make the dicks a little bigger. Why not, right? Well, it finally came to my attention that somewhere along the way, dragons started spawning with dicks larger than their entire bodies. I know, some people enjoy that, but it’s not really intended right now. That should definitely have its own burden mechanics to deal with, and we’re not there yet. So I stripped all that out. Just about all NPCs will be affected, but dragons especially, and not least because…

It turns out I had accidentally set it so that all male dragons had double-dicks! I was confused why I occasionally got reports of them showing up way more than I expected, and sure enough, it was a mistake on my part. That’s been changed to better reflect the intended rarity of such an event. I know some folks will be disappointed by these changes, and I’m sorry for that, but in some cases it’s rarity that really makes something special.

Now, these are pretty big changes, but they’re not the fix I’m most proud of (and also most frustrated with). That honor would go to the notorious Miserable Bug. It wasn’t too common a report, but it trickled in steadily that there was a strange bug going around, especially in long-running playthroughs, where characters would start getting locked into rock-bottom Satisfaction and other stats, and the more they played, the more other characters would show the same symptoms. I wasn’t sure what to make of it, but my best guess was that there were still a few extremely rare bugs that would make the game lock up in the back end, and if you forced it to keep playing, it would start behaving strangely in this way.

It turns out I was well off the mark there, and I finally caught a proper clue as to the source over development this time around. Somehow, somewhere, a number in the system was getting set to NaN– Not a Number. This happens in rare situations where the game is asked to do math that doesn’t have a valid answer, like the square root of a negative number. Normal number variables don’t “do” imaginary numbers like i, so it just defaults to NaN.

The trouble with that is, the many systems of Project Wild One are intensely interconnected and influence each other in many ways. So if you try to say “add a small amount to A according to how much X you have,” but X is now NaN, then you end up saying “add NaN to A,” which just turns A into NaN as well! So it’s easy for a character’s many different variables to turn into NaN, and for them to then spread it to other characters they interact with. It literally became an infection spreading throughout the characters in the game.

When I finally realized what was happening, I went through and updated all the at-risk functions to “sanitize” them for NaNs. I already use functions for things like “add a small amount to A, but make sure this amount isn’t negative, and don’t let A go above its cap,” so it wasn’t too hard to add “also make sure the amount isn’t NaN,” just a lot of monotonous extra additions with aborting the change or making it a default value– and just as importantly, reporting the NaN and where it came from!

Because this was still going to be a problem as long as NaNs were popping up somewhere! I took some pretty radical steps to try and eliminate any possible sources from the game, and report any that popped up as close to the source as possible, but it still took a lot of testing before I finally, finally found the source.

It turns out that if you ever tried to cum while your balls were completely empty, your character would get angry and divide by zero. Which… doesn’t end the world, but it does make a NaN, which apparently is pretty close.

So I fixed that, and I combed over the rest of the code for corner situations that might somehow divide by zero, and hopefully this nefarious bug is finally dead. I’ve left the sanitizing code in place just in case, though– if something ever gets added down the line that reintroduces the problem, we can at least minimize the spread and get it reported for easy extermination.

Now, with all those bugs out of the way, let’s talk about the bugs I’ve introduced on purpose…

Buggy Vore

Obviously, this section is mainly for people interested in vore, so you can skip to the next if it’s not your bag.

I’ve seen a lot of requests for various things to be possible with vore, and got some frustrated feedback when I fixed the bug allowing for multiple, simultaneous prey in one orifice last update. There’s a lot of content I include to add down the line for making vore more involved and interesting, with more possible interactions between more than two people, but the game’s mechanics just aren’t ready for all that yet. I can’t really simulate it in a semi-realistic way without a lot more work on that end, and that’s not where my focus is right now.

But I recognize that folks have enjoyed these functions even if they don’t always make sense and work how you’d expect, so I’ve added a special Trait just for those that want to play without limits. As long as someone involved has this Trait, the rules for vore will change:

  • Just about any combination of vore will be possible, with the exception that prey can’t get vored more than halfway while they’re grappled in any other way (including other sex and vore). And once they’re past that point, they can’t start any other grapple again.
  • If a predator has prey fully concealed in their body, they can otherwise act like they’re alone and do things like Rest and move to other locations. If the prey slips out even partway while the predator is moving, though, they’ll fall out and be left behind.

This is called Buggy Vore because I fully expect it to create a lot of weird situations that don’t entirely make sense, or where the mechanics don’t really do everything you might expect. But it should open the door for a lot more vore shenanigans if you want them.

Also, keep in mind that if you have this Trait, then other NPCs will start having a chance to spawn with it as well, meaning they’d have more options for vore even when not interacting with you. So if you want to maximize that chance, you can choose to take this Trait as your Starting Trait during game setup.

Speaking of which, there’s one more big change coming with this update that kinda ties the others together!

New Menu System

I’ve been cobbling together menus based on the existing UI this whole time, but the linchpin to this update is the new menu overlay! This should make setting up the game and your character, managing your saves, and selecting upgrades a much more intuitive and pleasant experience from here on. I also took the time to find a rather striking set of assets to spice up the menu’s appearance, though now I feel like I might need to overhaul some other buttons and such sometime to better match the gritty feel this brings to the game.

This will also open space for more options in setting up your game in the future, something I was avoiding adding to too much until now, given the limitations of the original setup. I have a lot of ideas on that front, so hopefully that will be a good way to add more fun and replayability to the game in coming updates!

That’s the last big thing, but there are still a few minor changes of note…

Other Changes

  • Reduced the weight penalty added to WP costs from each prey for trying to further vore or unvore that prey
  • Rebalanced Satisfaction gains to be less crazy rewarding to violence, and to soft cap past a certain level
  • Adjusted functionality of the “No Crowding” setting to make howls more effective but less common
  • Improved character plate status readability
  • Fixed grapple escape rolls to use correct values
  • Fixed a bug with going to main menu, then clicking Resume during game setup
  • Fixed focusing on voring someone sometimes trying to end your other grapples
  • Fixed an issue preventing various status text from showing up in main output
  • Fixed and tweaked various action descriptions

Where We Were

Now, that should cover just about everything that’s actually changed in the game since last update, but that doesn’t really cover everything I was up to since the last one. If you didn’t read my previous Dev Journal, the short version is this:

I wanted this update to be the first big chunk of the overhaul for the game’s AI. And that’s AI as in, “how the NPCs think,” a handcrafted affair, not any of the automated stuff that’s going around recently. I want to build a system that lets characters really try to interpret your actions emotionally and logically, make goals and plans, then work toward them in ways that make sense. I don’t know how much of that I can actually achieve in the end, but I spent the first few months of this development cycle drafting and refining concepts for how to actually make this happen, and trying to turn those concepts into actual plans that can be executed with numbers and subroutines.

I finally got to the point I felt like I could start writing the code… and I realized that I’d taken an awful long time already, but it was going to be a long time still before I actually had anything functional to ship. I was aiming to add as small and stripped-down an initial piece as I could, but even so, it was quickly becoming clear there’d be a lot of design conundrums to solve every step of the way, and most of the big concepts of the system would have to be built even for the simplest version to run.

So I decided to shift gears for now, partly because I was getting burnt out on the system anyway and needed a break. That led me to picking this bundle of features I’ve felt were rather overdue in their own way– each a much easier system to implement, that would complement each other and hopefully improve the playing experience in a lot of ways. The AI overhaul is still my main goal, but this update ended up being a bit of a grab bag of improvements to cover the development time on the Big One.

Where We’re Going

And that’s what we’re aiming for next: the first big chunk of the AI overhaul! I’ve had a decent break from working on it to help me get new perspective on the system, and I think I have a decent plan for getting at least that first piece of it up and running before too long. Right now, the existing system for handling how NPCs make choices is anything but efficient: for each possible action the NPC can take, they go through the entire process of a full assessment of every relevant variable to try and interpret the situation and guess how good or bad that action would be. The more complicated systems get, the more checks I have to add to virtually every possible action, and it makes every new action exponentially more work to add. This is also a big part of why NPCs sometimes “flip flop” between doing something and rejecting it, because the assessment logic for each action is such a complicated mess by now that sometimes the situation “looks” pretty different between one action and another.

So I’m hoping to consolidate the way NPCs “understand” the world into a more refined and consistent system, so that they collect all their info once and have a series of much more straightforward and useful internal values to base decisions on, like “that guy is trying to kill me, but he’s too weak” or “this guy really wants to have sex with me.”

I always knew the existing AI system would be a placeholder and it was made to just get the job done in the short term, but this system is going to be built to go the distance. I want to build it to be as easy as possible to expand and plug other features into as we go forward. That’s a big part of why it’s been such a challenge to figure out how best to set it up, but I think I’m just about ready to start actually coding. Hopefully we can get a basic, working version of at least this first step in the AI system running soon!

How You Can Help

This release was also partly delayed because I don’t have many people helping test the game, and it’s getting more complex with every update. If you wish you could be playing the new content about now, think about joining the team! I do ask people to show they’re serious about helping first, but if you’ve ever noticed issues with the game or even things that just didn’t make sense, you’re halfway there already.

I do about 99% of the work on this project myself, but I do need outside eyes on this game that can give me feedback on everything from weird corner cases to just how the new changes “feel” to a player. I can never have enough testers on the team, so please, if you’re tempted, give it a shot!

Parting Thoughts

I think we’ve covered just about everything for now. As always, if you want to know more about what’s going on, we have a friendly Discord server, and I have a Twitter I even use sometimes! If you like my work and want to contribute, I’d appreciate any support you can afford on Patreon or SubscribeStar, the rewards are mirrored between them!

Thank you for your patience with all the craziness that got in the way of this update. My personal life has been all over the place and it’s been a struggle to find a good balance with my work again. I just hope things get nice and boring again soon. Thank you for reading all this, and whenever you get your hands on the new release, I hope you enjoy it!

Cheers!

4 thoughts on “Project Wild One v0.06: Build Your Legacy”

  1. “It turns out that if you ever tried to cum while your balls were completely empty, your character would get angry and divide by zero”

    I think we’ve all been there my friend…

Leave a Reply

Your email address will not be published.