Skill Trees ~ Potential Integration with existing WDL - uchicago-cs/chiventure GitHub Wiki
The existing WDL system supports only three objects: the game object, rooms, and items. More information on WDL can be found in this write-up. The WDL system implies a few ways in which interactions with rooms and with items can support some of our initial conceptions of what skills users ought to have.
Supported Skill Types / Attributes
This section gives a high-level description of how certain skills can be implemented in the WDL system. For reference, this document describes broadly our intentions and this document describes common skills that we might like to implement.
Skill-Based Location Progression
Skills that must be learned in order for a user to be able to access certain rooms and items.
Rooms
Rooms have a 'connections' attribute, a list of rooms that can be entered from the current room. Such a list may be able to be manipulated in order to prevent a user from accessing certain rooms until they have progressed far enough in a certain skill tree. This may require collaboration with the WDL team to alter "locked rooms" and other restrictions.
Items
Items have an 'actions' attribute, a list of available actions that the user can perform on / with the item. Adding skill-specific actions to this attribute can allow us to create skills that transform items, expend items, etc.
Item-Based Skill Progression
It may be prudent for there to be certain items that bestow experience / skills. For example, reading a skill book, uncovering treasure, etc. provides the user with a skill.
Unsupported Skill Types / Attributes
This section gives a high-level description of how certain skills cannot be implemented in the WDL system until the system is improved in some capacity.
Combat
Combat skills ought to affect objects that represent enemies and / or other players. Since the WDL does not support these objects as of yet, these skills must be implemented in collaboration with WDL / WDL++ teams and other RPG teams such as NPCs and Battle Management teams.
Location-Based Skill Progression
In order for players to learn skills, gain experience, etc., it may be prudent for there to be certain rooms that bestow story-based / progression-based skills. For example, progressing to a certain point in the story or to a certain area unlocks certain skills for the users. Unsure of how this can be implemented in the existing WDL, as Rooms do not have any attribute that interacts explicitly with the user.