Congrats!
Thanks! Hoping I can keep the momentum!
--
It's been a while since the last update, sorry! I've been doing a lot but it's mostly not super interesting to look at so I held off on posting. I've got enough stuff going on though that I think it'd be good to do an update.
So first up, the egg bin from last update. The basic functionality here is all in and I'm happy with the idea still.
Eggs only get sold if they're inserted into this bin, and eggs outside the bin are vulnerable.
It's nothing too demanding but you do keep having to bring your attention back over to the bin and it's something you'll need to upgrade as time goes on to increase capacity (and to add in some other benefits).
After putting in something that required you to constantly be accurately dragging objects, it became clear to me that me object dragging system wasn't going to hold up. The first step was to fix the dragging logic so that it no longer caused objects to clip into walls.
In doing so I also decided to remove my previous code that interpreted your mouse speed in order to automatically switch movement from the Z to the Y direction. I'm still pretty proud of how this system worked but it wasn't quite good enough for movement this precise. It worked great for less precise motion but if I was gonna be asking players to drag objects to specific locations, it wasn't gonna fly. So, the default now is that objects are only dragged on the X/Z plane. In order to move in the Y dimension, you have to either use the scrollwheel or hold CTRL. It works well enough and allows for much more accurate movement so I'll probably leave it like this regardless of anything else.
The new dragging code was working pretty well but there were still some frustrating edge cases with objects slamming into walls or getting stuck. In order to fix this stuff I converted the object dragging joint from a FixedJoint to a ConfigurableJoint with springiness.
This lets objects resolve their own physics when put into a technically invalid position and also makes the dragging more fun and satisfying in general.
After all this I played the game for a bit. I balanced some stuff, fixed some bugs, and ultimately realized that dragging objects wasn't fun enough to be something I constantly ask the player to do. Tossing dogs between rooms is fun. Dragging a block of food to a dog's mouth is fun. Dragging 15 eggs into a bin is just annoying.
So I did some prototyping to try and figure out a way to make getting objects into a bin less irritating to do.
The first thing I tried was multi-selection and dragging.
It was pretty entertaining but there are a good amount of physics complications that make this more trouble than its worth, both from an implementation and a performance standpoint.
I also toyed with the idea of in-world item containers having a little sentient tendril that lived inside of them that would reach out and help collect the objects for you.
Again, I got it mostly working without too much trouble but it was pretty obvious afterwards that the effort it'd take to get it fully shippable wasn't quite worth it. I'd likely have to spend about a month or so over the course of the project on just this feature and there are better ways for me to spend my time on this already too ambitious game.
I have a simpler solution in mind now that I'm going to try next, and I feel pretty confident it'll work. Nothing quite as funny as the above solutions but I think it'll still be good and also probably won't steal as much of my support time.
Otherwise, I also added in the start of a feature that's been noticeably absent for a while.
I don't want poop to be too gross, so I've made it look a bit like candy. Also it bounces. Later on I wanna try making the color dynamic based on what the dog's eaten, but that's for another day. The main reason for adding this is that I've also been working on gardening as an in-game way for you to get more food and I wanted you to be able to make fertilizer for your crops.
The idea's that you'll move poop (and other things) into the mulcher, similar to how you move eggs into the egg bin, and it'll let you make fertilizer from them.
I also fixed a bug that'd prevented long-legged dogs from walking correctly (I give legs extra gravity when they're grounded but also needed to remove this boost during walk cycles when the legs wanted to lift off again). Nice to see them moving again.
And that's about it! I'm still working hard on nailing this gameplay loop and I'm still excited about it all.
Some final miscellaneous gifs: