Sponsored By

Behind the AI and physics of Wobbledogs' procedurally goofy Wobbledogs

We asked _Wobbledogs_creator and developer Tom Astle some questions about his project, the journey it has been and its direction for the future.

John Harris, Contributor

March 4, 2021

17 Min Read

Animal Uprising's Wobbledogs has been in development for some time, and just released on Steam Early Access at the end of January. It’s a weird and hilarious pet and genetics sim. Players raise and breed strange boxy, dog-like creatures that grow and metamorphose via cocoons, evolve based on their diet, and learn to survive as players shepherd them through their lives.

Behind its goofy exterior lies physics, AI, and genetics systems carefully fine tuned with no small amount of trial and error over the course of its five-year development. Gamasutra sat down with creator and developer Tom Astle to explore how those systems evolved over the years, the journey to Wobbledogs' Early Access launch, and how meaningful simplicity can often trump complexity when dealing with AI.

First off, who are you, and what is Wobbledogs?

I’m Tom! I started messing around with programming and gamedev back in high school with Java and Flash, and then went to study it more seriously in college. In school I worked with some friends on Zineth, which won the 2012 student IGF, and then ended up accepting a job at EA after graduation as a gameplay engineer on The Sims 4. I stayed there for about three and a half years and then quit to go independent. Since then I’ve released and worked on a few smaller projects (namely Animal Inspector and Tattletail), but the bulk of my time has been spent making Wobbledogs.

Wobbledogs is a pet simulation game where you raise a bunch of physically simulated, procedurally generated dogs that mutate their bodies as you play. It’s an exploration of a lot of aspects of design and programming that I personally find interesting, and sort of a return to a genre of games that used to be a lot more popular, at least from a development standpoint.


Wobbledogs has gone through a long period of early iteration, and has just now entered Early Access. How has the project evolved over time, and where is it now? Do you have any advice for indies working on their own dream project?

I started the game originally imagining it would be fairly similar to how it ended up. It’s way more a sandbox than any sort of guided experience, but it took me a very long time to find the confidence to really see that through.

I spent probably around two years of development essentially prototyping gameplay concepts that I hoped would mesh with everything else I was working on, and trying desperately to find that one magic feature that would make everything click and wrap up my complex series of systems with some sort of nice mechanical bow. I never found it. Eventually I realized that the only way I’d ever finish the game was to go back to what had always worked and focus solely on that. It took me literal years to justify the game’s original direction to myself.

I suspect that almost no one who needs to hear this but hasn’t learned these things firsthand will legitimately internalize and act on this advice, but all the same, my advice is to not spend a significant amount of time on a concept you aren’t confident in. Be okay with what you’re building or intentionally make something different. Don’t just nebulously play around with your project’s direction in the hopes that you’ll wake up one day and discover a masterpiece.

If you can, do concrete, focused research into past similar games. Figure out what about them works or doesn’t, why that is, and how those things might apply to what you’re building. Identify your audience and be okay with making decisions that will appeal to that group even at the expense of others. I spent way too long proving out my design by way of trying every other approach I could think of and failing, and my main justification for doing that stemmed from the worry that some people (i.e. not my target audience) wouldn’t have fun with the game if it was “just a sandbox”.

I was right of course, not everyone likes sandboxes, but not everyone likes pet sims either. I was never going to appeal to everyone, and this approach was not efficient or good, haha. Prototyping absolutely has its place but I’m fairly sure that place isn’t two years taken from the middle of a game’s five year dev cycle. In the end I got to where I needed and it worked out, but I very easily could’ve just run out of money and not had anything finished to show for it.

Wobbledogs has already come pretty far but with a planned year in Early Access the journey still has a ways to go. Has response to it been gratifying? Is having people out enjoying the early versions helpful or distracting?

It’s been incredibly gratifying. I showed development snapshots freely and often, but there’s a massive difference between people enjoying a funny gif and people actually enjoying the game that gif is from. I think it’s a pretty common experience to see a cool-looking screenshot, gif, or video, try out that game, and then find it disappointing. When the game launched I was fully braced for that reaction, especially since so many people had been following the project for months or even years. It’s scary to feel like you have expectations to live up to, and it’s a lot of pressure.

After you’ve stared at the same project for long enough, you stop trusting your opinion on it. I’ve been in this situation a bunch of times, but this is the first time I’ve also been relying on that game to support me financially. It’s a little hard to overstate just how much additional stress that adds!

Seeing people enjoy the game even in its unfinished state has been a massive weight off my shoulders. Turns out I had at least some idea of what I was doing after all! The game still has issues and there’s still a lot I want to change, improve, and add, but a lot of people legitimately like it even as it is now. It’s a nice feeling.



Getting to the game itself, at the core of Wobbledogs is a pretty interesting genetics simulation, but one that, for gameplay reasons, does not work precisely as it does in real life.

Dogs mutate according to a number of factors throughout their life, among them diet and a crossbreeding simulation. It makes the genetics much more interactive than just breeding things. How did you come up with this system?

One of the first things I did with the genetics system after getting the dog bodies to generate procedurally was to build a super quick breeding prototype where you could spawn in a litter of dogs, pick two to crossbreed, and keep on going until you massaged their genetics towards some chosen direction. That wasn’t enough to be a full game, but it was immediately compelling. As the actual game developed and it eventually came time to add in a real breeding system, that prototype was the obvious direction to look to.

As far as a dog’s food choices influencing mutation, that was more iterative. It was neat to have dogs change their bodies over time and it made things more interesting than if every dog just had static genetics. The cocoons came about as a fun way to visually represent that aspect of a dog’s life cycle. On top of that, I wanted ways to influence mutation directions. It felt too random otherwise. Food was sort of an obvious choice, though it took a while to figure out exactly how that system needed to work.

One of my favorite things about how diet influences Wobbledogs is, through the system of food affects gut flora affects development, how feeding Wobbledogs things tends to make them shaped like the thing they eat.

If you want to influence dogs to be thin and long, feed them French fries; if you want them to be flatter, feed them pancakes and slices of cheese! It's intuitive and effective! That's not so much a question I guess as just an expression of admiration, so, what inspired it?

Glad you enjoy that! Like I mentioned above it was a very iterative process. I wanted food to affect mutations, but you needed a way to see how that food would change things that was more concrete than just using your intuition. I thought the concept of gut flora was fun and thematically appropriate. It’s not something I’ve seen used in other games before, but it follows a very clear flow of logic. Gut flora have mutation effects. Food contains different gut flora. Dog eats food and absorbs those flora. Dog mutates according to the effects of those flora.

When it came time to design the flora and their effects, there was so much freedom that it just made sense to restrict things to being somewhat based on the nature of the food that contained them. It would’ve felt way too arbitrary otherwise. It’s still not super rigid, but giving it that more defined base makes it easier to understand, I think.


 

Wobbledogs are cute, but as is evident from the fact they hatch from eggs and metamorphose in cocoons, are not literally dogs. But calling them "dogs" gives them license to do some fairly untoward dog things if not prevented, like eating poop and other... things. Or that's how it seems to me; what does calling them dogs (besides a catchy title) give you over, say, Wobblecats? Wobbleferrets?

The game has had a very long development period, but my very initial prototype was literally just me trying to simulate a (fairly abstract) dog with physics. The dogs quickly diverged from tradition in some pretty obvious ways, but even on top of me just thinking it was funny to keep insisting that they were dogs when they very obviously were not, I think framing them that way also sets up a set of useful expectations.

You see something called a “dog” and you immediately know what to do with it. You know you can pet it, that it might not be all that smart, that it’ll probably get into some trouble, that it’s gonna be a little gross, that it can bark and roll around on the ground, etc. Almost everyone knows how to interact with something like that. Most importantly though, you know you’re supposed to love it. That’s not to say other animals like cats, ferrets, or birds can’t have these same concepts applied to them as well, but dogs were the template from which this new bizarre little species was birthed. They may not be literal dogs, but they’ve got dogs in their bones. To call them anything else would be disingenuous.

Dog learning is also part of the game, although it seems to be pretty simple, like, "do that thing you just did more/less often." I remember hearing that earlier versions tried to be more complex there. Would you like to give us some insight into your dev process by telling us about those failed experiments? Is there a chance we'll see more complex trained behaviors?

The learning used to be way more complex, yeah. At the end of the day, however, the complex stuff wasn’t any better than the simple stuff in place now. It sounded cooler in concept, but those old designs necessitated subtlety, and I think a lot of people who have worked with AI will tell you that the most complex and innovative system in the world is useless if the player can’t easily and intuitively understand what it’s doing. Sure, it’s cool to be able to say that the dogs all have memories and might go wandering off in search of an object that’s been moved since the last time they saw it (a real feature of my early AI systems), but if the player isn’t paying absolute laser focused attention to that dog, that sort of behavior just ends up looking random. Actually, it’s worse than that. It looks buggy. You’d notice your starving dog walk into an empty room in search of food and think the game was broken.

The physics-based nature of everything further exacerbated these issues. I can’t really guarantee that an arbitrary dog will be able to route to an arbitrary location, and even if it can I won’t really be able to predict how long that will take. If this game had more defined locomotion I would’ve been able to go much deeper into the AI systems, but as it stands now much of the AI is built in response to the nondeterministic nature of the dogs’ movement. Their AI is much more distraction-based than it probably otherwise would’ve been. I’ve found that focusing on having them respond to moment to moment situations and stimuli gives them more life than trying to model more complex interpretations of the world.

Wobbledogs is part genetics sim, part physics game, and part pet simulation. I like how the elements interact--if you breed it, you can make a wobbledog that has trouble sustaining itself. (I seem to be pretty good at that.)

I'd say the physics feels like it elevates the game beyond such ancient amusements as PF Magic/Ubisoft's Petz series. I understand it was a lot of trouble getting the dogs to interact with it?

One of the best parts (in my opinion) of those old Petz games is that they do have physics! You could grab your little 2D dog and fling it around. That’s the good stuff! It’s not the only way to approach a pet sim, but I do think it’s the direction that made the most sense for me personally. As someone who’s way more programmer than artist and has been operating on a limited budget, there was no way I was going to be able to get the same amount of life from baked animations as from physics-driven movement.

That said, yeah, setting all that up was a nightmare. I had very little experience with physics engines before this project, so I kind of just threw myself straight into the fire. Not sure I’d entirely recommend that approach to others, but I definitely learned a lot! I think that aspect of the game is a huge part of the reason it works though. Procedural 3D motion felt like a logical next step for this genre. That said, I will probably never make a fully physics-driven game ever again after this, oh my god.

Another quiet bit of brilliance is how the sim aspects underlie a whimsical layer of theater, things like the DOS-like trappings of the breeding simulation and the hilarious doggie "Love Machine" don't affect the sim, but are evocative of a fun and strange world. Is there any backstory to Wobbledogs? Should there be?

I don’t have extensively deep lore all written out, but I do have a rough idea of how the universe works. I’d like to get a bit more into some of this as development continues, but I also think the most important aspects here are just that stuff feels logically consistent and that it’s funny. I’m not sure the dog breeding simulation would be any more entertaining after having its inner workings explained, even though I do actually have a flow of logic figured out for it.

Wobbledogs has this brilliant mechanism where you can take a dog and convert it into a string of characters on the Windows clipboard, ready to paste into an email to send to other people! Not to go into too much detail, but in overview, how does the game serialize a dog into text? I understand that some people have been "hacking their dogs" by changing the text and that's revealed some bugs, do you consider that a problem?

I wrote up a whole blog post on how the serialization works so there’s quite a bit I could get into here, but in short, a dog’s genetics are already mostly just 1s and 0s, and it’s relatively easy to compress those strings further. From there I append all the other relevant info like a dog’s name and age, and then I have a cute little scrambling algorithm I came up with to make sure nothing is human readable.

It was important to me for it not to be trivial to hand edit a dog’s genetics because I didn’t want it to be easier to make a dog that way than to actually play the game. Beyond that, I think it’s great that people have had fun mucking around with that stuff. You can generate some broken dogs by improperly editing those codes, and I make no guarantees that improperly edited dogs won’t break the physics simulation, but keeping that in mind I encourage people to go wild. Someone already reverse engineered the code generation and built a little web tool for it. I think that’s cool!



Wobbledogs go through a fairly rapid lifecycle. They don't age in storage (I think), and death can be turned off in settings, although this changes the game a bit. What role does death play in the sim, and how might it change in later versions?

Death is very important!! I feel strongly about this!! This game is a simulation based around a fictional communal organism. I designed these dogs with generational play in mind, and the genetics system is at its most interesting (in my opinion) when you see it play out over time.

That said it’s also a pet simulation, and this presents a weird sort of contradiction. I give you these dogs and tell you to love them, but then I take them away from you. I put a lot of thought into how the game handles death, and I approach it very intentionally. It’s something I went back and forth on design-wise several times. The ability to memorialize your fallen dogs helps lessen the blow a lot, I think, and for all its morbidity I really do believe that the death sequence itself makes things more darkly whimsical than actually sad or disturbing. I recognize that it’s a sensitive thing, and so I do let players turn death off if they don’t want anything to do with it, but I’ve heard firsthand from people who tell me the design choices surrounding death worked for them way more than they expected. I don’t gloss over it. It’s goofy, but it’s explicitly presented and is a core part of the simulation. I really tried to make it feel like a natural part of the Wobbledog life cycle.

Where do you think Wobbledogs is going from here? Any chance of Nintendogs-like competitions? Explorable dog dungeons? Jaunty outfits? Other species?

There’s a lot I’d love to do, but the bulk of development from this point on will be focused on polishing what’s already there, adding more content that fits within the existing paradigms, and adding features/contained systems that extend or enhance things. External minigames are very unlikely to ever happen. The base game is complicated enough (in terms of development) without adding new game modes. I already spent about 2 years trying to figure out how to do that in any sort of reasonable way and I ain’t going back. This stuff’s hard and I’d much rather make what’s there the best it can possibly be than go off and add more ancillary features.

The game will definitely get bigger and better over this next year, just don’t expect something entirely new to evolve. :’)

About the Author(s)

John Harris

Contributor

John Harris writes the column @Play for GameSetWatch, and the series Game Design Essentials for Gamasutra. He has written computer games since the days of the Commodore 64. He also maintains the comics blog Roasted Peanuts.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like