Daily* Devlogs
These are my semi-regular updates about the progress with my projects and just general life thoughts.
133 topics in this forum
-
Per usual, today was a me day. I was tempted to do some work but I also recognize that I need to relax sometimes. Liz and I have been playing a good chunk of Pandaria Remix. There is even a checklist that was made by a user that I've been using to see how much of the things I've unlocked during the event. It can be a little hard to invest any kind of time into games like this for me. Especially with the rise of Private Equity gluttony and Public Company implosions. It just feels like every media controlled by a corporation is not long for this world. No real reason for it either, games like this make plenty of money. But they cannot realistically make more money year…
-
- 0 replies
- 2.4k views
-
-
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
-
-
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
-
-
I stress in advance that I'm a bit tired so this particular update is probably going to read like garbage. Another productive night. I wanted to accomplish a few things tonight. The first is I wanted to be able to spawn anything. I might not know what those things are yet but I wanted the system for adding new spawners to be convenient. I also didn't want a lot of casting to be involved, so these spawners would at least be dedicated to the object they will be spawning. The next challenge was to make sure that these objects pool. We don't want to just be creating and destroying a lot of assets. So the major first step was adding a pooling system to the spawn…
-
- 0 replies
- 1.6k views
-
-
Vector math can be a bit of a pain in the ass sometimes. You do some logic that is probably higher than you ever actually finished in school and the damn raycast is going off in god only knows what direction. So naturally you throw in a gizmo to draw a line to where it is going. You adjust the logic in the gizmo until it is precisely what you want. Ok, fair enough, then you copy and paste that logic into your actual non debug code and...ok...why is it not working? I'm looking at this object and my debug log isn't printing? Then you turn and once you are at an angle that can only be described as "totally wrong" suddenly you see your debugs. Sweet, ok. Well, at this …
-
- 0 replies
- 1.6k views
-
-
I'm sorry to say that it isn't fully working yet. Not for your sake, by the time you read this I'll likely be done with much of the game. But for me this is an unfortunate night. There is something about my adventures that is serializing differently from items, Moosecats, or even the player data. They look to my tired eyes to be exactly the same. But clearly something is unique. I'm curious if the problem is the self contained classes and their location. Tomorrow I'll try splitting out the classes so that they match the same design scheme as everything else I've done. At this point we can select an adventure, add adventurers to that adventure, remove them, a…
-
- 1 reply
- 1.6k views
-
-
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
-
-
I don't have much to add for today. I found a bug in the loading code for the Moosecats which was resulting in them all loading the same few colors. It took a bit of work but I ended up tracking it back to the prefab. Something I forgot to do is make sure the prefab is cleared of any predefined data, in the off chance that I edit it by mistake. Because of this I had 6,5,1 as the first three colors of any cat. This was a good example of taking a step back when looking into a problem. Because at first I was break pointing. But really I should have asked myself what was the very first stop in this code chain? The answer is the instantiating Prefab, I should have looked …
-
- 0 replies
- 1.6k views
-
-
I've been thinking a lot recently about how I want to handle the concept of Shopkeepers within this game. It is likely that every game you've played where you acquire goods or services from an NPC has involved this fairly standard concept. That game could be a science fiction adventure that takes place a thousand years in the future, or a fantasy game that takes place in another world entirely. No matter where you go the idea of coin carries on. It might have a fancy name but really it is always there. You could argue that what I'm about to describe is just currency with extra steps but a part of me finds that a bit reductive. It is a bit like the joke in Magic that …
-
- 0 replies
- 1.6k views
-
-
Tonight was another one of my workout nights. After a fairly challenging workout I was then greeted by a kitten that really, really wanted some cuddles. I happily acquiesed and just played BG3 until she was done getting her cuddles. With that out of the way we dived into using a few of the working assets that we currently have. My very talented wife made me a Moosecat texture a while back. That's more fun to look at than a cube, sorry cube, and with this introduction I'm able to do some more work. Here we can see a number of texture types. The first is "one color", the second is "two color", and I bet you can figure out what the third one is called. Na…
-
- 0 replies
- 1.6k views
-
-
Whenever I post the change count for a day you can generally divide it by half and remove the fractional data to know how much work was done. In this case we edited or added 21 classes and assets today. That is wild to me. But what exactly happened? Well I was having a problem with serialization and reached out in the Odin Inspector help discord. A particularly helpful power user noticed a flaw in my implementation logic and provided me with a suggestion for a considerably better alternative. Something I've learned over the years is to not get too emotionally attached to my code. If I'm doing something in a less than optimal way and someone can convince me as much,…
-
- 0 replies
- 1.6k views
-
-
Alright! We've got our mock AI in. This will handle our predicted UI boxes for now. I'm hoping that our menu will eventually look like the notebook featured in the story itself. The menu tabs will be notes sticking out of the book out of the left side likely, maybe left and right depending on how it looks? Ultimately I'm excited to have this in because now I'll be able to add mock buttons as we are moving along. Maybe do some test work for various display options. Tomorrow we'll see about putting in that grid layout group, I don't workout tomorrow so that'll be a lot easier to do.
-
- 0 replies
- 1.6k views
-
-
Outside of naming classes and folders, the next most complicated part of coding for me is the process of saving and loading. This is not because the idea itself is necessarily complicated. You are just saving some information as text (or whatever format you desire) onto your device. The major challenge for me comes in the most convenient way to have data that can be saved and also easily parsed within Unity. There are also some constraints when saving with Unity. Natively you can't save json strings that feature any content that won't naturally display in the editor. This means that things like dictionaries or multi-dimensional arrays are out. You can, however, creat…
-
- 0 replies
- 1.6k views
-
-
Tonight was VERY productive but it is also very late. So I'm going to just keep this brief. Our state machine has been updated for both the game and the Moosecats. It is considerably better than it used to be. I'm very excited. I also made it so I can just select the kind of action I wish to add, it will find it, create one, place it in the right folder with the state that will be using it, and add it to that state. No more searching through an asset creation menu, in fact I am likely to remove them from the menu altogether. This is just so nice. I'm going to likely do the same with other systems that need some "kind" of thing! bythepowerofgreyskullSmol.webm
-
- 0 replies
- 1.6k views
-
-
Alright, we've gotten to the point where I can pretty trivially add a new item and be able to add it to my inventory just by interacting with it. Is the implementation how we'll ultimately do it? I don't know, but it works and I think that's the most critical goal for now. I also like to think the implementation is efficient and easy to edit. But generally most people like the smell of their own toots. Now that I've got saving and loading working for my player, the Moosecats, and my items, that means I can start storing progress for all of these things. But, what it doesn't mean, is that a player could easily interact with this data. Indeed, you can store things in…
-
- 0 replies
- 1.6k views
-
-
I discovered a pretty amusing bug while working today. If you interact with something like an apple and make sure not to move after you collect it, you can continue to mash your interact button and keep collecting it forever. The solution for this was quite simple, after an item is collected I needed to clear it from the player's "what am I trying to interact with at this second?" parameter. But moments like that are really refreshing while you work. Reminding you of all the interesting things you need to think about while working. I spent the majority of my time today working on both Excursions and upgrading our "keying" system. Instead of using arbitrary things l…
-
- 0 replies
- 1.6k views
-
-
I had a bit of great fortune today. I spent most of the day playing BG3, only to find out that Minthara bugged on my run and isn't actually available at Moonrise Towers. I'm debating if I want to go back and see if I can get her to actually be there. But I digress, I played for much of the day and realized I still wanted to keep my momentum with my work. So I set out to make the inventory save and load. This initial hit a hurdle because I had included my inventory artifact within the player info class. This is a problem because our serialization strategy does not like when we save a scriptable object. I realized that a simple solution for this was moving the actual…
-
- 0 replies
- 1.6k views
-
-
Alright! We are getting into it! I needed to work on a few things today. The first was the container for needs. This will house the identification for that need, and then the various stats required to track the needs progress. We have three levels, fine, urgent, and critical. Anyone that has ever taken care of cats knows that this is already one to two stages too many. With the container created, tomorrow we will create the various need artifacts themselves. These artifacts will then be housed inside of a collection that helps us connect those need IDs with the ones on our cats. Because of this somewhat loose connection it means that we can add new features to the …
-
- 0 replies
- 1.6k views
-
-
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
-
-
Now that we've got Adventures completed it is time for me to start up on the next operation. The first step towards the upcoming journey was to clean up my code. I went through and added precompile flags where I was missing them. I also updated some attributes that weren't doing what I needed them to do. All the while looking for places where I was missing code comments, or where I could improve an operation. These are really nice ways to relax, especially when work is hectic or exhausting. One of the last things I did for the night was I added an editor function to generate a Moosecat near the player. This way I can test our the upcoming state machine work and oth…
-
- 0 replies
- 1.5k views
-
-
I did some cleanup today of the Moosecat Spawner. It now applies the data to the cats properly, shaved off some unnecessary data, and I've split out the "spawning" and "skinning" portions of cat creation. This way my different objects have specifically dedicated functionality. The end result is working just as well as the original. Additionally I noticed that the mesh renderer reference was inside of the saved data and that's pointless. I've moved that up a layer and now it is part of the prefab instead. The next thing that we need to establish is the room objects, specifically the logic for spawning and placing them. I'm still up in the air if I want to just provi…
-
- 0 replies
- 1.5k views
-
-
Alright. Another productive day. So we've moved into building up our skinning toolset. We use color replacement in order to take a few simple designs and give them a great deal of potential variety. Obviously for this vertical slice work these are all just variations on the original, a 1 color, a 2 color, and the original three color design. We've updated the generation and skinning process so that it can randomly pick a particular pattern for the cat and then it will choose colors from our color library to texture it. This texturing process actually stores the data inside the saveable data of the cat. So when we go to save the cats that information will be stored.…
-
- 0 replies
- 1.5k views
-
-
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
-
-
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
-
-
This morning we took a fairly long walk. I don't know what it is about that activity but sometimes it can genuinely just take everything out of me. However I managed to muscle through the exhaustion and get our menu system upgraded. The current plan is to have our player menu be one large UI element with tabs on the left side. You might think that this is a trivial thing to implement and with enough caffeine all things are possible. When we think about our function paths there are some things that are happening. The first is that you are selecting a page to open. But we need to ask, is there another page open? If the answer is yes we want to hide that page, refresh…
-
- 0 replies
- 1.5k views
-