Open DaftPun opened 4 years ago
Currently the most up-to-date list of asset_type
s can be found here: https://github.com/Facet-MUD-Project/facetjs/blob/master/src/lib/base/enums.ts
This has been somewhat growing with the lib itself.
Thinking some more on the idea of using an ECS though, is a static list of asset_type
s the best route? I'm not sure. I'm also not sure what alternative we would use. Just something to chew on.
Taken from https://github.com/Facet-MUD-Project/facetassets/pull/2#discussion_r441000509:
I'm unsure about an
asset_type
of"armor"
. Do we want them to get that fine-grained? I don't necessarily want to hold this PR up on this one thing, but I think this is the point where we should start this discussion, as you brought up in #3. What is our fullasset_type
list? Do we haveasset_type
s like"armor"
, or do we use some form of "tagging" to support an entity component system? What would that even look like?Random brain dump possibility:
asset_type = "item" # Asset == Entity asset_components = [ "wearable" ]
Another example might be:
asset_type = "item" asset_components = [ "wearable", "container" ] short_description = "a hoodie with pockets"
I agree that the fine-graining should be applied in the component list instead of the object type, to do otherwise would likely make using an ECS moot. I'm wondering one thing though, should we even have asset_types and just go full ECS and let the components compose what the item is?
We need to write up a doc of standard properties that an object toml file should have. Basically a complete list of all properties that are common to objects, and a list for each asset_type. Also value values for each type of property as well. For that matter we also need to come up with a complete list of asset_types. Then once we have done that we need to come up with a list of example objects to create toml files for, basically create a complete and runnable example zone. Nothing too large just a small multi-room zone with a couple of items, some npcs.