Long time no post, so here goes.
My gear is currently unobtainable in the game, so I need to add a way to give it to the player. I can already drop stuff from chests, but that doesn’t seem the best place. One way I still haven’t implemented is dropping loot from the boss kills. So I am making an asset for that:
These are just mob loot drops specific to the boss. And I can add a new type for “gear”:
This drops a new world item and marks it as a specific gear type. I have made a bit of mess with my assets, so I will fix this up later. I will also need to add some level-based selection logic, because I don’t want to drop any old loot — I want better loot the further the player gets.
In any case, the boss can just specify the relevant loot drop asset:
And the corresponding loot will get dropped once they die:
Similar to scrap and rockets, the player can just pick it up and it gets unlocked:
Now, I thought a lot about the approach I want to take to distributing and unlocking gear. There are two factors at play here: the gameplay design and the actual time it takes me to implement all this, especially UI. After some consideration, I decided to simplify my systems a bunch.
First of all, the gear will have only 3 categories: armor, helmet and booster. These are still not final, but I just don’t want whole 5 of them. Armor is self-explanatory — gives the player health, armor, shields and reduced damage in whatever ways. Booster is going to be for player’s charge ability, which I have not yet implemented (well, partly, with boss charge) and will cover separately. And helmet… well, I haven’t really decided yet — it’s more like “utility”. I want some sort of combat experience improvement, some unique visual and gameplay thing, but we’ll see how far I get with this (I might just leave just armor and booster). Anyway, these are now the categories:
I also completely removed player’s unlocked gear logic — the player can only equip one gear item per slot that they find in the world. In other words, all gear is “available”:
I can justify this with various reasons, like being more gameplay-based or adding replayability and variety, but–honestly–it’s mostly about me not wanting/needing to do extra UI. Now I just have to show the equipped item info and that’s it. I already had done the loadout UI, so I am losing that work. (But I think that’s preferable to never fishing it.)
I also converted my gear asset to proper world item asset, with all the physics properties and ability to drop it in-game with the right properties and no special hackery.
And I specify how it appears in the game, including the exact sprite:
This also means, I specify the loot drop with the exact asset and not an asset + type combo:
One thing that broke with all of this is that my animator (which has slots) is not longer fully dependent on the gear type (which now doesn’t have corresponding slots):
It’s hard to explain what exactly is wrong here. But, in short, some sprites should change and some should not. Which means I need a default value for some that don’t have a corresponding gear type. In short, I fixed it, but it was weird.
Anyway, here a sample list of all my gear:
I also added a couple debug options for my gear (I already had equip for weapon):
That way, I can equip and drop an item quickly in-world for testing:
Similar to weapon pickups, I made the gear pick-up-able. The player can quickly swap the items around:
I still need some feedback and comparison when they do, but I will cover gear UI in a separate post later.
Changing gear in-game also means I have to adjust my bonus numbers:
My player stat display is all broken and I will need to revisit it properly. Too many things happen when bonuses trigger and clear and the bars get confused and don’t re-update properly.
When I started making changes to the gear, I had already completely forgotten what I was even doing before this and all the places that would break. At least, I removed the need for a lot of extra stuff related to gear. Now I just need to fill it in with some actual content. I will likely cover this next. In fact, I hope many of my future posts are just boring lists of assets I have filled in with data and art placeholders, because that’s the most tedious thing that I absolutely need to do.
As a side note, I took a month and a half long holiday/vacation. I didn’t really plan to though. You take a couple days off and suddenly it’s been a month since the last update. On the positive side, I still had made more updates that Uproot before that, and I also don’t want to quit now. I did do some other stuff during January, including an inventory and crafting system that I will likely talk about at some point. Just some pure coding with no Unity or all the other mess that comes with it. I might take it slower with updates so I don’t burn myself out too quick. We’ll see.