Modding:Objects: Difference between revisions
(add modding info box) |
(a little more info about entity component systems) |
||
Line 17: | Line 17: | ||
==Component System== | ==Component System== | ||
For | Caves of Qud's codebase uses an [https://en.wikipedia.org/wiki/Entity_component_system|entity component system] architectural style, which makes it relatively easy for modders to create totally new objects with only a small XML snippet, simply by combining existing components from other game objects. Components are generally referred to as "parts" in Caves of Qud's XML files. For example, you might combine a LiquidVolume part with a MeleeWeapon part to create a weapon that holds liquid. | ||
For a more thorough introduction to the component system used to define objects in Caves of Qud, check out this introductory presentation by CoQ developer Brian Bucklew from IRDC 2015: | |||
{{#ev:youtube|U03XXzcThGU}} | {{#ev:youtube|U03XXzcThGU}} |
Revision as of 18:48, 5 September 2019
This page is about modding. See the modding overview for an abstract on modding. |
Object Definitions
The game's object definitions live in %game directory%\CoQ_Data\StreamingAssets\Base\ObjectBlueprints.xml
.
These object definitions may be extended or replaced via an ObjectBlueprints.xml
file placed in your mod's root directory, %appdata%\Caves of Qud\Mods\[your mod name]\ObjectBlueprints.xml
.
If an object attribute Load="Merge"
is supplied, the data will merge with any existing definition, otherwise the object definition will replace the named object entirely.
Example ObjectBlueprints.xml
that merges a new color into Ctesiphus's blueprint:
<objects>
<object Name="Ctesiphus" Load="Merge">
<part Name="Render" ColorString="&B"></part>
</object>
</objects>
Component System
Caves of Qud's codebase uses an component system architectural style, which makes it relatively easy for modders to create totally new objects with only a small XML snippet, simply by combining existing components from other game objects. Components are generally referred to as "parts" in Caves of Qud's XML files. For example, you might combine a LiquidVolume part with a MeleeWeapon part to create a weapon that holds liquid.
For a more thorough introduction to the component system used to define objects in Caves of Qud, check out this introductory presentation by CoQ developer Brian Bucklew from IRDC 2015:
Adding the object to encounters
Once you've created your item, check out this page for information on how to introduce it to dynamic encounters: Encounter and Population Modding