Facet-MUD-Project / facetassets

Shared assets for the various Facet MUD implementations
MIT License
0 stars 0 forks source link

Full standards and examples list needed to be decided upon. #3

Open DaftPun opened 4 years ago

DaftPun commented 4 years ago

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.

tarkatronic commented 4 years ago

Currently the most up-to-date list of asset_types 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_types the best route? I'm not sure. I'm also not sure what alternative we would use. Just something to chew on.

tarkatronic commented 4 years ago

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 full asset_type list? Do we have asset_types 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"
DaftPun commented 4 years ago

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?