{"id":1081,"date":"2026-10-29T14:12:39","date_gmt":"2026-10-29T21:12:39","guid":{"rendered":"https:\/\/lithier.com\/w\/?p=1081"},"modified":"2026-10-29T14:12:39","modified_gmt":"2026-10-29T21:12:39","slug":"dev-journal-on-course","status":"publish","type":"post","link":"https:\/\/lithier.com\/w\/2026\/10\/dev-journal-on-course\/","title":{"rendered":"Dev Journal: On Course!"},"content":{"rendered":"<p>Glancing at <a href=\"https:\/\/lithier.com\/w\/2026\/06\/dev-journal-got-a-stew-going\/\">my last public journal<\/a>, it feels like that was so far back it might as well be another world. I proceeded to tear into my work with a vengeance after that, and I was pretty proud of my progress when I posted <a href=\"https:\/\/www.patreon.com\/Lithier\/posts\/dev-journal-167181057\">another journal to my supporters<\/a>. I&#8217;ve slowed down after that, but I&#8217;m still pretty happy with everything I&#8217;ve gotten done so far.<\/p>\n<p>At this point, the majority of the Interp-Theory Mind is online. Characters in Project Wild One are starting to act in more interesting and reasoned ways, running purely and entirely off the ITM. There are still a lot of big gaps that need filling, but the Course system is online, I have new debug tools for reading deep into the system, and I&#8217;m gradually transitioning from building the system to tuning it. There&#8217;s still a lot to be done before it can ship, but at this point it&#8217;s more about picking what point is &#8220;Good Enough&#8221; for a release than having any function at all.<\/p>\n<p>That&#8217;s the quick overview. Let&#8217;s get a closer look, starting from the top.<\/p>\n<p>I built the first half of the ITM a few versions ago to lay the foundation for all this. It was focused on reading the data from the game, interpreting it, and storing it as values representing every concept important to a mind. &#8220;Am I in danger; What do I think of the people around me; Am I confident in my abilities; What has worked well for me in the past,&#8221; and a hundred more, read, stored, and tracked both for what&#8217;s going on right now and what&#8217;s been going on in the long term, with a spectrum of impressions and weight notations for what you have more or less confidence in. But it couldn&#8217;t actually make decisions yet, so I kinda duct-taped all of that to the old system to make it a little smarter in the meantime.<\/p>\n<p>Now, I&#8217;m finally building out the rest&#8211; and going back to rewrite a lot of the concepts I&#8217;d guessed at early on now I have a better understanding of how best to work the whole system. The foundation of the ITM is a series of tools for tracking and processing data, but it was finally time to start actually designing a <em>mind<\/em> with all of that.<\/p>\n<p>And not just one mind: I needed a &#8220;base point&#8221; mind that could process things many different ways, depending on how <em>this instance<\/em> of that mind sees the world. Two people will react to the same situation in very different ways, and I needed to build smoothly pivoting paths for how your past and habits would affect your behavior. Obviously, it&#8217;s been a hell of a challenge, but I finally have a lot of it built out.<\/p>\n<p>The other big tool I needed was the Course, the last big technical piece for the ITM to actually bridge the gap between &#8220;knowing things&#8221; and &#8220;doing things.&#8221; Its specialty is assessing the situation in this moment and weighting different actions according to your motivation&#8211; and handling the conflicts between multiple things you might want to do that contradict each other.<\/p>\n<p>With that tool in place, I&#8217;ve finally had the ITM itself fully controlling characters. I&#8217;ve been learning a lot about the system and ironing out a lot of bugs by carefully connecting one new set of values at a time to see how it changes the characters&#8217; behavior. My new debug system also lets me tweak one value at a time live and see how that changes their actions from there. It&#8217;s been pretty exciting finally seeing all of this in action, even if it&#8217;s still pretty janky!<\/p>\n<p>Character choices start with their Core Needs. This is an array of Theories tracking the things they care most about, how much they&#8217;re used to having those needs met, and how well they&#8217;re satisfied right now. Everyone tracks the same values, but how much <em>you<\/em> care about, say, whether people see you as powerful, or whether people are happy to have you around, will trickle down to influence your behavior in many ways. This is, effectively, where I can most directly write out a character&#8217;s core personality by tweaking them to care about or expect certain things more and others less. These expectations and priorities can shift very slowly over time, as well. In many ways, characters will learn and change from their experiences.<\/p>\n<p>These Core Needs inform a lot of their thoughts about the world and everyone in it, and eventually feed into their Goal Theories. These are the things they&#8217;re actually trying to achieve, sooner or later, and many can conflict with each other. All of the character&#8217;s Theories feed into these, and these hook into the Course system to finally choose a specific action to take right in this moment. The hope is that characters will show a decent amount of strategy and real motivation behind their actions. They might still act erratically&#8211; but hopefully more in the way that <em>people<\/em> can act erratically. Especially if they&#8217;re in some dark corner of the wilderness and a chimera just showed up&#8230;<\/p>\n<p>Right now, I&#8217;ve got a pretty complex array for handling how to interact sexually&#8211; choosing when to flirt, entice, or act on others, depending both on their signals and your own personality. I&#8217;m trying to really iron out all the kinks with it before I copy it over and modify it for vore stuff. I just recently finished a basic system for assessing danger and overriding other actions to defend yourself, drive off others, or flee. There&#8217;s a lot of little bits besides that built and others upcoming, and I&#8217;ve been toying with ideas for how characters will &#8220;probe&#8221; those they meet to try to decide what they&#8217;re like and how to interact with them&#8211; assuming they&#8217;re the cautious type and don&#8217;t just go for it.<\/p>\n<p>Building all this out has pushed me to finally make a jump that I couldn&#8217;t make all this time: I&#8217;m going to be adding a batch of new Actions to the game everyone can take! This will tweak the flow of combat some, but mostly focus around ways to signal each other more clearly now that characters will be better equipped to understand them and have more to say.<\/p>\n<p>Past that, I have a list of items I &#8220;probably should&#8221; add so that the first release will actually work cohesively with itself. The ITM is intended to hook into just about everything&#8211; Satisfaction is meant to be a placeholder for when this system is ready, so this system will have a big effect on game progression, and I don&#8217;t want to take that lightly. I already want to make sure you can see what&#8217;s actually going on internally for your character, and get hints for other characters, but especially so with that in mind!<\/p>\n<p>But that&#8217;s a load of extra work before the new version can actually ship, and I&#8217;m debating a lot on where to cut it. Even if the characters have an entirely different system behind them, how visible will that actually be without the other systems added to make the &#8220;reasoning&#8221; halfway clear? My goal was to make this update as short as I could, since I knew just building this mind out would be the biggest hurdle of the entire game. But I also don&#8217;t want it to feel disappointing, and getting no actual insight into what&#8217;s happening might leave it still feeling pretty chaotic.<\/p>\n<p>Buuuut it&#8217;s also true that extending an update because you&#8217;re afraid it&#8217;s already &#8220;taking too long&#8221; and will be disappointing as it is, is a pretty notorious and ugly trap for creators, and I don&#8217;t want to fall into that. It&#8217;s a tough balance.<\/p>\n<p>I was struggling with all of that a week or two ago, and I think I was starting to near burnout pushing myself to just keep building out the ITM, so I finally decided I needed to just take a break, step back, and reset a little. And instead, I caught Covid.<\/p>\n<p>So things have mostly been gross and useless since then, and I&#8217;m slowly pulling myself back together again. I&#8217;d say we&#8217;re officially past the hump with this update, but I&#8217;m pretty worn out on designing brains at the moment. I&#8217;m going back and forth a lot, because I don&#8217;t like shipping content I&#8217;m not fully happy with, but I keep feeling like I need to find a way to compromise with myself so I can get out of this rut and change things up a little. Maybe I&#8217;ll put a vote to the supporters or something.<\/p>\n<p>Sorry if this has all been a bit of a confusing ramble. I&#8217;m still feeling a little sick and a lot worn out, but I&#8217;d meant to update you all before now. There&#8217;s a lot to be happy for at this point, even if it feels like a big mess right now. The ITM is finally starting to really move on its own and make choices, and that&#8217;s been awesome. I&#8217;ve put so much into this system at this point, it kinda surprises me sometimes just what it comes up with on its own, before I&#8217;ve programmed all the final pieces in.<\/p>\n<p>I can&#8217;t deny I&#8217;m still scared that no matter how much I do, when I finally put it out there, people will take screenshots of it acting really stupid and go &#8220;he worked X months on this update for this??&#8221; And&#8230; maybe I just have to accept that&#8217;s going to happen. This is the first draft of a brand new brain that&#8217;s still going to be missing a ton of stuff, even if I finish everything I had in mind for this update. It&#8217;s still going to be stupid, maybe a lot of the time. But I&#8217;m pretty confident it&#8217;ll already be doing a lot of things no other hand-written AI has done, if you know where to look. Maybe for this update, that&#8217;s enough.<\/p>\n<p>I feel like I&#8217;ve still barely begun to explain what&#8217;s already going on under the hood with this system. I went into more detail with the supporters, but I&#8217;ll definitely have to expand my big write-up for the ITM once this update is ready. It&#8217;s&#8230; a lot.<\/p>\n<p>For now, I think I&#8217;ve rambled enough. Things are coming together, and that means we&#8217;re getting close to a big turning point for the project. How close depends on how much of the rest of the game I&#8217;m going to hook up to this system before I kick it out the door. We&#8217;ll see!<\/p>\n<p>Thanks for checking in with me. It&#8217;s equal parts scary and exciting to think I might finally be putting the real thing in your hands soon. Until then, stay safe out there.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Glancing at my last public journal, it feels like that was so far back it might as well be another world. I proceeded to tear into my work with a vengeance after that, and I was pretty proud of my progress when I posted another journal to my supporters. I&#8217;ve slowed down after that, but I&#8217;m still pretty happy with everything I&#8217;ve gotten done so far.<\/p>\n<p>At this point, the majority of the Interp-Theory Mind is online. Characters in Project Wild One are starting to act in more interesting and reasoned ways, running purely and entirely off the ITM. There are still a lot of big gaps that need filling, but the Course system is online, I have new debug tools for reading deep into the system, and I&#8217;m gradually transitioning from building the system to tuning it. There&#8217;s still a lot to be done before it can ship, but at this point it&#8217;s more about picking what point is &#8220;Good Enough&#8221; for a release than having any function at all.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[12],"tags":[8],"class_list":["post-1081","post","type-post","status-publish","format-standard","hentry","category-dev-journal","tag-news"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/paRhev-hr","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts\/1081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/comments?post=1081"}],"version-history":[{"count":3,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts\/1081\/revisions"}],"predecessor-version":[{"id":1084,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts\/1081\/revisions\/1084"}],"wp:attachment":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/media?parent=1081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/categories?post=1081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/tags?post=1081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}