Game Development | Massive Increase In Items, Crafting, And Zone Loot Tables

in Game Development3 years ago

main item data table.jpg

Over the past couple of weeks, I have been working on massively expanding the loot tables for 24 of the 25 zones in my games. This has also included testing out my new inventory system that adds a lot more depth and functionality that I needed. Along with testing out various other things associated with items. Some things work out great while others I’m still trying to resolve issues with.

The main item table for the game itself has grown a fair amount. Each item now has 51 variables that can determine everything from the gold value of the item, the damage it deals to things, and is there a crafting recipe for the item itself.

The bulk of the work is done outside of UE4 (Unreal Engine 4) and then imported in for testing. Due to the complexity of some of the variable data, not everything is being done outside of the engine so I then had to go in and fix up or add to some of the more complexities of the items.

This has resulted in the data table consisting of over 35k words and 150,000 characters. Thankfully since this is dealing with items many things could be copy and pasted over and over again as needed for similar items. When you are dealing with over 500 items it's quite a time-consuming task. One that is still far from over as a thing will need some kind of rebalancing which if you ever played a game before you know that can go on almost indefinite.

While I’m willing to admit things have gotten out of hand I also knew they would just not this far. I have in the past help run some private game servers with friends when I was much younger. Even items back then had a lot of variables if you ever wanted to modify something when dealing with larger-scale games it was a nightmare.

I’m hoping things are now at a point I no longer need to add any more variables to all the items to fulfill any needs I have for them. Some of the item variables themselves also do nothing as of yet. Either I have not built out that variable to have an actual meaning in the game yet or I left myself some room to expand in the future if I needed for instance to expand the types of damage a weapon could do.

Crafting

craftingarea.jpg

Crafting items is not something I have talked much about in my game as I’m just not that happy with a few elements of my early design of it from before. There are quite a few different things I needed the crafting system to handle doing and many of those elements were expanded on this time around.

A major component of the crafting system itself is potion crafting. All base potions require three ingredients to craft. That is a bottle that you could loot from creatures or just buy from the shop. Along with two other ingredients that you can loot that are combined with it.

While I have added a crafting expansion to the main town which was just putting in a crafting bench that included some meshes I already had. The UI and how crafting currently works is still not something I’m happy with.

crafting.png

For now, the player needs to discover the crafting combinations on their own by trial and error. With some game knowable with how things work and there not being an insane amount of things to craft this would be more than good enough. It is in fact how I use to love crafting systems in games. These days however I do favor the click on an item from a menu on the side and see what it requires to craft.

I have kept the number of ingredients, for now, the player can place into the crafting bench at an arbitrary number of 12 so it could accommodate any end game possibly I have one day and for general testing. I more than likely will just be reducing it down to 3 slots once it enters into testing at the end of the year to not confuse the playtesters.

As far as the potions themselves your health, mana, and a boost to experience gained. The potions can be crafted in different rarities: common, magic, rare, epic, and legendary. There are in total 35 different crafting ingredients that can be looted in different zones.

There are also socket reinforcement items the player can add to their character sheet. All unwanted armors the player has can be refined down into different types of leather to add armor. Weapons can be refined down for different types of metals for weapon damage. You also have gems that can drop and be combined to make higher rarity gems for stats like agility, dex, and resistance. All of this is done with the crafting system.

Some of the things in crafting work great. Others I’m still inputting needed data into so they can work. With all the data I’m working with there are going to be errors which I have also been testing and trying to fix as I find them.

Zone Loot

importing.png

The bulk of my efforts have been massively expanding the number of drops in a given zone. Before a lot of the non-arena zones had 4 to 8 items in them. Now zones have around 30 to 40 items. This had led to some unfortunate discoveries of my inventory system with so many possible item drops.

Like before armors drop in select zones making it possible to target farm for a particular piece you are looking to acquire. On top of armor now weapons have been added as well to loot tables. While the armors themselves are not class specify the weapons for class balancing are planned to be. I may or may not end up keeping it that way.

In addition, each range of dungeons now drops crafting ingredients and gems. This in part is why so many more items can now be looted in each dungeon. Since these items are consumed on use they can drop more frequently than the armor, weapons, and jewelry items can. At least in theory.

In reality, when testing things out that is not the case. When there were only 4 to 8 items in the zone loot tables I tested heavily for how random loot was being generated and dropping it appeared to be working as intended. Now with 40 items in a single loot table, the system seems to be heavily favoring drops it should not be.

item data table 2.png

Items appear to have a heavy influence not from the drop rate set itself (still has some influence) but where it’s placed in the loot table instead. Items at the top that the loot system checks first to see if its drops are dropping at a very high frequency. Meanwhile, items at the bottom of the loot table are just not dropping ever even at a 100% drop rate.

I had a couple of theories of what could have been the culprit causing not the item drop rates I wanted. Some had to do with the safety features I had. Others had to do with certain restrictions I had implemented on how drops work in zones. Even after removing or changing things the issue persists.

While I have a couple of ideas on how I could migrate the effect that is being caused it still would not fix the underlying issue itself. Even stranger when I reduce the number of items in a loot table back down I’m just not noticing the issue.

While there were some minor bugs that I did discover and fixed. I would not say they had a noticeable impact that the player themselves would have even noticed. Some information was not getting fully passed though and to be frank it did not need to be.

There is something wrong or that I’m misunderstanding in how it should be working in one of many different blueprints I have set up in EU4 that have to deal with inventory, loot tables, and how loot is being selected to drop.

2d icon issues.png

This is not even the only issue I’m having either. UE4 for whatever reason ends up corrupting some of the 2d images that I’ve attempted to important in that the inventory uses for displaying items. Some don’t have any issues at all while others are unusable. Like many things, it just gets added to an internal list of things that I need to research, test, and hopefully find a solution.

I’m hoping by next week to have all the zones set up and any final data that needs to be added in. Along with hopefully drops and icons no longer having issues.

Final Thoughts

Items and the many things it effects are something I’ve spent more time than I’ve wanted to try to resolve any issues I run into and get working as intended. The entire system is providing to be a greater challenge than I could have even remotely predicted in the first place.

Thankfully I have given myself quite an ample amount of time before I wanted to fully release the game in several years. Every day I work on things is a constant opportunity to learn, fail, and try again and again. Some weeks are just more frustrating to try and get through than others with how far beyond my ability and confirm zone in want I’m trying to is. At least I’m still attempting to solve, learn, and keep moving forward.

Other Posts:

Information

Screenshots were taken and content was written by @Enjar. Screenshots are from Unreal Engine 4.

Game roadmap.

Sort:  

damn, that is a lot of items!
If you need help with any of the 2d images just let me know
!PIZZA
!ENGAGE 25

Connect

Trade


@enjar! I sent you a slice of $PIZZA on behalf of @dksart.

Learn more about $PIZZA Token at hive.pizza

Thanks, I’ll keep that in mind.

I’m just hoping it’s something simple. I think around 100 2d images were affected. I’ve not looked into it too much yet.

This is pretty awesome to see! Thanks for sharing. We will be working on similar systems but at a much smaller scale soon. 😅

"Solve, learn, and keep moving forward" is all we can do sometimes. You've got this! Keep up the good work.

Thanks. Have a great week.

Shared on Twitter.

Thank you for your engagement on this post, you have recieved ENGAGE tokens.

wow that's a very big job.
Ganador+.jpg
Hi @enjar, thanks for sharing your experiences.

Thanks. Have a great weekend.