I'm not, but that sounds interesting, thanks! I'll remember to look into this more when I get back around to dog sharing. Since dog genes are made up of only 3 symbols (1's, 0's, and separators), it should be very reasonable to do something like this.
I just came into this devlog for the first time a few weeks ago. This is absolutely adorable and hilarious.
Thanks so much!
Glad it was interesting! I should probably mention that I do actually use "stop markers" for my super genes. It was the only way I could think of to get that unbounded growth and it works really well! That said, they still don't give me a solution for gene re-organization and insertion, so it's definitely not a silver bullet.
Thinking a little more about this, I suppose I could have backwards compatibility work with a sort of "version counter" gene that gets put on the front of all generated dogs. As long as it was fixed length and exempt from mutation, then every time I update the global genetics there could be code that looks at these version counters and goes through all the needed upgrades in order to arrive at the correct current version of dog! A little early for me to put this in since I don't have any dog data that needs saving, but I feel like this could end up working well.
If you end up needing to tackle this later on, another method (used in the N.E.A.T approach
http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf ) to handle crossover and recombination is to use historical ID markers for gene mutations. The basic idea is that each new gene is given an ID number so that during crossover, it's easy to match genes like-for-like, just by comparing their IDs -- It sounds somewhat like your version counter idea. It probably wouldn't integrate with your current setup without modification, but I think the general principle is sound and I've used it successfully in the past for other purposes. Just something to think about -- hope it's helpful.
You're making a lot of progress! It will be cool to see the main gameplay loop really develop.
Oh very cool, thanks for the resource. Will definitely check this out! And thanks, I'm glad the progress I'm making is visible! I'm also really really looking forward to the main gameplay loop solidifying.
---
I spent some time playing the game from a somewhat realistic starting point without cheats and just kind of making notes of how things felt. I came up with a solid list of things I wanna change/fix/add to get the game into a minimum viable state, and I started in on one of those today.
One of the biggest things missing from the game right now is dog/object and dog/dog interactions. Most things dogs do at the moment are solo, and while I did have paired behaviors working at some point I had to remove them due to a refactor and haven't gotten around to re-doing them. Paired behaviors themselves are going to be a little complicated to add back in, and I'm working towards a self imposed end-of-the-month deadline at the moment for a gameplay loop, so I instead started working on allowing dogs to grab things with their mouths and toss them around.
The first pass was pretty quick to implement, but there were some obvious issues.
Dogs have very poor leverage for the most part, so they were better at tossing themselves than other objects. It did make for some pretty entertaining King of the Hill style free for alls though.
I now have the dogs planting their feet (fixed joints on feet once they're grounded, with custom break forces/torques so they don't stick too much) and torquing their bodies much more appropriately, and while the behavior still needs some work, it's looking much better and resulting in some fun situations like dogs waking each other up.
I also dynamically adjust the torque applied depending on the number of feet the dog has planted (feet won't plant if they aren't grounded), which really helps sell the effect.
The main thing I'm still looking to improve is to figure out a way to get the dog's mouth closer to what it's trying to grab. It's tough because they have such a long snout. I'm considering adding in a system to get dogs to tilt their heads, which would potentially help a lot with this, but I don't think it's immediately necessary so I'm gonna put that on hold for now.
And here's a bonus gif I caught this morning of a dog falling asleep on top of a food block.