Skip to content
View in the app

A better way to browse. Learn more.

moosecatSoft

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Daily* Devlogs

These are my semi-regular updates about the progress with my projects and just general life thoughts.

  1. The next journey that I'm working on at this moment is the inventory system. I believe I've worked out everything that we'll need going forward. The first thing is that I'll be using a system not unlike Ragnarok Online to track the different items. We will have two kinds of enums to relate to every item. The first is their SuperType, thing of this like food, crafting goods, equipment, etc. This is used for filtering and not much else. The second, and much more important, is the SubType. This is the precise item that we are tracking. An Apple, Rose, Leather Jacket, etc. Unity has an annoying quirk where it will not serialize a dictionary. But we really want to use a…

    • 0 replies
    • 1.5k views
  2. Started by Oafkad,

    Alright, at this point I think we very much have the foundational pieces to make our vertical slice game. So what I'll be doing this week is setting up the initial flow of the game. We'll keep going step by step through the process. You know what, I keep doing the "we" thing so I'm just rolling with it while I type this up. Anytime we hit a wall we'll discuss that wall and how we need to overcome it. Be it a little bit of polish on a system, or a missing system I didn't think of, whatever. Over time we'll get closer and closer to the game. Which is an exciting prospect. Once we get to the point where there is something to play, even a small teeny tiny bit, I'll beg…

    • 0 replies
    • 2.8k views
  3. I was deeply happy to see this message tonight. We still have work to do but the system now can do the following. It can add a kitty to an open spot, choosing an empty one if you select none. It will naturally not add the same cat twice, if somehow the UI is goofed and allows for that. It allows you to remove cats from the adventure just as easily. We'll have that setup in the UI to be handled either by clicking the slot or just clicking on the cat icon. It saves and loads properly. Storing the currently selected adventure and all the data for all unlocked adventures, as well as their states. So when you quit the game and return you'll be looking at the same adventur…

    • 0 replies
    • 1.5k views
  4. Started by Oafkad,

    Woo boy! The exhaustion from work and just life in general really got to me. I reminded myself multiple times yesterday to not forget to post and yet I forgot! So today we are going to get yesterday's update and today's resolution. I was just not feeling the item and world actions flow when I tried to implement it yesterday. For some reason it was just not really vibing with me, I'm sure you've felt this before. You do something, anything really, and it feels off. There isn't anything morally wrong with it, not even nothing technically wrong, but it unsettles you. Your mind wonders what you are thinking and why you don't do something, anything else. That's where I …

    • 0 replies
    • 771 views
  5. Started by Oafkad,

    Alright, I didn't expect to do a bunch of coding today. But sometimes you get inspired and the changes just kind of flow in a beautiful way. I've now got three unique concepts for data storage. The keyed database, this acts like a very fancy serializable dictionary. The keyless database, this acts like a very fancy list with all the bells and whistles. Finally there is the catalog which acts like a read-only combination of the prior two sentences. I was able to remove between 1 and 2 hundred lines of code today. Without actually limiting myself in any appreciable way. As far as refactoring goes, this felt exceptionally productive. But now, my eyes are heavy and I wan…

    • 1 reply
    • 1k views
  6. Started by Oafkad,

    I'm reminded today of a Stephen King book and film called "The Langoliers" as I stare off into the distance and wonder what is approaching. It could be a great many things. A friend, a foe, something beyond mortal comprehension. I stand and wonder. Squinting a bit as the objects grow bigger. They are moving quite fast...which does leave me wondering. Have...have I fed the cats today? Oh god... inthewrongpartoftown_50Percent.webm Run while you can! Also, I suppose I should mention. Individual state machines for actors is up and running. In this example we have five Moosecats that have initialized and then switched to "wander". …

    • 1 reply
    • 1.7k views
  7. Started by Oafkad,

    I've now setup the logic on the Moosecats to work as follows. And I'm pleased to say that it looks like it scales for hundreds of kitties. So basically our little friends will notice they are, for instance, hungry. If they are, they will search out for food. If no food exists they will say "Tata!" and go on an adventure to find some themselves. In the example below we aren't yet de-spawning them and sending them on the adventure. But you'll recall I do have support for that from a month or two ago. So next I'll hook them into that system, updating their needs, so when they return they'll be happy and healthy and who knows...maybe they'll bring some presents or new fr…

    • 0 replies
    • 816 views
  8. Started by Oafkad,

    I'm almost finished with the first draft of the world item database. This will be our lookup table for all the items that are in the world for our kitties to path out to. We could find this data each time a cat is curious, updating it constantly, and generally just making a lot of garbage. Or we could track it through a table like this and have a fairly consistent memory footprint. I do have a bug with my component return feature. I'll need to look into that and see what I'm forgetting, it'll likely be obvious and silly but for now I'm not entirely sure. Otherwise I don't have much to add! I don't have any gifs for you at the moment but the cats are able to navigat…

    • 0 replies
    • 988 views
  9. Boy howdy my eyes burn! Tonight I updated the action bar so now it actually does save and load properly. This includes from a fresh run, so when everything else loads from the player so does that. I've also investigated that adventure bug I mentioned. Funnily enough it DID work but not for the right reason. All cats currently spawn on load, even the ones on adventures or otherwise away. So the cat would spawn in, then immediately go on an adventure. I've added in support now to track the active state of the cat. So if they are "off" when the game saves it'll spawn them off when the game loads the next time. Then when something like the adventure completes it'll fin…

    • 0 replies
    • 654 views
  10. Started by Oafkad,

    Alright, we've got our adventure system that currently rewards items. But what I need to do is have the rewards be actions rather than just raw items. In this case we can have the actions be something like "reward item", or "refill moosecat state", etc, etc. With that in place we'll be future proofed for all adventure outcomes. I also noticed that I've got some foundational code that is currently featuring manor only code. I'll just need to go back through that sometime and fix up those connections. Things like saving and loading should work in all of the game projects. But for now we can't stress about it too much, just need to make note of it and focus. Th…

    • 0 replies
    • 824 views
  11. I didn't think the day would ever come but we are finally here. The systems are in place for adventures. In the following short video (which is 1.4 mb dear god, I need to start uploading these to YouTube or something), you'll see the following happening. We load the player's data. This moves them to their last position. It spawns all their cats and moves those to their last positions. It updates the player's inventory and updates the adventures that are unlocked. From here I pick 3 cats at random and add them to the adventure. I then click "Start Adventure" this then starts the timer for the adventure and sends our three kitties off. Currently that's signified by jus…

    • 0 replies
    • 1.5k views
  12. Alright! We are getting closer and closer. The cats now will correctly search out a source for their needs. Unfortunately, I forgot I had critical set to 25% so the moment our kitty ate a few things were obvious to me. eatingEverything.webm The cat ate BOTH food items in range. Very cat like but unintended. The cat immediately went towards the ball because that status was ALSO in critical. So at least we know it transitions through states properly. The cat then...ate the bed? Huh...I didn't know that was an option. I guess I'll be looking into that tomorrow.

    • 0 replies
    • 797 views
  13. Started by Oafkad,

    Over the next few days I presume I won't be getting a lot done. We are preparing to see the eclipse and that means I'll be away from my standard hardware. However that doesn't mean we won't be able to do a little bit of theorycrafting as we lead into the next steps. For now I know what I need to do is get the hooks in for our Moosecats sending themselves on Adventures. We know that we can do it through UI (or direct function calls) but we haven't discussed is how to handle it happening automagically. Can the same adventure be running with multiple instances at the same time? I mean...do multiple people go on vacation to Hawaii at the same time? Probably. Also, a ra…

    • 0 replies
    • 908 views
  14. Started by Oafkad,

    No matter how hard Manor Lords tried, I did manage to do a small bit of work tonight. Trivially added a new action to the adventure system that lets us reward items to the player. I'm really pleased that it only took a couple of minutes, this suggests to me that I'm on the right path with that design. In the future I think I'll want the actions to be coroutines, just so we can yield on some as needed. If I've mentioned that before already, welcome, I'll be doing that a lot over the next few years. Lots of things to keep stuck in my brain and some of it loops.

    • 0 replies
    • 724 views
  15. Today was kind of an awful day physically for me. But regardless, the cats send themselves on adventure, pool themselves, the adventures go through their timer, then complete as expected. So all that remains is to create the adventure reward actions! That's quite exciting, one of those will be unpooling the cat, another to satisfy a need and so on. Looking forward to playing with that tomorrow.

    • 0 replies
    • 580 views
  16. Started by Oafkad,

    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 a…

    • 0 replies
    • 829 views
  17. Started by Oafkad,

    For you this image might not spark much. A few test assets in a world where a lot of the logic is invisible. But for me this marks a moment that I should have done ages ago. Actually building to device! The good news is that my new systems for serialization and referencing across items is working. We generated our player at the right location, our item, and our Moosecat. So my progress while making the game actually saves and loads properly when I open it up in builds. That's pretty cool for me. Starting tomorrow we should be able to do some cool gifs of the cats searching out food and gobbling it up. No animations for now obviously but all of these systems provide t…

    • 0 replies
    • 2.3k views
  18. Started by Oafkad,

    I didn't do much of anything for Moosecats today. But for good reason. I've had to strip down the office because starting Tuesday its going to be getting remodeled. This is a three week process and that means I'll be doing both my job and Moosecats from either the living room or occasionally the back porch. This should be interesting and I'm looking forward to seeing this room once it is done. The only hope I have is that by the end of it I have no regrets. The contractor we are using is not cheap, but if the result of that is no bumps then it'll be worth every penny. Anywho, tomorrow once I fully strip down this room I'll see if I can get a little something done.

    • 0 replies
    • 626 views
  19. I got it! Our action system works great with the adventures and provides us with a ton of flexibility with each new adventure. In this example our kitty goes on the adventure, then after the adventure finishes, they return and their need is satisfied. Tomorrow I'll see about doing an item award to the player. Obviously later these will need updating to include animations, sounds, etc, but the core is there! PARTYCAT_Smol.webm

    • 0 replies
    • 656 views
  20. Alright, I'm sick today which is fun. But I wanted to write an update regardless. Tonight I began designing the AI for the Moosecats. Now this isn't AI as it is being used currently in marketing. I'm literally trying to build up a wants, needs, and problem solving system for the Moosecats. The end goal being that if you don't give them dedicated things to do they'll act a bit like a little living critter. There are currently 8 obvious states that we will need. I'm working through the truth tables and what we need to track to keep this all sensible. The ultimate goal is that each state is fairly dedicated. We want actions to not be enormous and we want everything to m…

    • 0 replies
    • 1.4k views
  21. Started by Oafkad,

    Tonight I found myself wasting a lot of time on two things. Oxygen Not Included (market research, I swear) and editor scripts. The latter was definitely a genuine waste of time. What I was trying to do is not urgent or necessary as I'm the sole engineer on the project. Once I broke out of that hole I started working on the status update action for the state machine of our kitties. We've now got a container within the cats that houses the state of their needs, what that particular cat thinks is urgent or critical, and how quickly their rate decays. What I haven't decided on yet is how long an in game hour will be. This will likely dictate the true update frequency of …

    • 0 replies
    • 1.4k views
  22. Started by Oafkad,

    With each passing day I find myself playing less and less games. You might think that's a bad thing, and I guess on some level it is, but for now I'm really feeling it. The more progress I make the smoother things go. Will we hit hurdles? Absolutely, will this game sell 3 copies? At least! But in the meantime I keep trucking forward. The initial implementation of Excursions is going to be a bit like the "Story" titles on mobile. Or honestly a bunch of other games you've probably played. We'll have status screens that show where your kitties are and how they are doing and then after a set amount of time they will return with something. Supplies, new friends, or p…

    • 0 replies
    • 1.6k views
  23. Started by Oafkad,

    Alright! You might not know, I forget if I mentioned it, but I've slightly pivoted for a few weeks. I was using the RP Hypertrophy app and my subscription ran out. To my great surprise I tried to get in to see what my prior workouts had been and I was completely locked out. I was pretty livid and naturally this spurned me on to create my own fitness app. The purposes of this first post, before I create a section for this is to discuss where we sit so far. Base Data laid down for 277 exercises. Exercises are broken up into their primary and secondary muscle groups. You can quickly filter and find the ones you want to do. The IO structure, I believe, is compl…

    • 0 replies
    • 3.3k views
  24. When we think about a workout plan we've got two different sets of information that are carrying alongside one another at the same time. The first is the immutable data of the plan itself. A plan, as noted prior, will have a series of workouts, those workouts will contain exercises, those exercises will contain sets, and those sets will contain metrics. But here's the thing, for most of these steps we have user configurable data that wouldn't be immutable. A workout plan has a custom name. The workouts consist of exercises yes, but each of those exercises will have metrics saved when the user completes them. We need this because without data tracking we'll s…

    • 0 replies
    • 5.5k views
  25. Started by Oafkad,

    Well, I've worked a few 10 to 12 hour days and today I was rebuilding my office now that the remodel is finished. I'm sorry to say that means I haven't gotten to do anything with Moosecats this weekend. The plan tomorrow is to finish some more work in the morning and then spend the afternoon updating the state transitions for the new game flow. Obviously we won't have any animations but the hope is that we can start blocking out the experience so that later we can have animations slotted in nice and easy. The upside to a job is the financial security, can't deny that, the downside is sometimes it asks a lot of you. And the older I get the less of me I feel like I'v…

    • 0 replies
    • 2.7k views

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.