while drawing a wobbledogs thing (i'll post it on twitter later, i'm busy right now), i listened to dogsong medleys to help me get in the mood. and it dawned on me that there should be at least one track consisting of barks. it's too early to think about the soundtrack but im suggesting it anyways.
another suggestion: show/race names for dogs like the ones horses have. i want them mostly because of how strange they tend to be.
and i think this has been asked alredy, but will we be able to walk dogs?
The bark thing is totally gonna have to depend on what ends up happening with the SFX. Bark songs are cute but if my in-game dogs also bark then it'd be bad to have bg music that made the same sounds!
I don't know if you'll be able to walk the dogs or not but I was thinking about implementing some sort of leash-tech at some point to let you restrain dogs to in-game posts or something. I'll have to give it more thought!
--
Been a bit so I figured now's a good time for an update. A lot of my work since the last update has been on prototype stuff. I've been desperately trying to figure out a good core interaction loop for this project (a recurring theme) and so I was trying out some stuff. I kept running into the same problem, that it's very hard to create a meaningful gameplay loop that "does it all". After talking with a friend I kinda came to the conclusion that I've been overthinking things for far too long. I've been trying to make this a game for "everyone". It's a rare game that can do that and I'm at an even larger disadvantage than usual in that I have a few aspects of this project that are completely immovable at this point. I still have big plans for this game--I do mean for it to be more than just a surface level pet game--but I need to be more OK with defining an audience for myself.
With that said, I'm planning a renewed focus on the customization and simulation aspects of the experience and I won't be trying to shoehorn in entirely new outside systems at this point. I have what I think will be a good plan to drip-feed unlocks and new content (more on that another time), and my hope is that that minimal progression will be enough to keep people interested. After all, the dogs are really the stars here and I don't want to lose sight of that. I know this is all pretty vague at the moment but hopefully it'll make more sense later. I still plan for this game to be rich with stuff to do and discover, but ultimately I'm no longer going to try as hard to cater to the type of player who isn't gonna base-level just enjoy playing with and watching the dogs themselves.
All that said, I've spent most of my time recently working on something unrelated to everything I just talked about!
The game co-working space I'm a part of in LA (Glitch City) is hosting a fundraising event this coming Wednesday where among other things we'll be showing off our projects. It's pretty low-pressure but I figured it'd be a good opportunity to get some hands on this thing so I wanted to put together something solid to let people play around with. Since it's not really an experience at this point I decided to just expose all my customization stuff and let people go wild with those tools. Super nervous about this because it'll be the first time I've ever really shown this thing off.
At the very least, this is gonna be a killer debug tool for me once I get back into dog genetic content, but I also imagine I'll let you cheat this thing up in some form during the final release, because it's pretty fun to play with.
I have all the sliders being created dynamically based on the master dog genetic definition, so they should just update as I add more or change things around later. It was an interesting problem to try and set this up, however. The basics weren't too bad. I already convert genetic values to floats internally for most things, and because of a decision I made early on they're mostly meant to represent values between 0 and 1 (percentages of a modification), so converting them to slider values was mostly straightforward after working out a few kinks.
The reverse direction was a little more complicated but still not bad. I essentially round the slider's value to the nearest available permutation for a binary string of the desired length. In the case the resultant string is too short, I just tack on zeros to the front of it to make up the difference.
float range = maxVal - minVal;
float permutations = GetNumBinaryPermutations(desiredGeneLength);
float increaseVal = range / permutations;
int valuePermutation = Mathf.RoundToInt(sliderVal/ increaseVal);
string finalSequence = GetBinaryStringFromInt(valuePermutation);
OF COURSE, it's not quite that simple. This works for most genes but not all. Some genes are too long for me to fit their permutation num in a float, for example. For those genes I cheat. I split those up into usable chunks and increment each chunk uniformly as the slider increases. Not very accurate but accurate enough for what they're being used for at the moment. Another problem is that some genes are used in a "looped" way. These are genes that I iterate over and can infinitely grab sections from. There's no meaningful way to "increment" those genes because they aren't used all at once to generate a raw value. For these I check the incremental length, figure out which "section" the slider falls inside of, and increment only that section as the slider moves. This is still not ideal because some of these values (specifically for patterns) loop back on themselves as they're evaluated, but again, it does an acceptable job for now.
Anyways, working on all this stuff has gotten me playing with dog variation a bunch. It's particularly fun to just mutate a dog and see where it ends up.
I also like testing the limits of my dog locomotion. Not everything works but I was a little surprised this guy was able to walk.
And of course the addition of the puppy button meant that I played around with these babies some more.
Anyways, that's about it for now. I'll leave you with a screenshot story I took.