Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411283 Posts in 69325 Topics- by 58380 Members - Latest Member: bob1029

March 29, 2024, 06:35:31 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
  Show Posts
Pages: [1] 2 3 ... 20
1  Community / DevLogs / Re: Wobbledogs on: January 28, 2021, 10:45:05 AM
Wobbledogs was featured on Rock Paper Shotgun! Really cool seeing it between all those CoD's/Cyberpunks/GTAs...
I didn't know it already came this far, visually and gameplay wise - looks impressive!

Thanks  Smiley

--

It's out on Early Access!!

https://store.steampowered.com/app/1424330/Wobbledogs/

I wanna write up a bigger post with some thoughts later, but for now I'm just sharing the news. It's been a long time coming!
2  Community / DevLogs / Re: Wobbledogs on: November 20, 2020, 08:00:55 AM
Thanks everyone!
3  Community / DevLogs / Re: Wobbledogs on: November 19, 2020, 10:37:37 AM
Hey so... Wobbledogs is coming to Steam Early Access in January 2021!

https://store.steampowered.com/app/1424330/Wobbledogs/

It's so weird to see it on Steam like this, haha. It feels very real. I've got a ton of work to do still, but it's really exciting to have the next step lined up like this. Can't wait for people to get their hands on this thing!
4  Community / DevLogs / Re: Wobbledogs on: October 09, 2020, 10:10:00 AM
Off the top of my head (and with 0 knowledge of what those screenspace issues are) two things come to mind...

First would be just a second camera that only renders the popups, and then some secondary logic to determine which can or can't be displayed at a given time. Some sort of raycast to a few points on it, I guess?

I have also done some arcane and forbidden experimenting with screwing with the clip-space coordinates of meshes before, manipulating the vertices there to kind of fake bringing things up closer to the camera despite them still appearing to be in the same position and size. It's really weird though, and would basically be the same as rendering them in screen-space with scaling so probably not worth listening to

If this is Unity (is it?) you could just render the speech-bubbles with a second camera? If it's something else you are using, it would just mean rendering it to a second buffer and then rendering this second buffer onto the main view. Seems too simple, so I feel like I might be missing the point.

edit: looks like NovaSilisko had the same idea

I'm using Unity, but I should've specified that at the moment this isn't really a technical issue, it's more of a design issue. I've had these pieces of UI rendering over the top of everything in the past, but there are a ton of cases where that feels very weird. At the moment it's a trade-off between the various solutions. While it looks bad when it clips, there are also plenty of instances where it feels worse that this UI doesn't get occluded.

I'm sure there are some better ways of handling this (collision on the UI with controlled offset allowances, disabling or fading the UI if I detect it's inside of an object, screen space display with manual occlusion, etc), but until I can come up with one that's performant and not a massive task to implement and iterate on, I'm probably living with some edge cases here, haha. There's just so much else that I still need to do that I'm not sure I have the time to really dig into it any time soon.
5  Community / DevLogs / Re: Wobbledogs on: October 08, 2020, 05:14:14 PM
Oh my goodness, I don't think I've heard the music or the sound effects before, it's all so good and with all those snappy animations! Kiss Kinda jarring that the speech bubbles are hidden behind geometry when everything else looks so polished and basically like a finished game haha, this is really coming together!

Thanks, this is the first time I've shown them off!

I definitely don't love the billboarded UI clipping through geometry, haha. Not 100% sure what to do about it though because there are other issues if it displays in screen space rather than world space.



 Hand Clap
6  Community / DevLogs / Re: Wobbledogs on: October 08, 2020, 08:24:32 AM
Dude... looks like a TON has changed in terms of polish since the last update  Kiss

What's with those germs on the left by the way?

It's easy to lose perspective since I look at this thing nearly every day, but there really have been a lot of little (and some not-so-little) changes and additions. It adds up!

Those "germs" are gut flora! Pretty sure I've talked about them here in the past, but essentially the things a dog eats contribute different flora to their guts, and those flora change how a dog mutates.
7  Community / DevLogs / Re: Wobbledogs on: October 07, 2020, 01:35:20 PM
Hey! It's been a while...

I gotta say, it's very obvious to me now why so many big project devlogs get abandoned or updated less frequently as time goes on. I haven't stopped working on the game, but the tasks I accomplish keep getting less and less interesting to talk about on average, and there are longer gaps of time between new features or cool technical tidbits, so I've very much fallen out of the habit of keeping this thread up to date.

I don't have any in-depth dev stuff to write up at the moment, and I'm not sure I'll have time in the near future to do so either, but I've been working with some folks to get audio in the game and I wanted to share a video of how the everything's shaping up!





Still have a ton to do (and there's definitely still some temporary stuff in that vid), but the project's turning into an actual thing! I hope to have more concrete info to share in the coming month or two.
8  Community / DevLogs / Re: Wobbledogs on: March 14, 2020, 08:19:51 AM
Good to hear you are motivated again. Nice update, I like the digging. I'm not sold on the den, to be honest. Isn't part of the fun to have the dogs interact with each other? Sounds a bit like you would be creating a hidden space that will remove dogs from view. I was thinking the digging could be used to hide toys, dig up bones or just for pure fun of being a wobbledog. Maybe getting dirty and requiring a bath.

Glad you like the digging!

You're right that part of the fun is having the dogs interact with each other, but dens don't stop that! Multiple dogs can be inside a den at once, so they can still mess with each other if they really want to, and you can peek inside any time you want so it's never actually hidden. The fact that you have to purposefully choose to look inside is, in my opinion, a positive if anything. When the dogs are hidden from view for a bit that creates a natural opportunity for them to accrue mischief, which is important to it feeling like the things they're doing are worth keeping track of. But regardless of that, dens are really just their own little rooms, but with AI modifications so that there are more potentially unique scenarios involving them than standard rooms. They increase the possibility space of the game a bunch! Dogs also won't be in them 24/7. A particularly aloof dog might be more prone to it than others, but most dogs will only go in occasionally. It's just another thing for them to do and you're meant to have a handful of dogs in your pen at once so the chances of them all being inside separate dens at the same time are fairly low.

And if you still really dislike them, you can always block off their entrances or destroy them yourself. I honestly think they're a super cool addition to the game though.
9  Community / DevLogs / Re: Wobbledogs on: March 13, 2020, 04:27:40 PM
Self-care is important! And that's not a whole lot of time in the grand scheme of things. But I'm glad to see another update! Kiss Digging looks good!

Glad that you realized in time that you needed a break - a true burn-out is a thing to avoid at all costs!

Thanks, yeah it was definitely the right call. I'm feeling way better about working now and it's been a VERY nice change of pace, haha.

--

So, let's talk about why I added digging. Digging wasn't the goal in and of itself, although I do think it's a cool feature and plan to add a bit more to it soon. The real reason I bit off digging was as part of my new goal of adding features that autonomously modify the space you play in. The dogs themselves already change, but your pen has always been fairly static. Sure you can decorate it, but that's a very controlled thing and you can't watch it unfold. It's something you do yourself. Holes obviously modify the pen, but they're also important for another reason, which is generating dirt.

Dirt is, of course, something a dog can eat.



But it's also an important material for dogs in that it's what they use to construct their own personal dens! Dogs will studiously go about their business of digging holes and creating dirt so that they can grab that dirt and bring it back to their den location to slowly construct a little place to hang out.



The idea of having dogs construct little structures like this was really cool to me. Dogs never really had much of a goal other than filling their immediate needs. They needed long term goals as well as short term goals, and I think things like this will make them more fun to watch and make them feel more alive.

My initial idea for dens was that they were little hidden areas for dogs to go hide away. As part of that I needed a way to actually hide dogs. Unfortunately, enabling/disabling active rigidbody chains isn't the most straightforward thing in the world, and since there's a time cost to creating a dog, I didn't want to just remove it and then regenerate it again every time it went into/out of the den itself.

If you just disable and then enable a dog, this is what happens.



Joint constraints reset and everything just generally turns out badly.

After this obviously didn't work, I experimented with just setting all the dog's rigidbodies to kinematic and then moving it out of the game's view. It wasn't that elegant, but it did work.



Some potential issues with this but it was enough to let me prototype the dens in full.

What was immediately obvious, however, is that when implemented this way, dens were actively not fun. I could very easily see people trying to stop their dogs from creating dens, because if a dog was prone to hanging out inside of one, all of the sudden you wouldn't be able to see them or interact with them any more! I'd inadvertently created a feature that papered over the main appeal of the game!

Thinking a bit more, I realized it might not be that hard to make den interiors actual physical locations. If dogs physically transported themselves to interior locations, then you could still watch them. Not only that, but it'd allow for a bunch more behaviors surrounding dens (hoarding objects, laying eggs in dens, excavating dens further from inside, etc, etc) and add a ton to the feature in general.

The road to interiors was... perilous...

The den interiors themselves are spawned outside of the camera clip view. When the camera moves to an interior it changes its skybox to pure black and shrinks the far clip plane so that only the interior you're focusing on can be seen. Dogs are teleported to and from these locations when entering/exiting dens.

Teleporting the dogs is not super straightforward, and going both into and out of dens caused its fair share of bugs.





These aren't fully solved yet, but they're definitely in that "good enough to move on" state, and there's enough error handling to stop things from permanently breaking.

The additional problem here was with object connections. Dogs can hold objects and other dogs in their mouths, and cocoons can attach themselves to objects and dogs as well. This means that has to be keeping track of everything its attached to or that is attached to it so it can recursively handle it all accordingly whenever it teleports. Currently dogs can bring objects into dens with them, but they cannot bring along other dogs or cocoons.



Dogs will go through the entire construction process, and will use owned dens as preferred locations for behaviors such as laying eggs and sleeping. They'll also be discouraged from doing certain things like pooping in their own dens. In general they'll try not to ever enter a den owned by another dog, but personality modifiers are in effect for this stuff as well.

I'm already excited about the state of the feature as it is now, but once I've got real graphics for these things I think it'll be really really cool.

The next step here is getting the dogs to intelligently choose locations for their dens instead of just checking a few canned locations, and then hopefully to make it so they get angry if they see another dog hanging out in a den they own. The feature's pretty close to where I want it for the time being.

And then the other big update is that I've started working with someone on sound and music. I'll share once things are a bit further along, but I'm really happy with how it's coming together and I'm super glad the game finally has some noise! Turns out things are more satisfying with sound. Who knew!


10  Community / DevLogs / Re: Wobbledogs on: January 27, 2020, 05:12:05 PM
Hey so uh, I've held off posting here for way longer than I meant to. I nearly put this off even longer because I'm in the middle of answering some larger questions about the project, but I decided that even a partial update is better than nothing.

Hello!

Trying to figure out where to even start, but obviously a lot of time has passed. I want to try and be open about what's been going on considering I've been developing this so publicly. The short of it is that I, surprise surprise, got very burnt out on this project. I mentioned it briefly in the last update in a sort of hand wave-y way, but things ran a bit deeper and it resulted in me taking 2 1/2 months to contract on another game to try and clear my head. The good news there is that I wasn't burnt out on working in general (I hadn't been working wild hours or anything), I was just burnt out on working on this game specifically. Just last week I opened the game again for the first time in a while and I'm back at it. I'm currently prototyping a few things and depending on how they go, I'll be figuring out next steps. Being a bit intentionally vague here, but I'll have more to share soon I think.

My initial plan for that 2 1/2 months was to try and pitch Wobbledogs around to publishers while contracting on the other game. That didn't end up happening. The first few weeks I put some of my free time into getting a demo and pitch materials put together, but being so burnt out, things were moving very slowly and I made the tough decision to use that time to take a legitimate break from the project, which I think was very much the right thing to do.

What I can say right now is that the game is still alive and I intend to continue sharing new info as I have it. I really appreciate everyone who's been so patient with me these past few months as updates slowed to a trickle.

And on that note, here's a little dev update from something I'm working on as part of the stuff I'm prototyping right now!

--

I needed the ability for dogs to dig, and as part of that I needed a corresponding animation. In my head I pictured a dog scratching at the ground rapidly with its front paws, and my first test was to just try animating the front legs.



That looked like it was going to potentially work as long as I could tone things down, but the more tests I did, the more I realized my approach was wrong. The biggest issue was that the paws themselves had a tendency to get stuck on the ground as they scraped it, which looked awkward and caused balance issues. Getting the dogs to plant their back feet helped, but it wasn't enough on its own. I decided to try cheating a bit more, and I spawned in some invisible objects and jointed the front feet to those directly, with the intention of animating those objects instead of the feet. The idea was to remove the possibility of the feet getting stuck or having their motion altered by friction as they rubbed against the ground.



Now that the dog was held firmly in place, I could translate the animation to these new invisible gameObjects. At first it was too subtle.



And then it was a bit too wild.



But after some tweaks to the joint settings and animation parameters, I got a decent-looking scrabble!



It's pretty simple, actually. The left/right objects are moving via offset sin curves, and the feet are jointed to those objects with a bit of springiness to give the physics system some leeway. I also tell the dog to focus on the location he's digging. Without that he just kinda looks like he's wigglin'.

Add in some dirt particles and we're good to go!



It could definitely use a few tweaks, but for now I'm really happy with how it's turned out.

I know it's been a while, but that's all I have for today. I'll try my best to post the next update without as much of a time gap!
11  Community / DevLogs / Re: Wobbledogs on: August 22, 2019, 09:46:28 AM
This project has totally renewed my interest in AI, even if you're only using an evolutionary algorithm and pathfinding. Can't wait to see how you do the gardening system, and if new behaviors emerge when the "dogs" discover the gardens.

Awesome to hear! Right now I think the gardening system is gonna stay relatively simple, but we'll see where it ends up.

For some reason I felt inclined to draw some fanart of a wigglepup playing a guitar around a campfire.



But what is he singing?

!!

---

Super overdue update!!

I was putting this off until I had something substantial to talk about but I probably could've done some smaller updates along the way. Since last time I've been doing a lot of work on trying to get a vertical slice of the game ready. Turns out that's a lot more work than I thought it'd be. In addition to there just being more stuff to do than I'd thought, the past month or so I've been really starting to feel the effects of burnout (turns out working on a game continuously for 3 1/2 years can do that to you), so I've been slowing down a bit to try and preserve my state of mind. The good news on that front is that it's been working. I've been slowly amping back up to a normal work day and I'm feeling much better about things in general.

A lot of my work has been on stuff that isn't super interesting to call out specifically, but I'll touch on a few things.

Firstly, plants are springy now.



I want players to be able to put down a lot of stuff like this but it was majorly screwing up dog movement. They'd constantly be getting hung up on stray flowers and it was frustrating to watch. This way dogs can bash into plants without it interrupting their movement too much, and it's also just way more fun to have plants that bounce around and react to things.

We've also got a real model for the food dispenser.



We have variations for later object sets as well, though none of them have been fully implemented yet (the models exist I just haven't had time to put 'em in the game).

In fact, we've got a LOT of new models right now. I mostly want to keep things a secret so you don't know everything that'll exist in the game ahead of time, but I can definitely show off a few things like the new cocoons.



There is also one larger system I wanna talk about. While putting together my vertical slice I was forced to confront the fact that the game still felt like it was missing a critical component. I know I said it was being refocused to be a pet simulation first and foremost, and that's still the plan, but there was just too little direct interaction.

To try and address this, I've been working on a command system.



For a while I'd been holding onto the idea that the dogs are completely uncontrollable; that they'd always do what they wanted and you didn't really have any say. After trying out a simple command system, however, it was immediately obvious that being able to tell your dogs to do things would immensely improve the overall experience. There's hardly anything to the system right now, but it's already a welcome feature.

The way it works right now is that you can issue commands to the currently selected dog via a context menu. At the moment they'll always listen to you and there are only a few commands, but I have plans for this stuff going forward. I'd like to make it so there's an obedience statistic that starts very low and increases the more you interact with your pups and get them to listen to you, and I want 'em to be able to unlock new tricks and behaviors the more you engage with the system. It's still a fairly light feature but it'll add some progression to the individual dogs themselves and allow for some fun interactions (like getting a bunch of dogs to grab onto each other and constructing a dog chain).

I did run into one interesting design problem with this system, stemming from (surprise) the physics system. Because things are physically simulated, I can't actually ever guarantee that dogs will do exactly what you tell them to. Like, you can tell your dog to sit, and the game can try and get that dog to sit, but there are a myriad of factors that could prevent your dog from actually looking like it's obeying your and correctly sitting. This is fine when the dog is completely autonomous, because them falling over is funny and as far as the player knows could be completely intended. However, if you tell your dog to sit and it just falls over, that feels like a bug.

My solution to this is to just be very explicit. When a dog decides to follow one of your commands, it gets a little popup over its head letting you know that it's trying its best to listen. This way even if it visibly doesn't seem like it did what you told it to do, you understand that it tried. This works surprisingly well, and adds a bit of unintended charm.



I'm moving onto one of my last vertical slice tasks for now, which I'll talk about next time. The progression and obedience aspects of the command system will be added later, as they're both things that won't add that much to the start of someone's playthrough (they effectively lock away content and although I think they'll be fun in the long run, I think those features will have the opposite effect if you're only playing for 10 minutes).
12  Community / DevLogs / Re: Wobbledogs on: June 12, 2019, 04:56:24 PM
I'm glad you are keeping up the tradition of nightmare gifs

The nightmares never end...!

--

Continuing to work on shoring up existing half-baked systems this month. Moving ever-closer to content production. The remaining things like this are all sort of intertwined so I'm bouncing around a bit but here are some of the bigger updates since last time.

First of all, I've been working on this food dispenser object. I'd been trying to think of a way to integrate food into the game more cleanly.





There's no model or anything yet because I've just been testing out functionality for it. You can click on the object to choose which type of food it dispenses.



And then if you or a dog presses that big red button, a piece of food of that type pops out. This means dogs can feed themselves, or you can feed them manually. It also means that a mischievous dog could walk over and continue to dispense food to their heart's content without actually wanting to eat any of it.

I'm also planning on having certain types of plants grow food as well, but I haven't quite gotten to that yet (gardening overhaul is my next task).

Also been working on making the game's inventory usable again! For a long time now if you opened this panel all that'd happen is that the game would spawn dummy objects to represent what was supposed to be in your inventory and then they'd physically tumble out of the UI because they still had rigidbodies and colliders on them.





I spent a decent chunk of time trying to figure out how the interface needed to work in terms of getting things into and out of the inventory. The nice part of the settled-on solution is that I can use those context menus for other things as well! For example, poop now gets a "Clean Up" menu item when you click it.

For the time being only toys go into your inventory. Stuff like food is fairly renewable so I decided it'd be best if it didn't ever take up any inventory slots. Toys, on the other hand, will never disappear once you've got 'em. Even if they end up accidentally destroyed for some reason they'll just pop right back inside your inventory like they never left.

Like I mentioned earlier, my next task is to overhaul the gardening system. I've got a design outline for it so fingers crossed it goes smooth!
13  Community / DevLogs / Re: Wobbledogs on: May 31, 2019, 04:38:47 PM
Looks amazing! Kiss
Nice! It's still Wobbledogs but at the same time it's so much richer than before

Glad you like the new art!

I found myself in need of a model to test the replicator in my game, and I wanted something more detailed than just a cube... so I did a bit of fanart.



Space pup!

Cute!

--

Long overdue for an update here, but I was waiting until I finished up giving the dogs new legs. So speaking of that...



We've got new legs! (And lil paws!)

Quite honestly, getting these working was a nightmare, hence the update absence. I wasn't ONLY working on these since the previous update, but they've taken up a very large amount of my time. So what exactly was so difficult about making these things work? Lemme try and explain.

First of all was the dilemma of actually setting up the model to begin with. These legs are complicated because not only do they have to be rigged to move around, they also have to be set up in such a way that each individual segment of the leg can scale independently of every other segment, and that can't interfere with the standard weighting or UV mapping. The way we came up with doing this is to have two sets of bones associated with each leg. The first set controls the scaling only, and that's the set that allows the legs to adjust their proportions during the dog creation step. However, these bones can't still be moving around when the dog is actually walking or their legs will have wildly incorrect weighting and things will look awful. So what I do is I only have physics joints on the scaling bones when the dog is being created/proportioned, and then once that step is done, I remove those physics joints and re-create them on the bones that take care of standard movement.

Of course, this is much easier said than done.









Skinned meshes are fickle things when combined with a physics system. Setting up a skinned mesh to follow an existing physics rig is hard enough on its own, but it's extra hard to do when you're doing it twice and moving things around at runtime. Without going into too much detail, there was a whole bunch of trial and error involved in getting this stuff to work. Certain actions needed frame delays before running in order to give the physics system time to update, and the order of operations turned out to be very precise. If anyone's trying to do something similar and has any specific questions, I'd be happy to answer privately, but going into explicit detail here would probably not be too interesting.

The other complication here was that some of my previous leg scaling code wasn't as accurate and precise as it should've been, which was okay before, but now that the actual collision objects are being hidden and a skinned mesh is mapped to them, all those issues had to be fixed in order to avoid lots of obvious clipping (for example, my dogs' feet weren't scaling evenly which meant that the skinned mesh foot would clip into the ground).



Just mapping the leg segment proportions wasn't enough though; they also needed to get thicker and thinner. This is something that's easy to do with cubes, but harder to do with an actual model. Scaling the mesh itself doesn't look correct, and it messes up all the joints as well. To make this work, I ended up writing a simple vertex shader to inflate/deflate the mesh according to a value I provided.

The actual code for this shader couldn't be simpler

Code:
v.vertex.xyz += normalize(v.normal) * _Chub

That said, I'd never actually integrated a vertex shader into a project before and I didn't realize how much of a pain this'd end up being. It turns out that when you write a vertex shader, you actually have to write it multiple times in multiple different places in order for all the systems that use vertex position info to have the updated values.

So while I could inflate the dogs' legs relatively easily...



As soon as I ran the game, things looked pretty awful.



The model's material inflated its verts, but no other system knew about this, so the lighting, ambient occlusion, and highlighting system plugin all operated on the original values, producing a bizarre, unshippable, double-leg effect.

In any case, all the appropriate systems have this info now, and I'm happy to say that these new legs are currently in the game and bug free! It was worth the time spent, but I'm hoping I never have to touch them again.

I've been doing a ton of other miscellaneous stuff as well, like this little object info system:



Most of it isn't too interesting though. The only other big thing is that I made some design decisions about object unlocks. I'd been playing with that research system I mentioned a few posts back, and it never quite felt right. I also prototyped a little adventure system for unlocks, but that wasn't right either. The main issues were the same few things I'd been struggling with for a while now; mainly that the objects are a huge part of the game and an avenue for gameplay. Decorating your pen and watching your dog play with stuff is one of the biggest aspects of the experience, and when I lock away most of that stuff from you and force you to slowly unlock it arbitrarily over time, I'm essentially gating off one of the core ways you engage with the game and highlighting how little there is to do without any actual content to engage with. My plan going forward is to go lighter on unlocks. Objects will be organized into sets and you'll unlock large sets as the game progresses rather than only ever unlocking individual objects. You'll start with the flagship set of objects and go from there. I still plan on having some individual unlocks based on "random" events and such, but there won't be a visible system behind those, they'll just happen as you play. The dogs themselves are the progression more than the objects are.

It makes the game more sandbox-y but I really do think it's the right call. Fighting that aspect of the game has never once resulted in a working mechanic!

Should hopefully have another update relatively soon! I'm currently working on some food system stuff that I think is gonna be really neat.
14  Community / DevLogs / Re: Frog Days on: April 15, 2019, 06:10:12 PM
I'm sorry to hear that but I completely understand your decision. Super glad to hear you're moving onto stuff that makes you happier!
15  Community / DevLogs / Re: Wobbledogs on: April 15, 2019, 05:54:03 PM
SO, the reason I've been seemingly working a bit slow recently is that I've finally brought an artist on board!

Super excited to share that Jordan Speer (http://jordanspeerart.tumblr.com) (https://twitter.com/Beefstrong) has joined the project! We've been working together over the past month and I can't begin to tell you how excited I am to see his stuff start populating the game.







There's a bunch more updated art than what's in these screenshots, but I don't wanna just show it off all at once. Some things'll be kept secret, and other things I'll show later on as I get around to implementation. There are still a few lower level things that need to be done asset-wise, so the game should keep looking better and better over the next few months!

Anyways, that's the entire update, I just wanted to share now that the new assets are finally in a screenshotable state!
16  Community / DevLogs / Re: Wobbledogs on: April 05, 2019, 05:13:33 PM
Very interesting concept, good simulation games can take up a lot of people's time if there's enough content, and seems like there's going to be quite a bit here.
The art is very simple but it works really well on what you're doing. The physics and how they wobble, as the title suggests, makes the game look very charming despite the simplicity of the art.

Have you ever played Monster Rancher? There might be some concepts you can take inspiration from it when they train their monsters to be better at certain things. It's not a purely simulation games like this one and more of an RPG, but there's a lot effective stuff in that game that makes the player be very attracted to their monsters and sink more time into the game.
Although I'm not quite sure if you want to add the concept of Wobbledogs dying of old age in here, lul

Another thing I'd say to add more into your game is customization. Games like these thrive on making players be attracted to the world or things they have "raised", in a tamagotchi kind of way. There seems to be already a decent amount, but can't hurt to add more if it's within scope.
Making things feel more personal and different from player to player or dog to dog can make players get more fun out of it. This isn't just restricting it to the looks of the doggos or room, either. This can be done via stuff like dogs having a lot of AI behaviour options that changes depending on how they are raised or something like that. I've noticed that you've had trouble adding behaviour you're good with in your devlogs and having to remove some stuff like distractions, but having it in mind is helpful.

Of course, take it slowly and take your time. Can't have things be too much out of scope and out of focus, just keep doing the things you intend to do and see where it goes from there before you instantly take advice from random schmos like me ᶘ ᵒᴥᵒᶅ .

Glad you're finding it interesting!

Monster Rancher 2 is one of my favorite games. I've taken a bit of inspiration from it and have in the past tried to implement a few related mechanics but I've come to learn that this game wants to be a pet simulation first and foremost, and I'm committed to sticking with that direction at this point.

There will absolutely be customization. Dog and pen customization is already implemented at a base level and largely just needs more content (which I believe I'll be diving more heavily into before too long), and I have a few thoughts about more behavioral customization stuff (distractions are actually back in at this point!).

The game's fluctuated a ton over the years so I imagine it's not super clear what is and isn't in from all the stuff I've tried out since the beginning of this devlog but I'm finally at the point where things are starting to focus and I hope that that'll start to become more obvious in the coming months!

Lovin' it, how far away are you from the release?

Thanks! I have a rough ship date in mind but I don't wanna say anything publicly until I'm further along, since that can obviously change. What I can say is that I'd like to be at a point by the end of this year where from a functionality and content standpoint I could in theory release a solid demo (though I don't have specific plans to release one publicly at that point).

--

I know I mentioned two weeks ago that I'd be diving into aging, but I've been super busy with the other secret thing I mentioned, and I've only gotten a handful of days (mostly this week) to actually work on this feature, so it isn't complete yet. Still, the other stuff is also pushing the game forward and I'm excited to share it with everyone soon!

But back to aging. Genetics and mutation are obviously a large part of this game and its appeal. I've never quite gotten those systems to feel as solid as I'd like and it's been bugging me, especially now that I'm trying to wrap up all my basic features and prepare for content creation. The major problem is that it's always felt very weird and arbitrary to sway or direct dog mutations no matter what ancillary features I've put into the game to help with that. Giving it some thought recently I realized that one of the biggest issues is that there's no through-line with mutations as dogs go throughout their lives. They can have no tail one day, then a massive tail the next, and then a completely different tail the day after that. It feels random and nowhere near as interesting as it should. The other thing that's felt weird about this game for a while now is the aging process. The game has puppies and it has adults, and there's nothing in between. After a certain amount of time a puppy poofs into an adult and that's about it. Again, it's a bit disconnected and arbitrary.

So I came up with a way to solve both those issues at once. I'm re-thinking how mutations and aging work. In the past, dogs had two ages, puppy and adult. Once they were an adult, they would periodically enter a cocoon and mutate. Every time they did this their genetics would semi-randomly change, and they would repeat this pupation/mutation cycle for their entire lives. This is no longer the case. These features are now tied together.

With my new system, dogs now have multiple age states between puppy and adult. Every time they're ready to age up, they enter a cocoon. Upon hatching, their proportions will have changed to be closer to their adult proportions, and their genetics will have mutated. Once they reach adult age, they will no longer change any further. The other nice thing about this is that it gives breeding a way better reason to exist. A dog won't mutate forever so if you wanna continue to bring out certain properties, you've gotta engage with the breeding system!

Additionally, mutations are no longer random. When a dog is first born I assign them not just a starter genetic string, but a "final" genetic string. As they age, their genetics properties will move from their starting values to their final values. What this does is create a predictable mutation path that makes sense to look at and watch. It also provides much more clear avenues for influencing dog mutation paths. I haven't gotten to gut flora effects with this new system yet but now you'll actually have clear genetic trends you might want to halt or speed up.

Implementing all this has been a bit tricky. Aside from accidentally making my puppies the size of fully grown dogs...



... I also ran into issues with dogs shrinking as they got older. The way I express positive and negative value changes is that there's a positive gene and a negative one. In the case that a dog's body size wanted to finalize with a negative modifier, my system would slowly ease their body size value towards that smaller final value the older they got. This is the type of thing that would be funny as a rare mutation, but shouldn't be the default behavior.

I've had to add some custom options for dog genetics to avoid these types of problems. Certain negatively-interpreted values, for example, now modify their associated dog's base genetics so that a dog that wants to end up with a tiny body will start small instead of shrinking. Additionally, some properties, like tail size, I've set to start at the lowest possible value no matter what, so that tails appear to grow into their final size instead of suddenly appearing fully formed.

I'm still adjusting things but so far I'm finding it very satisfying to watch dogs grow up and express their genes!



I've also added support for custom expression curves on a per-property basis.



By default this is linear, but by modifying this curve I can do really neat stuff like making it so that pattern intensity is amped up on younger dogs and then slowly fades back to its actual value as they get older.







There's still more to do with this system, and I'd really like to find the time to add support for some rare genetic modifiers that muck with this stuff (like making it so some dogs never stop pupating and just continue to grow forever), but I'm pleased with how it's coming along. After this stuff is done I'd like to take a pass at some puppy-related AI stuff, but it's possible that'll have to wait until later. We'll see!
17  Community / DevLogs / Re: Wobbledogs on: March 25, 2019, 10:03:39 AM
Kiss

The little angry smoke puffs are the best!

Haha thank you, I really love them too.

--

Low-key update before I start in on my next set of tasks this week.

Since last update I've been focusing on item progression. This is one of those things I've designed and re-designed over and over for most of the lifetime of this project. Progression in a game without goals is... difficult.

I started this month with the intentions of expanding and polishing up my store system. Essentially, you'd get money from collecting dog eggs that were periodically laid, and then you'd use that money to buy stuff from the store, which would periodically restock a semi-random selection of objects. The problem with this system was that there was essentially no way to optimize your money production. You couldn't really do anything to make more money if you wanted to, at least in the short term (I was playing with the idea of mutations that increased egg production/quality). That meant that if you ended up in a situation where you saw the shop had an item you wanted, but you had nowhere near enough money to buy it, there was nothing you could do. It was frustrating to watch the shop restock and get rid of something you wanted to buy. You would just have to hope it'd come back in the future.

Even going for something more along the lines of what The Sims does, a persistent catalogue of all objects in the game available from the start, felt wrong here because you couldn't do anything to speed up your money-making. Basically, having rewards gated on money is fine, but not when you as the player can't really put your time into making more of that money. I'd essentially created a time-based unlock system that was even more frustrating than usual because it FELT like you ought to be able to have more control over it than you actually did.

So I scrapped the shop for now. Money's still in the game right now but I'll probably end up removing it once I'm more comfortable with my newer design.

What I'm doing now instead is having objects become available via a research system. (The UI here is not final)



My internal fiction here is that you hijack the processing power of your dogs' brains to research new objects. The more a dog researches stuff for you, the better they get at doing so. At least to start, you can only assign a dog to one thing at any given time, so there's a natural progression as you get more dogs of being able to research things more efficiently. Once something's been researched, you have access to as many of that item as you want, so it's essentially a permanent unlock.

New pieces of research will become available through a few different means. One is standard tech-tree unlocks. As you research more stuff, more related stuff will become available. Dogs will also occasionally get new ideas for objects via in-game interactions. For example, your dog might get an idea for a new toy after watching TV and seeing an ad for it. When this sort of thing happens, the dog gets a lil lightbulb icon over their head. Clicking that will (eventually) open up a popup explaining what just happened, and will then unlock a new thing for you to research. The idea here is to reward the player for experimenting and using different objects in the game. I've barely been able to test this system so far due to not having that many objects in-game yet, but even with my basic test cases it's pretty fun to see that lightbulb icon, at least to my lizard brain.



I also want to offer research via in-game events. Like, maybe someone comes to visit and gives you some new plans in exchange for one of your dogs? Or maybe you'll get occasional catalog deliveries with plans inside? Just ideas for now, but I think it'd be fun to have this stuff come from a variety of sources!

Anyways, to get all this set up I started working on a little tool. Defining and linking tech-tree unlocks by hand via a series of disconnected objects is an exercise in futility, so I played around with xNode for a bit and got a little node-based system set up which is a million times nicer.



After creating research through this editor, I have another tool that bakes out all these nodes into ScriptableObjects that get collected in an AssetBundle to be loaded into the game proper. It works pretty nicely and I think it's efficient enough to be usable for full production, though there are a few quality of life features it still probably needs.

There's more iteration I need to do with this system still, but it's feeling fairly promising. It isn't THE most engaging thing, but it fixes most of the issues I had with the shop design and it's passive enough that you don't have to think about it too much. And if this system's really a deal-breaker for anyone, they'll be able to unlock everything from the start with a cheat command since I'll most likely ship the game with the cheat console available. I hope it'll be a nice way to periodically dole out new objects to people though!

A few other little things I did...

Dogs now react to objects disappearing from right in front of them.



I also modified the post processing stack to completely remove the embedded dithering effect. This means I can actually take gifs and screenshots without dithering noise causing issues with encoding and clean printing.



Gifs still sometimes have issues, particularly if there are a lot of colors, but they're way better than before this change and I can now usually keep all my post processing effects active when creating them.

This week I'm doing work on dog aging and the general life cycle. I've got some fun ideas I wanna try out, so we'll see where it goes! This was supposed to be my last week of development before starting full production, but I might end up needing a bit more time. Still, things are moving along nicely and I've got some exciting stuff to share pretty soon!


18  Community / DevLogs / Re: Wobbledogs on: March 04, 2019, 04:45:50 PM
This project looks weird but in a good way

Haha, I'm glad you like it. Lotta weird left to come.

---

So, I've done a lot of AI work since the last update but most of it is a bit hard to show off individually. The biggest thing I've been work on is adding in personalities.

The big issue with AI variability like this is that it can often be hard to really identify differences between dogs. Currently, personalities are made up of several "scales". Each scale controls how a dog reacts in certain situations. For a simple example, there's a scale controlling how social a dog is. A very social dog will be more likely to target other dogs when picking behaviors, and will try to move towards high traffic areas if they aren't currently in one. An anti-social dog will do the opposite; they'll be more likely to avoid hanging out with other dogs and will try not to spend too much time in high-traffic areas. This is all fine and good but I was concerned about personality variability being overly-subtle. In practice you'd never notice the difference between a dog that was 75% of the way to the social side of the scale and another that was 85%. My solution to this for now is to have each scale only offer discrete options. Most dogs will be neutral on each scale, but there's a slight chance for each dog to have scales bumped to either the high or the low end. Personality traits rather than personality ratios.

Currently there are 6 scales to each dog's personality, with all but one of them having 3 options. I believe this means there are a total of 486 personality combinations (with the potential for me to add even more in the future), which should be MORE than enough. Defining personalities as a series of traits also lets me add very specific hooks into the game, which is another thing I spent some time doing this past week specifically. Stuff like specific behaviors that only unlock for dogs with certain traits, or AI scoring changes that pop up.

For example, I added a behavior for dogs to fall asleep while sitting, and it's only available to dogs with the "Layabout" personality trait.



Hopefully I'll be able to continue adding these sorts of hooks into the game as I keep working on it and that by release there's a decent number of fairly obvious ways they affect dog behaviors. Lots of this stuff, particularly the scoring differences, will require manual tweaking over an extended period of time, so it's all stuff I'm continuing to keep an eye on.

Currently these personality traits are assigned at birth, but I've also thought a little about trying to make them things that are assigned to dogs based on their experiences as puppies. That's for another time though.

And then the other major-ish AI thing I started in on was dog opinions. Basically, what dogs think of other dogs, whether they like them, don't really care either way, or dislike them. Forming an opinion about another dog is dependent on a dog's niceness personality trait. A nice dog is more likely to like other dogs, whereas a mean dog is more likely to dislike them. Currently once an opinion is formed it'll never change, but that's something I'm going to be thinking about and keeping an eye on. Once an opinion has been formed, that has an effect on behavior scoring so that dogs choose behaviors more appropriate to their opinion with the target.

OH, and I also added anger back into the game. It's currently a hidden statistic, but once a dog is mad enough, you'll see little angry puffs shooting out of their face.





Anger rises in a few very obvious cases, like when a dog gets bitten, but also in some other more subtle ones, like when another dog they don't like steals the last bite of food from them, or when a dog they dislike slams into them at high speed.



I have a few concerns about readability for all this, so it might end up being less subtle by release, but we'll see!

A few other misc things. I added in an ambient focus system so dogs can stare at stuff even when they aren't trying to directly interact with it.





I also finally made good on a very old tweet I made where I claimed that the occasional dog would not enjoy being petted.



Anyways, that's most of what I've been doing! I'm done with AI for the time being and am gonna start working on some new stuff. Looking forward to continuing to move this project forward!
19  Community / DevLogs / Re: Wobbledogs on: February 08, 2019, 02:08:14 PM
I love this game concept so much

Aw, thanks!

---

I've been starting to work on AI updates. So far there haven't been many large changes, just lots of fixes and stuff I'd been holding off on doing. Among other fixes, I'm happy to report that dogs are now once again running through the full range of their behaviors. I've also made changes to stop dogs from filling needs too early (they'd been sleeping and eating pretty much randomly and it felt weird), and stopped dogs from bouncing around between rooms at the ridiculous rate they'd been doing so before (again, it was basically random).

I've also laid the groundwork for personalities, but I haven't gotten TOO deep into those yet so I won't talk about that until later.

Working on all this stuff is a bit tedious because I haven't found a great way of testing these things other than just watching the game for a bit in a few different scenarios. It doesn't take THAT long but it's not exactly quick, and it isn't passive either; I actually have to pay attention to what's going on in the game. To give myself a bit of a break from all this I decided to go ahead and tackle a new behavior I'd been wanting to add in for a while. Sitting.

Hooking up a sit behavior is actually AI-related, so this isn't just random procrastination, but it's been a nice 2 day break from the other AI stuff since I can make and test changes at a way quicker rate, and the result's less subjective.

Anyways, I hadn't touched this game's physics in a while, so it took a little bit to re-familiarize myself with all the code this stuff makes use of. Happy to report that my existing systems are still robust enough for these sorts of things (after fixing a few bugs, anyways).

To start off, I played around with removing leg tension and rotation restoration, and then attempting to manually get dogs into the sitting position, just to see how this should even work.



A few other issues popped up here. Dogs needed to stop bucking on collisions (in the above gif the dog's leg hit its belly which is what caused it to bounce around). They also needed a fairly forceful way of pushing themselves into the actual sitting position. You might also notice here that the dog's back feet are pretty firmly planted on the ground. I initially tried to do this in order to keep the dog in place but it actually just ended up making that initial fall backwards more difficult to consistently execute.



It also turned out that dogs needed to still do some amount of rotation restoration or they'd just collapse. Currently they try and keep their rotations in 2 dimensions, but their X dimension is free to do whatever.

A bit more tuning of values and Randy ended up sitting pretty well!



Unfortunately, at this point the success of sitting was still pretty conditional. It only worked on very specific dog body types, and only if they were very neutrally oriented when they decided to sit to begin with.

The trick turned out to be adding a relative backwards force to the body segments in order to push the dog's butt down into the ground. That allowed the solution to work consistently with most body types and initial orientations.



The above sitting is still a bit magnetic and unnatural, however. Some of the dogs kinda get sucked into the relevant position.

I played around with the forces and messed around with adding some initial rocking motions, and I've ended up in a place I'm happy with.



I'm not sure how visible the difference is to anyone but me but the external forces are toned down a bit here and in general things look much less unnatural. I also had to turn off z directional stability steps for sitting dogs so they didn't pump their little feet up and down (cute at first but very bad looking after a bit).

There are still certain body types that this technique just doesn't work with, but those tend to be bodies that are pretty impractical to begin with, and they aren't common. Because the behavior cancels if a dog's rotation because too awkward, however, the sitting motion just ends up looking like some sort of other goofy movement and I don't think it'll cause any issues.

Still need to make a few higher-level AI changes to get dogs to pick believable situations to actually run this sitting behavior, but that'll be much easier than the process of actually getting sitting to work at all has been.


20  Community / DevLogs / Re: Wobbledogs on: February 01, 2019, 03:39:25 PM
Olive is still previous no matter how compressed her genome is

I assume you meant to type precious Tongue

IT'S BEEN TWO WEEKS WHY DIDN'T ANYONE TELL ME

If it makes you feel any better, I didn't notice either, haha.

---

The past month I've been working on construction/room customization. I've mentioned it before but making player-facing editors is a ton of work. I think this stuff is in a solid place now, though. It's not all perfect or finished and I'm sure there's stuff I'll have to revisit later but there's a really nice base there. I would love to spend longer adding in some quality of life and polish stuff to these systems, but I can't afford to spend any more time on them right now and I'd rather fill in the gaps going forward than try and anticipate needs at this point.

As far as base pen construction, for now I've decided to make pipes free but have rooms have a decent cost associated with them. At the moment I've decided to be granular with room sizes, having only 3, but it's something I'll keep an eye on going forward. I've added lots more pipe connection nodes, which you can see in the below gif.



Room customization should hopefully make up for the fact that there's now only a few base room types. Objects available to you in this mode will have to be bought or received elsewhere (shops or other events), and deleting rooms with these objects inside of them will just throw those things back in your inventory. It's all very non-destructive. You can change the carpets and wallpapers, and move stuff around as much as you'd like. Putting things on top of dogs or other free-placed objects will just cause those things to move around to a valid position.



I also fixed a ton of bugs with all these existing systems, and made it so objects and dogs move around correctly with the rooms they're inside of when those rooms are moved. A bit trickier than it sounds since everything's physics-based.


Happy to have all this stuff in place finally. The next month is going to be heavy AI work, which I was putting off until all this construction stuff was more solidified in case it impacted my AI designs at all. AI work should give me a lot more in the way of fun stuff to show off and talk about, so hopefully I'll have more to show moving forward!


Pages: [1] 2 3 ... 20
Theme orange-lt created by panic