Modding:Race Modding Guide: Difference between revisions

From Lilith's Throne
Jump to navigationJump to search
Mod Structures and Files section
m Always show TOC
Line 133: Line 133:
|(Optional) Custom name triplets for a race and/or subspecies.
|(Optional) Custom name triplets for a race and/or subspecies.
|}
|}
__FORCETOC__

Revision as of 21:53, 20 February 2024

LT's modding system has the ability to add new races and subspecies to the game, or to add new subspecies to existing races. A race mod is composed of XML files defining things such as body parts, subspecies and coverings, SVG images for icons and items, arranged in structured folders. In addition to defining a race and subspecies, these mods also often will include associated racial items to make transformative potions, combat moves, or custom text colors for names and descriptions.

Since the mod is made entirely of XML text files and SVG images, creating a race mod requires at least a text editor and a SVG image editor. [User:Sightglass: For the text editor, I recommend something like Notepad++ with some more-than-basic features like regex-based search/find/replace. Just anything that you're comfortable with and can use efficiently. For the SVG editor, I HIGHLY recommend Inkscape. Importantly, it seems to produce SVGs that are the most compatible with LT, as well as being relatively easy to pick up.]

General Process

It is much easier to start a new race mod using an existing race as a template. An annotated example is the Hyena-morph species, found from the game's res/mods/innoxia/race/hyena folder. Each of the XML files in the hyena race explains the file and each element of the XML.

A folder named after the mod's author should be directly under the res/mods folder. Within that folder, there will be subfolders each designating what they contain. Copying an entire race's folder helps keep the structure together and provides you with the XML files with the structure already in place. For example, "someone" might start a new race mod by first creating a folder res/mods/someone, then copying the res/mods/innoxia/race/hyena folder into it, then renaming the hyena folder into res/mods/someone/race/giraffe. Then, it is easy to just go through the files and change them from defining a hyena to defining a giraffe. Other parts of the mod, such as items and combat moves, will go in different folders and will be discussed in the sections below.

I generally follow this order when planning a race mod. This isn't strictly necessary, but I find this order to be helpful when working to help ideas come together.

  1. Race and subspecies - What kinds of (usually anthro) creature do you want to add to the game (and have people bang)? What discrete varieties are there, and how are they differentiated from each other? For a real creature how can you anthropomorphize and adapt their real-world behavior into lewdness? For a fictional creature, how do you lewd their depiction?
  2. Body Parts - What unique features do they have? Can these be used to distinguish different subspecies?
  3. Items - For a race, it's practically necessary for there to be at least one item (usually a food) that can be used to create a transformative potion. Otherwise, the race would be difficult for the player to make themselves into. There is also usually a drink item, that enchants into a buff/restoration potion. I usually choose a food that's thematically associated with the creature, or a from the cuisine of the area that the creature is from.
  4. Other Things - Unique combat moves usually. Can exhibit a special ability that the race has, such as a snake's venomous bite, or a kangaroo kicking the shit out of someone.

It may be helpful to keep some browser tabs open for "research" (like a wiki page, and furry porn) as you write, for inspiration or to add details when actually making the mod.

Then it's on to actually editing the files. I follow this order generally. Again, not strictly necessary, but helpful it avoiding having to backtrack and change things back. However, all of these parts are very interconnected, and unless you have EVERYTHING entirely planned out from the outset, you'll need leave placeholder values in, and go back and change things later. Keep in mind that whatever you have planned might change entirely, depending on what strikes you as you write, and what you may discover during "research".

  1. Race definition
  2. Colors (for description text, icons, etc.)
  3. Body parts
  4. Coverings
  5. Racial body
  6. Subspecies
  7. Subspecies icons
  8. Lore book
  9. Potion Items
  10. Combat moves (if any)
  11. Name lists (if using)
  12. TESTING TO MAKE SURE EVERYTHING WORKS

These parts are explained further in the #Mod Structure and Files section and the individual sections for each part.

Mod Structure and Files

"File Path" is the folder and file names for each part. If the filename is a placeholder, it means that there are multiple files, one for each definition for body parts, coverings, etc.

"Internal Name" is the name assigned when the LT modding engine loads in the file. These are generally generated from the file path.

"Requires" means that this part must reference another part. "May Require" means that this reference is optional, or can use existing items as a placeholder.

"Icon" specifies if a part uses an SVG icon.

For the file paths in the following table <an> is the author name (for example, "sightglass" or "dsg"), <rn> is the race name, and the other placeholders are self-explanatory.

Part File Path Internal Name Requires May Reference Icon Description
Race Definition <an>/race/<rn>/race.xml <an>_<rn> Racial Body The definition for a grouping of subspecies, and some basic info like litter sizes and disposition.

If adding subspecies to an existing race, Don't Add This

Racial Body <an>/race/<rn>/racialBody.xml Body Parts Template of body parts, and sizes, and other parameters the game uses when making a new character's body.
Body Parts <an>/race/<rn>/bodyParts/<bp>.xml <an>_<rn>_<bp> Coverings Race One file for each body part type definition. May have multiple types for a slot (such as multiple tail varieties).
Coverings <an>/race/<rn>/coveringTypes/<ct>.xml <an>_<rn>_<ct> Color A covering such as skin, fur, scales, chitin, etc. Sets colors, patterns and modifiers that can spawn
Subspecies <an>/race/<rn>/subspecies/<subsp>.xml <an>_<rn>_subspecies_<subsp> Race, Book Entries Body Parts, Items, Color Icon Defines a subspecies of the main race. Needs at least 1 "main" subspecies. One file per subspecies.
Book Entries <an>/race/<rn>/subspecies/bookEntries.xml Uses a "tag" attribute Lore text that appears in the encyclopedia.
Items <an>/items/items/race/<item>.xml <an>_race_<item> Race Icon Item definitions for potion base items. Generally need at least 1 TF base item (usually food).
Combat Move <an>/combatMove/<move>.xml Icon (Optional) A special combat move. One file per combat move.
Color <an>/colours/<color>.xml <an>_<color> (Optional) A custom color. Can be used in entries above. One file per color.
Names <an>/race/<rn>/names.xml Subspecies (Optional) Custom name triplets for a race and/or subspecies.