Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411512 Posts in 69376 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 07:59:05 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsWobbledogs
Pages: 1 ... 33 34 [35] 36 37
Print
Author Topic: Wobbledogs  (Read 232467 times)
ActualDog
Level 3
***



View Profile WWW
« Reply #680 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.


Logged

Beastboy
Level 3
***

Happy birth day mom!


View Profile
« Reply #681 on: February 09, 2019, 12:59:04 AM »

This project looks weird but in a good way
Logged
ActualDog
Level 3
***



View Profile WWW
« Reply #682 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!
Logged

Cranktrain
Level 4
****


making gams


View Profile WWW
« Reply #683 on: March 04, 2019, 04:49:14 PM »

The little angry smoke puffs are the best!
Logged

oahda
Level 10
*****



View Profile
« Reply #684 on: March 05, 2019, 03:25:54 AM »

 Kiss
Logged

ActualDog
Level 3
***



View Profile WWW
« Reply #685 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!


Logged

LunaTeo
Level 0
*



View Profile
« Reply #686 on: March 26, 2019, 08:15:46 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 ᶘ ᵒᴥᵒᶅ .
Logged

muh gaems
ANtY
Level 10
*****


i accidentally did that on purpose


View Profile WWW
« Reply #687 on: March 27, 2019, 12:53:39 AM »

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

ActualDog
Level 3
***



View Profile WWW
« Reply #688 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!
Logged

ActualDog
Level 3
***



View Profile WWW
« Reply #689 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!
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #690 on: April 15, 2019, 10:15:38 PM »

Nice! It's still Wobbledogs but at the same time it's so much richer than before
Logged
nova++
Level 4
****


Real life space alien (not fake)


View Profile
« Reply #691 on: May 01, 2019, 01:05:18 PM »

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!
Logged

oahda
Level 10
*****



View Profile
« Reply #692 on: May 26, 2019, 07:56:03 AM »

Looks amazing! Kiss
Logged

ActualDog
Level 3
***



View Profile WWW
« Reply #693 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.
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #694 on: June 01, 2019, 03:14:30 AM »

I'm glad you are keeping up the tradition of nightmare gifs
Logged
ActualDog
Level 3
***



View Profile WWW
« Reply #695 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!
Logged

fluffrabbit
Guest
« Reply #696 on: June 12, 2019, 05:38:29 PM »

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.
Logged
nova++
Level 4
****


Real life space alien (not fake)


View Profile
« Reply #697 on: June 22, 2019, 11:29:29 AM »

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



But what is he singing?
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #698 on: June 22, 2019, 11:56:18 AM »

Depends on the pup. If it's Randy, I'm sure it's not meant for human ears
Logged
ActualDog
Level 3
***



View Profile WWW
« Reply #699 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).
Logged

Pages: 1 ... 33 34 [35] 36 37
Print
Jump to:  

Theme orange-lt created by panic