Jump to content
  1. Official

    1. Moosecat Twitch

      Changelogs, conversation, and anything else related to the Moosecat Twitch project!

      10
      posts
    2. Moosecat Manor

      Changelogs, conversation, and anything else related to the Moosecat Manor project!

      49
      posts
  2. Community

    1. General

      Do you generally chat? Generally that will go here.

      1
      post
    2. Fitness

      Do you like working out? Want to discuss how things are going with your workout life? This is the place to do that!

      1
      post
    3. Creativity

      You make things? You fix things? Show us all the interesting stuff!

      • No posts here yet
  • Who's Online   0 Members, 0 Anonymous, 5 Guests (See full list)

    • There are no registered users currently online
  • Blogs

  • Posts

    • Currently for the cats I am simply doing a lookup of behaviors in the scene and checking for those that implement the satisfier interface. In doing this I can tell if they are something that *could* satisfy the curiosity or needs of a cat. Classically this hasn't been very efficient in Unity and I'm not even sure I need to do it. If we think about it, when assets are created or "destroyed" I'm actually just activating and deactivating them. If we lack a sufficient number of "pooled" assets then I create a new one and add it to the pool.   Eventually when a player has played long enough they reach a point where no new assets are created or destroyed. This means I've actually got collections of every possible asset already in the spawners. So what I'm thinking we'll do is create a central hub that has all of our spawners and their pools, then we can pass in the ID of the kind of thing we are looking for, food, play, rest. From here we'll check for a source that is available and active in the scene.   Once those needs are met that object will be assigned to the cat and vice versa (thus removing it from the available pool). If either the asset or the cat is adjusted in any way this will break the link. The cat will become free and the item will be free for other kitties to interact with.   The only things this won't cover are objects that will be in the world while I'm building, but we can always write a script that skims all that data when a zone is finished, if we assume the items cannot be removed. If they can be removed then simply skimming the map on load and seeing if anything is not currently tracked will be sufficient.   The last note for future me, I will want this container to live in an SO that is reset on load (when in editor), because we need it to persist between scene transitions, assuming we do full unloads. Time will tell.
    • Our little buddy is finally coming together! The Moosecat will now transition between Idling, Wandering, and Traveling to precise needs. These will also transition between one another as you'd expect. I still need to take care of the listeners for multiple Moosecats but I'm real excited! We are finally getting things actually going. Just check out how fast this little one is going? Look at that terribly slapped on trail renderer for effect!
    • Alright I need to do a few things tomorrow. We need to add in a declination (or veto) feature to our event system. That way I can do things like cross reference uniqueIDs or other data to see if an event should be respected by all listening assets.   Once this is done we can then move into the next step of finishing up our wandering system. That will get us pretty close to having the baseline logic system done and allow me to move onto other work.   I still want to add a few debugging adventures and have Moosecats travel to them when they can't satisfy a need. I also need to think about how kitties will act if their target gets taken by another cat while they are on the way. I suppose we could add little images of their faces over the asset so that the player (and other kitties) magically know they want to use that thing.   I'll think about it. I want it to be fun and simple to track for folks.   As far as the title goes, we've got spawning done for now. It spawns random food at random points across the central navemesh which is where I'm doing all of my work.
    • I've been adjusting some of my work. We now have a food spawner. It currently spawns the food at the base of my player's feet. This has consequently meant that with each spawned food I was a little bit higher in the air. Needless to say...I ended up being QUITE high up. So I suppose tomorrow we'll work on making it spawn around the map instead of under my feet. Then we can have kitties searching it out!
    • Per usual it is late at night and I'm writing this up. So I'll try to make this quick. But we have a few enhancements that were finished today. The first was that I can now add and remove listeners when entering and exiting states. I haven't fully tested it at scale, as we don't have a scale TO test at. For now it is sufficient that I experience no errors.   The next update was with the event system that I use. The problem was that adding events at runtime to the event listeners would result in an empty field instead of a populated one. This doesn't matter at runtime for builds but in editor it is very annoying. Here are some before an afters to help visualize the issue:   Now we can easily see what action the callback is! This is really helpful for making sure things were assigned properly. I've precompile flagged the change so that it won't actually be part of the runtime builds.   I've also enhanced the Component Collection system so that we can add components to the collection lookup tables at runtime. This isn't super exciting but it DOES mean I can find these listener objects trivially on all my actors and game states. This is huge for me and I'm pretty happy about it.   Tomorrow we'll hook up some spawners for food, so that our kitties can enjoy tasty targets raining from the sky. Then I'll add an "adventure square" this will be our stand in for the front gates of the Manor. Cats that can't satisfy their needs will walk over to this square and leave on an adventure. Those adventures will be for finding more food, or for finding some entertainment.   In this way our cats will never end up stuck starving for fun or food Neopets style. Instead they'll take the initiative to solve it themselves. This will be slower than doing it yourself but it means you could let the game run overnight if you wanted and you wouldn't come back to furious or starving cats (but I repeat myself).   We'll also see about adding the ability to sleep in any open square when all beds are taken or missing.   Finally I need to remember to add in a distance check when our cat picks a target. If the asset is too close it actually won't generate a path because the target is already beside it. We'll need to perhaps have the cat just immediately transition to interaction state in those situations.
  • Members

    No members to show

  • Member Statistics

    • Total Members
      1,249
    • Most Online
      614

    Newest Member
    Joe Mama
    Joined
×
×
  • Create New...