MetaFam / TheGame

The platform that MetaGame will be played on aka MetaOS - an open source framework for running decentralized societies. Currently featuring MyMeta Profiles, Dashboard & Quests
https://metagame.wtf
Other
131 stars 78 forks source link

Allow the creation of user-defined skills #715

Open dysbulic opened 3 years ago

dysbulic commented 3 years ago

The user skill specification process currently draws from a static list of skills. It would be nice if users could add additional skills to their list. These skills would only show up in the selection UI for users that have added them.

Doing this is going to be impacted both by making skills a sortable list (#441) and mirroring the skill information to Ceramic's IDX (#309). In the interest of maintaining forward motion and not over-complicating things, this task could be left until those two tasks are complete.

Implementationwise this could be done by adding a skill_creator table with foreign key references to the skill and player tables. For shared skills, entries with a NULL creator_id could be added. When selecting the skills for a user to choose from, select skills they created or with a NULL creator.

The UI could allow the user to type in a skill name and have it autocomplete from all the skills including those created by other users. If the typed skill isn't already in the database, there could be a button to create a new one.

When they submit the typed skill name, a new entry is added to the skill table. Then, an entry is added to the skill_creator table for the player and skill. Finally, an entry is added to the player_skill table with the skill_id, player_id, and ordering rank of the skill in the player's list.

In this situation once a skill is created it shouldn't be possible to edit it because other users might be referencing the same skill. It should be possible though to remove the skill from the player's custom list.

An open question is how to handle the categorization of user added skills. ¿Should they be required to categorize new skills using the existing set of categories? Those categories are:

For example, fluency in a language is a skill one might want to publish. That doesn't necessarily fit into one of these categories better than it would a specific "Languages" category. Alternatively, all user created skills could be in a "Custom" category.

HBesso31 commented 2 years ago

It could come handy to review this issue with the www.DeepSkills.io team.

Seroxdesign commented 8 months ago

Too much spam, potential duplicates etc.. don't see a direct reason for this. @dysbulic close if you're fine w this