Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Could somebody PLEASE explain how BODY_DETAIL_PLANs and tissue layering work?  (Read 966 times)

Bohandas

  • Bay Watcher
  • Discordia Vobis Com Et Cum Spiritum
    • View Profile

What does calling a BODY_DETAIL_PLAN do when defining a creature, and how are they supposed to be used?

I have already looked in the wiki, and the only hep it was able to give was the following cryptic statement:
Example:
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]
This creates the detailed body of a fox, the skin, fat, muscle, bones and cartilage out of the vertebrate tissues.
A maggot would only need:
[BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:SKIN:FAT:MUSCLE]

The only thing approximating an actual sentence in the entire explanation consists of a single bizarre fragment
This creates the detailed body of a fox, the skin, fat, muscle, bones and cartilage out of the vertebrate tissues.

 ??? WHAT THE HELL DOES THAT MEAN?!?!?!?!?!?!?!
It reads like stereo instructions!

And while we're at it, could somebody please explain the correct usages of the following tags/tokens:

PLUS_BP_GROUP
PLUS_MATERIAL
PLUS_TISSUE_LAYER
PLUS_TL_GROUP
REMOVE_MATERIAL
REMOVE_TISSUE
LECT_TISSUE_LAYER
SET_BP_GROUP
SET_TL_GROUP
TISSUE_LAYER
TISSUE_LAYER_UNDER
TISSUE_LAYER_APPEARANCE_MODIFIER
TISSUE_STYLE_UNIT
TLCM_NOUN
TLCM_TIMING
TSU_NOUN
USE_TISSUE

But especially BODY_DETAIL_PLAN

I'd really like to create some custom creatures, but without being able to figure out how to edit body tissues I can't do anything particularly interesting.
(For that matter, I also don't know how to edit the appearance-related tokens, but perhaps I should save that for another thread...)

To summarize: Tissues...using and editing...how?
Logged
NEW Petition to stop the anti-consumer, anti-worker, Trans-Pacific Partnership agreement
What is TPP
----------------------
Remember, no one can tell you who you are except an emotionally unattached outside observer making quantifiable measurements.
----------------------
Έπαινος Ερις

3

  • Bay Watcher
    • View Profile

What does calling a BODY_DETAIL_PLAN do when defining a creature, and how are they supposed to be used?

I have already looked in the wiki, and the only hep it was able to give was the following cryptic statement:
Example:
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]
This creates the detailed body of a fox, the skin, fat, muscle, bones and cartilage out of the vertebrate tissues.
A maggot would only need:
[BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:SKIN:FAT:MUSCLE]

The only thing approximating an actual sentence in the entire explanation consists of a single bizarre fragment
This creates the detailed body of a fox, the skin, fat, muscle, bones and cartilage out of the vertebrate tissues.

 ??? WHAT THE HELL DOES THAT MEAN?!?!?!?!?!?!?!
It reads like stereo instructions!

Have you read the notes in the default raws?

Quote from: b_detail_plan_default.txt
[BODY_DETAIL_PLAN:STANDARD_MATERIALS]
    This command is just a shortcut for the similar lines (USE_MATERIAL_TEMPLATE|<token>|<template>) in a creature definition.

Quote from: b_detail_plan_default.txt
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS]
   This body detail plan accepts argument tokens that can fill the role of the tissue token.  For instance, the dwarf sends in SKIN, FAT, MUSCLE, BONE and CARTILAGE.

The basic idea of detail plans is to partially automate the process of defining materials and tissues.

Quote from: b_detail_plan_default.txt
[BODY_DETAIL_PLAN:STANDARD_MATERIALS]
    [ADD_MATERIAL:SKIN:SKIN_TEMPLATE]
    [ADD_MATERIAL:FAT:FAT_TEMPLATE]
    [ADD_MATERIAL:MUSCLE:MUSCLE_TEMPLATE]
    [...]

ADD_MATERIAL:SKIN:SKIN_TEMPLATE, for example, defines a new material within the creature entry out of SKIN_TEMPLATE with the designation "SKIN". The same applies for the rest.

An example of how the argument-based plans work:

Quote
    [BP_LAYERS:BY_CATEGORY:HAND:ARG4:25:ARG3:25:ARG2:5:ARG1:1]

This is defining a tissue layer for a specific bodypart; in this case, anything in the HAND category.

ARG1, ARG2, ARG3 et al are arguments that are defined in the creature entry itself. The number after each argument "slot" is the relative thickness value. Thus the aformentioned

Quote
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]

Results in the parts applicable to that plan having a layer of SKIN with thickness 1, a layer of FAT with thickness 5, etc., etc..

A lot of the following is really evident in the existing creature files, but I'll go over it anyway as I'm patient and have nothing better to do.

PLUS_BP_GROUP
PLUS_MATERIAL
PLUS_TISSUE_LAYER
PLUS_TL_GROUP

These allow you to select bodypart groups/materials/tissue layers/group tissue layers in addition to your current selection.

REMOVE_MATERIAL
REMOVE_TISSUE

These allow you to remove a material or tissue after it's been declared in a detail plan. You'll likely be able to figure out how doing such is useful if you take a closer look at something like VERTEBRATE_TISSUE_LAYERS. Personally, I don't use this at all, if only because getting the syntax right is tricky, and if you accidentally remove something that's later referenced (which is occasionally impossible to avoid) the game will crash outright.

LECT_TISSUE_LAYER

This should be "SELECT_TISSUE_LAYER". You can work that one out on your own.

SET_BP_GROUP
SET_TL_GROUP

Begins defining a group of bodyparts or tissue layers. I think this is necessary for appearance modifiers to work correctly.

TISSUE_LAYER

Begins defining a tissue layer for a bodypart. Without this, nothing would have any tissue layers - even skin and such, although that's not evident in most of the vanilla creatures, thanks to detail plans optimising the process. In most cases, plans are defining the layers so they don't have to be defined for each individual creature, but you can see examples of this in use in, say, the nail and eyelash definitions in DWARF.


TISSUE_LAYER_UNDER

Defines a tissue layer under something instead of layered over it. Mainly used for things filled with gas or liquid.

TISSUE_LAYER_APPEARANCE_MODIFIER

Defines an appearance modifier for a tissue layer (length, width, curliness, I don't know, whatever there is. You can make things have variously curly legs if you want).

TISSUE_STYLE_UNIT

Dunno. Don't think I've used it. I'll check after this post. Appears to be used to apply an attribute to a specific layer within a single group. You'd want to use this for, say, defining beards and sideburns to be shaped differently, even when they're both part of the facial hair group.

TLCM_NOUN

Defines a noun to be used in describing a tissue layer (his eyes are green).

TLCM_TIMING

No dice. Sounds interesting, though. Hah, forgot about this one. It's such an in-depth thing that I could be forgiven for not remembering it. This defines when a change will take place in the tissue. As stated by Toady:

Quote from: creature_default.txt
                This gives the start and finish time in <year>|<days> for the color change to occur
       

TSU_NOUN

Something to do with the style units tag mentioned above. Defines a noun to be used in describing a specific tissue within a group.

USE_TISSUE

What, on its own? Not heard of that. You might be thinking of USE_TISSUE_TEMPLATE.
« Last Edit: October 08, 2010, 09:09:29 pm by 3 »
Logged

Bohandas

  • Bay Watcher
  • Discordia Vobis Com Et Cum Spiritum
    • View Profile

An example of how the argument-based plans work:

Quote
    [BP_LAYERS:BY_CATEGORY:HAND:ARG4:25:ARG3:25:ARG2:5:ARG1:1]

This is defining a tissue layer for a specific bodypart; in this case, anything in the HAND category.

ARG1, ARG2, ARG3 et al are arguments that are defined in the creature entry itself. The number after each argument "slot" is the relative thickness value. Thus the aformentioned

Quote
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]

Results in the parts applicable to that plan having a layer of SKIN with thickness 1, a layer of FAT with thickness 5, etc., etc..

Where did these thicknesses come from? did they come from the thicknesses defined in that top example? and if so, how come they are in reverse order and why does the second token's arguments not also mention hands?
Logged
NEW Petition to stop the anti-consumer, anti-worker, Trans-Pacific Partnership agreement
What is TPP
----------------------
Remember, no one can tell you who you are except an emotionally unattached outside observer making quantifiable measurements.
----------------------
Έπαινος Ερις

3

  • Bay Watcher
    • View Profile

Where did these thicknesses come from? did they come from the thicknesses defined in that top example?

Yes.

how come they are in reverse order

Because the detail plan is defined in reverse order. I don't think there's any good reason for it.

and why does the second token's arguments not also mention hands?

VERTEBRATE_TISSUE_LAYERS includes hands, along with pretty much every other body part you're likely to see in some kind of vertebrate or other:

Code: [Select]
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS]
    This body detail plan accepts argument tokens that can fill the role of the tissue token.  For instance, the dwarf sends in SKIN, FAT, MUSCLE, BONE and CARTILAGE.
    [BP_LAYERS:BY_CATEGORY:BODY:ARG3:50:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:BODY_UPPER:ARG3:50:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:BODY_LOWER:ARG3:50:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:ARM:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:ARM_UPPER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:ARM_LOWER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:HAND:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:LEG:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:LEG_UPPER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:LEG_LOWER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:LEG_FRONT:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:LEG_REAR:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:FOOT:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:FOOT_FRONT:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:FOOT_REAR:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:HEAD:ARG3:50:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:NECK:ARG3:50:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:WING:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:TENTACLE:ARG3:50:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:CLAW:NAIL:100]
    [BP_LAYERS:BY_CATEGORY:PINCER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:TAIL:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:STINGER:ARG4:100]
    [BP_LAYERS:BY_CATEGORY:SHELL:SHELL:100]
    [BP_LAYERS:BY_CATEGORY:EYE:EYE:100]
    [BP_LAYERS:BY_CATEGORY:TOOTH:TOOTH:100]
    [BP_LAYERS:BY_CATEGORY:TUSK:IVORY:100]
    [BP_LAYERS:BY_CATEGORY:NOSE:ARG5:4:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:PROBOSCIS:ARG5:4:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:ANTENNA:ARG5:4:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:MANDIBLE:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:EAR:ARG5:4:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:LUNG:LUNG:100]
    [BP_LAYERS:BY_CATEGORY:MOUTH:ARG3:10:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:BEAK:ARG4:100]
    [BP_LAYERS:BY_CATEGORY:RIB_TRUE:ARG4:100]
    [BP_LAYERS:BY_CATEGORY:RIB_FALSE:ARG4:100]
    [BP_LAYERS:BY_CATEGORY:RIB_FLOATING:ARG4:100]
    [BP_LAYERS:BY_CATEGORY:HEART:HEART:100]
    [BP_LAYERS:BY_CATEGORY:GUTS:GUT:100]
    [BP_LAYERS:BY_CATEGORY:LIVER:LIVER:100]
    [BP_LAYERS:BY_CATEGORY:STOMACH:STOMACH:100]
    [BP_LAYERS:BY_CATEGORY:PANCREAS:PANCREAS:100]
    [BP_LAYERS:BY_CATEGORY:SPLEEN:SPLEEN:100]
    [BP_LAYERS:BY_CATEGORY:KIDNEY:KIDNEY:100]
    [BP_LAYERS:BY_CATEGORY:JOINT:ARG4:4:ARG3:1]
    [BP_LAYERS:BY_CATEGORY:SPINE:NERVE:2:ARG4:2]
    [BP_LAYERS:BY_CATEGORY:BRAIN:BRAIN:100]
    [BP_LAYERS:BY_CATEGORY:HORN:ARG4:2:HORN:2]
    [BP_LAYERS:BY_CATEGORY:FINGER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:TOE:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:FIN:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:FLIPPER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:HUMP:ARG2:50:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:LIP:ARG3:10:ARG2:5:ARG1:1]
    [BP_LAYERS:BY_CATEGORY:CHEEK:ARG1:100]
    [BP_LAYERS:BY_CATEGORY:EYELID:ARG1:100]
    [BP_LAYERS:BY_CATEGORY:THROAT:ARG1:100]
    [BP_LAYERS:BY_CATEGORY:HOOF:HOOF:100]
    [BP_LAYERS:BY_CATEGORY:HOOF_FRONT:HOOF:100]
    [BP_LAYERS:BY_CATEGORY:HOOF_REAR:HOOF:100]
    [BP_LAYERS:BY_CATEGORY:SKULL:ARG4:100]

I just grabbed the HAND part of that as an example arbitrarily.
« Last Edit: October 09, 2010, 09:59:57 pm by 3 »
Logged