Bigger and Better ( Moo-Moo Manor Devlog #2) (Patreon)
Content
time for another dev-log!!
now that the first builds of the game are out, i'm officially in it for the long haul, and the little tech demo that i'd been messing around with for fun is now the starting point of a much longer-form project. however, to get to this first release version in a timely manner, a lot of elements of the codebase and engine that would greatly improve the speed at which i'm able to create the rest of the game have been left by the wayside.
as a result, for the past few weeks, i've been focused largely on dealing with a lot of the general quality of life complaints and large outstanding bugs that have plagued the game. some of these fixes have been pretty simple, most of them though, not so much.
the issue that has plagued me the most though is an issue of broken, glitchy, flickering models. for reasons that i still don't fully understand, on certain computer setups (most notably laptops), the character models would freak out in weird, unpredictable ways that would leave the game largely unplayable.
i'm still not 100% on what's causing this, but it seems to be some kind of incompatibility issue around the renderer and certain GPUs and/or operating systems. godot 3.5, the version of the engine that i've been making the game with, has historically been held back by its lackluster renderer, which is marred by slow performance, ugly shadows, and a whole bevy of bugs specific to its implementation within godot 3.5 itself.
so my solution to this is to port the game to godot 4.1, the newest version of godot, with a completely overhauled rendering engine that's accounted for many of the issues that plagued the previous renderer, in addition to many different overall improvements to GDScript (godot's built-in programming language) and the engine as a whole. naturally, this comes with many changes to the code syntax, the shaders, the animation system, and complete overhauls to godot's node system, which provides most of the general functionality of the engine.
overall, the port hasn't proved to be too difficult. in fact, most of the bugs that made the game crash/prevented animations/meshes from displaying properly were fixed within the first two days! where the issue lies is in the changes to the animation system.
initially, in godot 3.x and before, all animations worked like this: each bone had a rest position, which represented how the character was posed when the bones were completely unedited, and a pose positon, which represented how much the character's bones had been offset relative to their original rest positions. combine these two values, and you have the final pose, which is what the player sees.
however, in godot 4.x, the pose position is no longer relative to the rest pose, and all poses are now absolute transforms in relation to the worldspace. this makes things like animation retargeting possible, allowing for characters with different proportions to share the same animation. however, it has caused some problems for me, due to my reliance on the bone rest system in godot 3.x.
essentially, how it worked before, was that as characters gained weight/ate food, the rest positions of their breast and belly bones would rotate upwards, allowing for the belly to sit naturally against the thighs, and the breasts to sit on the belly. however, since the pose position of each animation is completely unrelated to the rest pose, this has completely broken this system, and all of my character models are currently big messes of clipping boob and belly. in addition, other changes to this system have caused the belly rubbing and milking minigames to completely stop functioning on a visual level as well, since those are reliant on bone transforms too.
here's an example:
notice the way that her legs clip through her belly, and her lower shirt through her breasts. not ideal!
what's also worth noting is just how much more detailed/impressive the lighting is than the godot 3.5 version. this is a result of both the better renderer, and minor tweaks to the way that the room was lit. the smallest things can make such an impact!!! here's a screenshot of the 3.5 version below for comparison:
so, this is the main roadblock between now, and the next dev build. it shouldn't take much longer to figure out a solution to these issues, but i wanted to let everyone know why there's not going to be much new content in the next dev build. i have lots of new content planned for the patch following this port, like the event system (and a new crops system that i'll be talking about more in the next devlog), but for now, i hope this will suffice! this port has taken a lot of effort, but it will eventually result in what is a much nicer looking game, and a much faster development cycle overall.
thank you so much for your continued support!! it really does help out more than you know.
-cozy