General question about data driven design

Alrighty, I’ll share a few things I learned.

My primary goal is to reduce complexity. I am looking at every example of inventory systems I can find and it is all like NASA level stuff. Just way too much work for me to even consider.

My guiding thought is that all pickups should be represented by a single class, and with a minimum of moving parts we should be able to identify a data table to draw data from to get info about the item.

Nearly every example I see combines all item types into a single data table. While this can work, to me it feels very sloppy - if I want to get data about a building material, why should I also read strings about calorie content and damage values?

So, I want specific data tables for categories of items, and all items should be represented by a single blueprint.

I’ve made a test and accomplished this for the most part, I believe.

On the Pickup actor, I have a public String variable:
image
I type an items category, separate with a space, and then its name.

A string is just an array, so I parse that:
image

And that gives me all the knowledge I need to look up the correct data table for the item. I just Switch from the category name, and then I can grab the right data table to get access to further data.

This reduces the need for tons of nested data types that gets my brain twisted in a knot, and it also means for saving the entire inventory it can be contained in a single string array. There is also no inheritance involved so I don’t have to figure out where to draw line between common and unique needs.

I doubt this is the most efficient method in the world but it is simple for me to get started with.

For managing where behaviors are scripted, I think I just need to consider on case-by-case basis. I think for most part, it seems logical that player character would hold most behavior code in a single player survival game. Not sure the added verbosity of composition design nets me anything in a case like this.