Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411431 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 20, 2024, 03:36:32 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsWobbledogs
Pages: 1 ... 9 10 [11] 12 13 ... 37
Print
Author Topic: Wobbledogs  (Read 232065 times)
ActualDog
Level 3
***



View Profile WWW
« Reply #200 on: July 20, 2016, 03:35:42 PM »

Through the power of face culling, wall seams have been eliminated! This was bugging me a ton more since I switched to transparent walls.



There are still seams where walls meet, but that's way less pressing to me. I was a little worried that solving this issue would require me to step much deeper into the world of mesh generation but some simple triangle removal was enough for now. I still might have to jump deeper in the future though.

I also played with those yellow connectors on the pipes and updated them so they're no longer double thick where pipes meet, and so the start/end caps are different from the rest (just smaller right now).


Logged

Artifice Machine
Guest
« Reply #201 on: July 20, 2016, 04:16:36 PM »

I like how you're basing the new environments on rodent and bug cages. The green floors bring grass to mind, and then I imagine hills. How well can dogs walk on angled or uneven terrain? Also, are wide dogs going to be possible? I for one would try to breed wide dogs.
Logged
JobLeonard
Level 10
*****



View Profile
« Reply #202 on: July 20, 2016, 11:01:59 PM »

The transparent walls with bright colours gives the whole thing such a strong 90s prerendered CGI vibe, I LOVE IT
Logged
rj
Level 10
*****


bad, yells


View Profile WWW
« Reply #203 on: July 21, 2016, 12:03:16 AM »

god every new weird turn on this thing makes it more bizarre and i love that
Logged

ActualDog
Level 3
***



View Profile WWW
« Reply #204 on: July 22, 2016, 05:00:13 PM »

Glad you guys are digging the new graphics so far!

How well can dogs walk on angled or uneven terrain? Also, are wide dogs going to be possible? I for one would try to breed wide dogs.

Unfortunately not very well. This is one of those things I would love to get working but I might not be able to. Going downhill works great, and very simple uneven terrain or very slight upward gradients will be fine, but complex terrain and steep inclines are probably not realistic. It pains me, but that stuff would add a lot more complexity for me.

Wide dogs on the other hand, are very much possible!

---

Hmmm... well I did some experimentation today and dogs might have upgraded a lil...

This is all very quickly put together so far, but these are my initial tail tests.





That first gif is a little creepy, but I think the tails in the second one are starting to look alright. I built these manually but the eventual idea is that tails will be procedural and come from genes. You'll have big tails, small tails, curly tails, straight tails, heavy tails, light tails... really just all sorts of tails.

I'm actually pretty excited for these tails for a few reasons. They'll add more variety to the dogs, they'll help give some more visual flair, and they'll also be a great visual indicator of a dog's mood! When people see a wagging tail, they assume the owner is happy. When people see a tucked tail, they assume it's scared. These sorts of visuals fit super naturally into this game and are way slicker ways of determining mood than particle effects, thought bubbles, or stat screens.



The final tails will hopefully look a little nicer than these quick ones I threw together, but I think you can start to get the idea. And for those of you mourning your former tailless pups, I imagine a no tail mutation could be in the cards.
Logged

rj
Level 10
*****


bad, yells


View Profile WWW
« Reply #205 on: July 22, 2016, 07:06:43 PM »

the tailless dog is the most elusive of wobblebreeds
Logged

ActualDog
Level 3
***



View Profile WWW
« Reply #206 on: July 25, 2016, 05:43:01 PM »

the tailless dog is the most elusive of wobblebreeds

Extremely rare and VERY valuable in the right circles...

---

More tail work! Lots of issues are coming up but I'm still hopeful.

I started off today with some quick concepting.



I had set up my previous tails with stock unity cubes and joints, but I know that I want actual models for them so I figured it'd pay to start working with at least a temp model. Even though I'm no good at modeling and it took a bit to get a temp tail set up, this was definitely worth it because I've already run into a few bugs related to bone setup.

Right now the model is attached separately but after I get this working I think I'd like to try to merge the tail and the base  so the tail's movement affects the weighting on the dog's body and there isn't any clipping. Getting this working with interchangeable tail models is gonna be very new territory for me though so I'm not really sure yet how I'll approach that.

Anyways, back to implementation stuff.

My first goal was to get wagging working generically. The wagging gif in the previous post was tuned manually according to the weights and shape of that specific tail but tails are going to be somewhat dynamic so that isn't going to fly. Also, I want tails to be able to move differently depending on emotion intensity. A super happy dog should wag faster than a just sort of happy dog, for example.



Clearly there are some issues to work out... This code isn't actually as straightforward as I'd like and I'm still working on it. I'm using joint motors for this specific type of movement and it seems like it's gonna work, but I need to pound at it some more. The basic idea is to get the tail to switch directions once it hits its horizontal limit in the current direction it's moving but it's not quite that simple.

The other issue I ran into today is that undesirable things happen when rigidbodies with very low masses are jointed to rigidbodies with higher masses. The tail has to be somewhat light (about half a pound total right now which means each of the segments is about .1 pounds) to avoid causing the dog to completely lose balance when wagging. This by itself isn't a huge deal, but one of the features of this game is that you can grab a dog to pick it up. If you try to pick up the dog by its tail (which is a very mean thing to do, to be fair), the joint chain does not play nice and everything disconnects and the flips out and it looks awful and sometimes stays like that.



However, I came up with a pretty simple way of solving this! Whenever a dog is picked up by its tail, I go through and set the mass of each tail segment to a more reasonable value (in this case 5 pounds). The values reset when the dog is dropped and it works great so far.



Anyways, lots more tail work in my future but it's coming along for now! I've already seen some fun stuff involving tails interacting with the rest of my systems so I'm excited for them to be more fleshed out.
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #207 on: July 25, 2016, 11:48:10 PM »



Clearly there are some issues to work out...

Nah, just put this song on and you're ready to ship:

https://gifsound.com/?gif=i.imgur.com/kXhStdb.gif&v=g8v6cZ21vlc
Logged
Rojom
Level 0
***


View Profile
« Reply #208 on: July 26, 2016, 03:49:03 AM »

Lookin real good. Any thoughts on implementing ears? There's lots of territory there to explore for visual flair and customization.
Logged
ActualDog
Level 3
***



View Profile WWW
« Reply #209 on: July 26, 2016, 05:06:51 PM »

Nah, just put this song on and you're ready to ship:

https://gifsound.com/?gif=i.imgur.com/kXhStdb.gif&v=g8v6cZ21vlc

I'm so excited to be at the point where I can start putting music in this game. I still wanna lock down some more stuff before that but there's so much potential with the sounds for this.

Lookin real good. Any thoughts on implementing ears? There's lots of territory there to explore for visual flair and customization.

Thanks! Ears are another thing on my list of body parts to try out. I have a few fun ideas for them but it all depends on if I can figure out how to make them fit the look.

---

Because I hinted at it last time, here's an example of tails already working with other systems. They do their own thing regardless right now so if a dog is sleeping and happy, it'll wag while asleep!



I also started in on getting tails to come from genes. The size is completely gene-based now and there's a no-tail mutation as well (in fact, the default dogs right now still start with no tails).



And then here is a random dog that showed up while I was messing with tail genes. This guy's actually the result of a bug (gene indices were applying to the wrong attribute) but most of this is theoretically possible through standard mutations.



I also got tails to tuck when a dog is feeling bad but it doesn't look good enough to show off yet, and I got tail wag speed adjusting dynamically depending on how happy the dog is.
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #210 on: July 27, 2016, 12:45:03 AM »

Quote
Because I hinted at it last time, here's an example of tails already working with other systems. They do their own thing regardless right now so if a dog is sleeping and happy, it'll wag while asleep!

Oooh, will the game feature dreams?
Logged
io3 creations
Level 10
*****



View Profile WWW
« Reply #211 on: July 27, 2016, 09:23:30 AM »

Quote
Because I hinted at it last time, here's an example of tails already working with other systems. They do their own thing regardless right now so if a dog is sleeping and happy, it'll wag while asleep!

Oooh, will the game feature dreams?
Perhaps as some sort of mini games?
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #212 on: July 27, 2016, 09:31:26 AM »

featuring NormalDog as a nightmare character?
Logged
Rojom
Level 0
***


View Profile
« Reply #213 on: July 27, 2016, 02:23:38 PM »

Funniest dev log on this site lol. Are you going to apply that same smoothing algorithm to the leg joints that you did to the body?
Logged
ActualDog
Level 3
***



View Profile WWW
« Reply #214 on: July 27, 2016, 05:27:21 PM »

Oooh, will the game feature dreams?

Probably not explicitly, but I can see myself going back and adjusting the sleep behavior to have more movement variations.

Funniest dev log on this site lol. Are you going to apply that same smoothing algorithm to the leg joints that you did to the body?

Haha, thanks. That's definitely the plan but I haven't gotten around to it yet. It's going to be a little trickier to do than the body or tail so fingers crossed.

---

Finally fixed up the tail wagging stuff. The speed changes depending on emotion intensity and the wagging should work dynamically with tails of different sizes, orientations, and weights. Also, the tail wags correctly even if there are other objects in the way of it keeping it from fully reaching its target angle. That means we got dog tails thumping against the wall or other dogs.



I also got the tails to be more stable than they were previous. I was having issues, especially in pipes, with the tails flipping out and breaking. Turns out the issue is that I had added joints directly to the bone hierarchy, which meant the tail was essentially made up of parented rigidbodies, something that unity does not like at all. Unparenting the bones fixed all these issues and the tails still look the same as they did before. Hopefully this won't cause any other problems with the model. I think I'm ok since I'm not importing any animations or anything but it's something I'm going to keep an eye on.
Logged

ActualDog
Level 3
***



View Profile WWW
« Reply #215 on: July 28, 2016, 06:59:40 PM »

Tiny update. Spent a lot of time on dog rigidbody/joint chain stability. It isn't perfect yet but it's getting there!



Getting complex jointed rigidbodies to hold up under intense situations is surprisingly (or maybe not that surprisingly) pretty difficult. There's a lot going on here to stop these little guys from turning into an inflated, quivering pile of polygonal sludge when I toss them around like this.

I've talked about it a bit in other posts but the main strats I'm using are:

  • Attempting to adhere as much as possible to the joint best practices: https://docs.unity3d.com/Manual/RagdollStability.html
  • Strategically updating rigidbody masses when certain parts of the dog are grabbed.
  • Checking joint distances in code and resetting rigidbody positions if things move past a specific tolerance.
  • Adding special collision containers to keep body parts contained in a relative area and to stop them from tunneling into other body parts and getting stuck.



Spheres stop the legs from moving up and getting stuck inside the body. Cubes stop the body from separating and causing the skinned body mesh to flash across the screen.


All these things combined have been working pretty well for me. Tails still get a little crazy sometimes under extremes, but they're mostly solid and I want to wait on trying to fix those cases until after I finalize a few more things with their setup, which brings me to my next task...

I'm starting to try and get the tails to be part of the same mesh as the bodies. This will look way better because there won't be any clipping, but it also adds complexity in an area I'm not very familiar with. Updates hopefully soon because that'll mean that I've figured it all out!
« Last Edit: July 29, 2016, 08:52:20 AM by ActualDog » Logged

ahmio
Level 0
**


View Profile
« Reply #216 on: July 28, 2016, 07:16:42 PM »

This is awesome... and hilarious  Cheesy
Logged
oahda
Level 10
*****



View Profile
« Reply #217 on: July 29, 2016, 12:08:25 AM »

Checking joint distances in code and resetting rigidbody positions if things move past a specific tolerance.
I don't understand why basically no physics engine I've tried does this out of the box. It's the behaviour people usually want anyway. Seems really silly for everybody to have to rewrite that code manually, perhaps not as well as those who wrote the library could... And if one does not want this, it could always be a flag that can be turned off.
Logged

Bricabrac
Level 2
**


Fail again. Fail better.


View Profile
« Reply #218 on: July 29, 2016, 12:19:09 AM »

HILARIOUS devlog. Thanks for brightening my day ^^

And then here is a random dog that showed up while I was messing with tail genes. This guy's actually the result of a bug (gene indices were applying to the wrong attribute) but most of this is theoretically possible through standard mutations.


You know this type of mutation is actually possibile in nature (though incredibly rare)?
Behold!
Logged

Selling Sunlight - Wandering Merchant RPG
JobLeonard
Level 10
*****



View Profile
« Reply #219 on: July 29, 2016, 01:05:49 AM »

Checking joint distances in code and resetting rigidbody positions if things move past a specific tolerance.
I don't understand why basically no physics engine I've tried does this out of the box. It's the behaviour people usually want anyway. Seems really silly for everybody to have to rewrite that code manually, perhaps not as well as those who wrote the library could... And if one does not want this, it could always be a flag that can be turned off.
Constraint programming is a very overlooked thing in programming in general:

https://en.wikipedia.org/wiki/Constraint_programming

Apparatus uses it to great effect: http://aprt.us/
Logged
Pages: 1 ... 9 10 [11] 12 13 ... 37
Print
Jump to:  

Theme orange-lt created by panic