Components and Component Sets
Context: HL Kit … Basic Concepts and Terminology … Structural Building Blocks
Each distinct type of game system object is defined via a unique component set (often shortened to "compset"). The component set defines a specific set of characteristics for an object type. For example, in the d20 System, skills have a particular set of behaviors (e.g. the number of skill points assigned, the linked attribute, etc.), while weapons have a different set of behaviors (e.g. damage type, damage value, critical score, etc.). A separate compset is therefore defined for each type of object you want to create.
Compsets get their name because they are actually a set of one or more components. Various object types will have similar behaviors to each other. For example, all types of equipment have a cost and weight, whether the equipment is a weapon, armor, magical rope, or merely a wineskin. All of the details associated with the cost and weight of equipment should ideally be handled in a simple, consistent fashion. By defining a single component that handles everything to do with cost and weight, and re-using that within the various compsets for each equipment type, the Kit becomes powerful, flexible, and efficient for the data file author.
Through the intelligent design of components and component sets, you can re-use common logic across multiple similar object types. The Kit provides a number of standard components and compsets that you can readily build upon and/or adapt to the specifics of your game system.