- v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
- Use this page to report any issues related to the migration.
Difference between revisions of "Random creature profile"
Doorkeeper (talk | contribs) m (→Overview) |
Doorkeeper (talk | contribs) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
== Overview == | == Overview == | ||
− | RCP stands for "[http://www.bay12forums.com/smf/index.php?topic=30026.msg831163#msg831163 random creature profile]". RCP is hard-coded [[raw]] text that defines the basic body, tissues and body attacks of a random creature before it goes under further randomness (three-eyed, wings of stretched skin, external ribs, elemental composition, etc.). Most amphibian, mammalian and reptilian RCPs have humanoid variations of themselves, described as "in humanoid form" or "twisted into humanoid form". There are 243 standard RCPs and | + | RCP stands for "[http://www.bay12forums.com/smf/index.php?topic=30026.msg831163#msg831163 random creature profile]". RCP is hard-coded [[raw]] text that defines the basic body, tissues and body attacks of a random creature before it goes under further randomness (three-eyed, wings of stretched skin, external ribs, elemental composition, etc.). Most amphibian, mammalian and reptilian RCPs have humanoid variations of themselves, described as "in humanoid form" or "twisted into humanoid form". There are 243 standard RCPs and 81 humanoid variations, which brings the known total to 324. |
The RCP of a randomly generated creature can be identified by its description. Many RCPs have identical names with normal [[creature]]s (e.g. [[albatross]]), although they are entirely unrelated; other RCPs feature animals that don't exist anywhere else, such as zebras. Some RCPs have inherent abilities like flight or [[web]]bing. | The RCP of a randomly generated creature can be identified by its description. Many RCPs have identical names with normal [[creature]]s (e.g. [[albatross]]), although they are entirely unrelated; other RCPs feature animals that don't exist anywhere else, such as zebras. Some RCPs have inherent abilities like flight or [[web]]bing. | ||
[[Night troll]]s and [[bogeyman|bogeymen]] only use the generic "humanoid" RCP, and werebeasts use the humanoid animal forms. Primates, hexapods, octopods and decapods are unique to beast-like [[experiment]]s, while armless bipeds, wyrms, and the generic "snake" and "worm" RCPs are unique to failed experiments. | [[Night troll]]s and [[bogeyman|bogeymen]] only use the generic "humanoid" RCP, and werebeasts use the humanoid animal forms. Primates, hexapods, octopods and decapods are unique to beast-like [[experiment]]s, while armless bipeds, wyrms, and the generic "snake" and "worm" RCPs are unique to failed experiments. | ||
+ | |||
+ | This [https://nm.reddit.com/r/dwarffortress/comments/kq86x5/i_made_some_calculations_towards_determining_the/gi2l7py/ quote from Toady], shared by Meph, goes into more detail on how procedural creature generation works (prior to v50.01): | ||
+ | |||
+ | <blockquote> | ||
+ | The raw/objects/body_rcp.txt file has the definitions it expects for bodyparts. (rcp stands for "random creature profile") The main thing is that the base "animal" word is doing most of the heavy lifting in terms of making the descriptions evocative, so the rcp's don't end up mattering that much. There are little internal definitions for each animal word, about 230 of them. If we ignore that, then we're more just working with "feathered quadruped" and so forth. | ||
+ | |||
+ | Example of a random creature profile (for the elephant type): | ||
+ | |||
+ | name="elephant" | ||
+ | tile='E' | ||
+ | body base=quadruped | ||
+ | class=mammal | ||
+ | flags=must have tail, must have elephant trunk | ||
+ | |||
+ | So, hmm, perhaps the base and class lists are relevant here... | ||
+ | |||
+ | classes: mammal, chitin exo, fleshy, amphibian, reptile, feathered reptile, avian, uniform (like 'composed of iron') | ||
+ | |||
+ | bases: amorphous, insect, insect larva, spider, scorpion, ten legged, eight legged, worm, no limbs, quadruped, snake, humanoid, two legs + no arms, quadruped with front graspers (like a monkey) | ||
+ | |||
+ | The flags just force certain rcp additions, and prevent others from happening. For instance, the "slug" profile has "cannot have shell" because a slug with a shell is confusing. | ||
+ | |||
+ | Ah, here we go. The rcps are used via the "body tweak" system. A body can have a tweak from category one, a tweak from category two, and an attack tweak, respecting its profile flags. | ||
+ | |||
+ | Category one tweaks: wings, flightless wings, tail, proboscis, trunk, shell, antennae, head horns, large mandibles, twisted into humanoid form, six legged, eight legged | ||
+ | |||
+ | Category two tweaks: hair, feathers, scales, exoskeleton, skin, skin/bones, no eyes, one eye, three eyes, beak missing, nose missing, external ribs, lidless eyes, skinless | ||
+ | |||
+ | Attack tweaks: tail stinger, insect stinger, blood proboscis, fire, webs, breath (trailing flow), breath (glob), breath (undirected), secretion, poisonous blood, poisonous bite | ||
+ | |||
+ | That material list looks almost right - here's the official list of variables: ash, mud, vomit, salt (powder), grime, snow, water, steam, flame, amber, coral, green glass, clear glass, crystal glass, charcoal, coke, salt (solid), ice, mineral (any), soil (any), gem (any), metal (any) | ||
+ | |||
+ | The "any" materials can't be "[[Inorganic material definition token#SPECIAL|special]]", but there don't appear to be other restrictions. | ||
+ | There are various other implicit flags on these things when it comes to werebeasts etc. "humanoidable" and "beast", for example. So all night creatures require "humanoidable" and werebeasts require "beast" on top of that. Which is why we don't have wereblobs or even wereserpents." | ||
+ | </blockquote> | ||
== List == | == List == | ||
Line 18: | Line 53: | ||
In-game, the tile color is determined by the creature's external color modifier. If it does not have a color modifier and is not skinless, it uses the outermost tissue layer's default material color. If it is skinless, it is displayed in dark red (4:0:0). | In-game, the tile color is determined by the creature's external color modifier. If it does not have a color modifier and is not skinless, it uses the outermost tissue layer's default material color. If it is skinless, it is displayed in dark red (4:0:0). | ||
− | {{columns-list|colwidth= | + | {{columns-list|colwidth=15em| |
* {{Tile|A|7:0}} Albatross | * {{Tile|A|7:0}} Albatross | ||
* {{Tile|A|7:0}} '''Alligator''' | * {{Tile|A|7:0}} '''Alligator''' | ||
Line 265: | Line 300: | ||
== Graphics == | == Graphics == | ||
− | All random creatures except [[werebeast]]s use [[graphics|graphic]] sprites found in <code>beasts.png</code> and <code>beasts_small.png</code>. There are | + | All random creatures except [[werebeast]]s use [[graphics|graphic]] sprites found in <code>beasts.png</code> and <code>beasts_small.png</code>. There are 19 primary body sprites (6 are alternate-legged variations) with additional sprite layers representing secondary body parts. Several RCPs have one or more secondary sprite layers by default. A few RCPs, like quadrupeds, have more than one body sprite to randomly select from. |
{| class="wikitable"<!-- | {| class="wikitable"<!-- | ||
Line 274: | Line 309: | ||
recommend large worlds w/ min history, no civs, no vamps/secrets/interactions/weather, & max num of procgen beasts (titans, demons, night creatures, etc.) | recommend large worlds w/ min history, no civs, no vamps/secrets/interactions/weather, & max num of procgen beasts (titans, demons, night creatures, etc.) | ||
for experiments, use basic options w/ small world, max hist, max civ, min beasts & min savage | for experiments, use basic options w/ small world, max hist, max civ, min beasts & min savage | ||
− | |||
− | [PROCEDURAL_CREATURE_GRAPHICS:DEFAULT] | + | example to look for: |
− | [PCG_LAYERING:BEAST_QUADRUPED_BULKY_TAIL_ONE] | + | |
− | [PCG_LAYERING:BEAST_QUADRUPED_BULKY] | + | [PROCEDURAL_CREATURE_GRAPHICS:DEFAULT] |
− | [PCG_LAYERING:BEAST_QUADRUPED_BULKY_HORNS] | + | [PCG_LAYERING:BEAST_QUADRUPED_BULKY_TAIL_ONE] |
− | [PCG_LAYERING:BEAST_QUADRUPED_BULKY_EYE_TWO] | + | [PCG_LAYERING:BEAST_QUADRUPED_BULKY] |
+ | [PCG_LAYERING:BEAST_QUADRUPED_BULKY_HORNS] | ||
+ | [PCG_LAYERING:BEAST_QUADRUPED_BULKY_EYE_TWO] | ||
above: chinchilla with four broad horns (random body modifications are explicitly mentioned in the creature's description) | above: chinchilla with four broad horns (random body modifications are explicitly mentioned in the creature's description) | ||
Line 405: | Line 441: | ||
| ape | | ape | ||
| [[File:Beast front grasp, two eyes.png]] | | [[File:Beast front grasp, two eyes.png]] | ||
− | | | + | | BEAST_FRONT_GRASP_EYE_TWO |
| rowspan="2" | BEAST_FRONT_GRASP | | rowspan="2" | BEAST_FRONT_GRASP | ||
|- | |- | ||
| monkey | | monkey | ||
| [[File:Beast front grasp, two eyes, one tail.png]] | | [[File:Beast front grasp, two eyes, one tail.png]] | ||
− | | | + | | BEAST_FRONT_GRASP_EYE_TWO, BEAST_FRONT_GRASP_TAIL_ONE |
|- | |- | ||
| primate, quadruped | | primate, quadruped | ||
Line 456: | Line 492: | ||
== Gallery == | == Gallery == | ||
− | <gallery> | + | <gallery caption="Large sprites" heights="64px"> |
Beast amorphous.png|Amorphous sprite | Beast amorphous.png|Amorphous sprite | ||
Beast snake.png|Snake sprite | Beast snake.png|Snake sprite | ||
Line 477: | Line 513: | ||
Beast quadruped slinky oct.png|Slinky quadruped sprite (eight-legged) | Beast quadruped slinky oct.png|Slinky quadruped sprite (eight-legged) | ||
Beast walrus.png|Walrus sprite | Beast walrus.png|Walrus sprite | ||
+ | </gallery> | ||
+ | |||
+ | <gallery caption="Small sprites" heights="32px"> | ||
+ | Beast small amorphous.png|Small amorphous sprite | ||
+ | Beast small snake.png|Small snake sprite | ||
+ | Beast small worm long.png|Small long worm sprite | ||
+ | Beast small worm short.png|Small short worm sprite | ||
+ | Beast small insect.png|Small insect sprite | ||
+ | Beast small spider.png|Small spider sprite | ||
+ | Beast small scorpion.png|Small scorpion sprite | ||
+ | Beast small scorpion, one tail.png|Small scorpion sprite (with one tail) | ||
+ | Beast small bipedal dinosaur.png|Small bipedal dinosaur sprite | ||
+ | Beast small humanoid.png|Small humanoid sprite | ||
+ | Beast small front grasp.png|Small front grasp sprite | ||
+ | Beast small front grasp hex.png|Small front grasp sprite (six-legged) | ||
+ | Beast small front grasp oct.png|Small front grasp sprite (eight-legged) | ||
+ | Beast small quadruped bulky.png|Small bulky quadruped sprite | ||
+ | Beast small quadruped bulky hex.png|Small bulky quadruped sprite (six-legged) | ||
+ | Beast small quadruped bulky oct.png|Small bulky quadruped sprite (eight-legged) | ||
+ | Beast small quadruped slinky.png|Small slinky quadruped sprite | ||
+ | Beast small quadruped slinky hex.png|Small slinky quadruped sprite (six-legged) | ||
+ | Beast small quadruped slinky oct.png|Small slinky quadruped sprite (eight-legged) | ||
+ | Beast small walrus.png|Small walrus sprite | ||
</gallery> | </gallery> | ||
Latest revision as of 07:54, 8 December 2023
v50.14 · v0.47.05 This article is about the current version of DF.Note that some content may still need to be updated. |
This article or section contains minor spoilers. You may want to avoid reading it. |
This is a list of random creature profiles (RCPs) which are used by procedurally generated creatures. RCPs use body parts from body_rcp.txt
instead of body_default.txt
.
Overview[edit]
RCP stands for "random creature profile". RCP is hard-coded raw text that defines the basic body, tissues and body attacks of a random creature before it goes under further randomness (three-eyed, wings of stretched skin, external ribs, elemental composition, etc.). Most amphibian, mammalian and reptilian RCPs have humanoid variations of themselves, described as "in humanoid form" or "twisted into humanoid form". There are 243 standard RCPs and 81 humanoid variations, which brings the known total to 324.
The RCP of a randomly generated creature can be identified by its description. Many RCPs have identical names with normal creatures (e.g. albatross), although they are entirely unrelated; other RCPs feature animals that don't exist anywhere else, such as zebras. Some RCPs have inherent abilities like flight or webbing.
Night trolls and bogeymen only use the generic "humanoid" RCP, and werebeasts use the humanoid animal forms. Primates, hexapods, octopods and decapods are unique to beast-like experiments, while armless bipeds, wyrms, and the generic "snake" and "worm" RCPs are unique to failed experiments.
This quote from Toady, shared by Meph, goes into more detail on how procedural creature generation works (prior to v50.01):
The raw/objects/body_rcp.txt file has the definitions it expects for bodyparts. (rcp stands for "random creature profile") The main thing is that the base "animal" word is doing most of the heavy lifting in terms of making the descriptions evocative, so the rcp's don't end up mattering that much. There are little internal definitions for each animal word, about 230 of them. If we ignore that, then we're more just working with "feathered quadruped" and so forth.
Example of a random creature profile (for the elephant type):
name="elephant" tile='E' body base=quadruped class=mammal flags=must have tail, must have elephant trunk
So, hmm, perhaps the base and class lists are relevant here...
classes: mammal, chitin exo, fleshy, amphibian, reptile, feathered reptile, avian, uniform (like 'composed of iron')
bases: amorphous, insect, insect larva, spider, scorpion, ten legged, eight legged, worm, no limbs, quadruped, snake, humanoid, two legs + no arms, quadruped with front graspers (like a monkey)
The flags just force certain rcp additions, and prevent others from happening. For instance, the "slug" profile has "cannot have shell" because a slug with a shell is confusing.
Ah, here we go. The rcps are used via the "body tweak" system. A body can have a tweak from category one, a tweak from category two, and an attack tweak, respecting its profile flags.
Category one tweaks: wings, flightless wings, tail, proboscis, trunk, shell, antennae, head horns, large mandibles, twisted into humanoid form, six legged, eight legged
Category two tweaks: hair, feathers, scales, exoskeleton, skin, skin/bones, no eyes, one eye, three eyes, beak missing, nose missing, external ribs, lidless eyes, skinless
Attack tweaks: tail stinger, insect stinger, blood proboscis, fire, webs, breath (trailing flow), breath (glob), breath (undirected), secretion, poisonous blood, poisonous bite
That material list looks almost right - here's the official list of variables: ash, mud, vomit, salt (powder), grime, snow, water, steam, flame, amber, coral, green glass, clear glass, crystal glass, charcoal, coke, salt (solid), ice, mineral (any), soil (any), gem (any), metal (any)
The "any" materials can't be "special", but there don't appear to be other restrictions. There are various other implicit flags on these things when it comes to werebeasts etc. "humanoidable" and "beast", for example. So all night creatures require "humanoidable" and werebeasts require "beast" on top of that. Which is why we don't have wereblobs or even wereserpents."
List[edit]
In ASCII mode, nearly all RCPs use specific uppercase or lowercase letters if the monster type does not use a fixed tile, such as '&' for demons. Lobsters uniquely use the '¥' sign instead. RCPs with humanoid versions are bolded. Humanoid forms use the same tile as their standard counterparts.
Capitalization denotes body size. In most cases, anything larger than a dwarf (60,000) uses an uppercase letter. Only uppercase letters are shown here.
In-game, the tile color is determined by the creature's external color modifier. If it does not have a color modifier and is not skinless, it uses the outermost tissue layer's default material color. If it is skinless, it is displayed in dark red (4:0:0).
A
AlbatrossA
AlligatorA
AnacondaA
AnkylosauridI
AntA
AnteaterA
AntelopeI
Antlion larvaA
ApeI
AphidA
ArmadilloB
Armless bipedI
Assassin bugB
BadgerB
BatB
BearB
BeaverI
BeeB
BisonB
BlobW
BristlewormB
BuffaloB
BullB
BuntingB
BushtitI
ButterflyB
BuzzardI
CaddisflyC
CamelC
CapybaraC
CardinalC
CatI
CaterpillarC
CavyC
CeratopsidC
ChameleonC
ChickadeeC
ChickenC
ChinchillaI
CicadaC
CivetI
Click beetleC
CoatiC
CobraC
CockatooI
CockroachC
CondorC
CoyoteC
CrabC
CraneI
CricketC
CrocodileC
CrowC
CuckooI
DamselflyI
Darkling beetleD
DecapodD
DeerD
DimetrodonD
DonkeyD
DoveI
DragonflyD
DuckI
Dung beetleE
EagleW
EarthwormI
EarwigE
ElephantE
ElkF
FalconF
FantailF
FinchI
FireflyF
FlamingoW
Flat wormI
FleaI
FlyF
FlycatcherF
FoxF
FrogF
Fruit batG
GeckoG
Gila monsterG
GiraffeG
GoatG
GooseG
GopherI
GrasshopperG
GrebeG
GrouseG
GullH
HadrosauridH
HareH
HarrierH
HawkH
HedgehogH
HexapodH
HippopotamusH
HoneyeaterH
HornbillI
HornetH
HorseH
HumanoidH
HummingbirdH
HyenaI
IguanaI
IguanodontJ
JackalJ
JayK
KangarooK
KestrelK
KingfisherK
KingletK
KiteK
KoalaI
LacewingI
LadybugL
LarkL
LeechL
LemurL
LizardL
Llama¥
LobsterL
LoonL
LorisI
LouseL
LyrebirdI
MaggotM
MagpieM
MammothI
MantisM
MarmotM
MartinI
MayflyM
MiteM
MockingbirdM
MoleM
MongooseM
MonitorM
MonkeyM
MooseI
MosquitoI
MothM
MouseN
NematodeN
NewtN
NightjarN
NuthatchO
OctopodO
OpossumO
OrioleO
OspreyO
OtterO
OwlO
OxpeckerP
PandaP
PangolinP
PantherP
ParrotP
PelicanP
PenguinP
PetrelP
PheasantP
PigP
PigeonP
PorcupineP
PrimateP
PterosaurP
PythonQ
QuadrupedQ
QuailQ
QuetzalR
RabbitR
RaccoonR
RatR
RattlesnakeR
RavenR
RhinocerosI
Rhinoceros beetleW
Ribbon wormI
Rove beetleS
SalamanderS
SauropodI
Scarab beetleS
ScorpionI
ScorpionflyS
SerpentS
SheepS
ShrewS
ShrikeS
ShrimpI
SilverfishS
SkinkS
SkunkS
SlothS
SlugS
SnailS
SnakeI
SnakeflyS
SparrowS
SpiderS
SquirrelI
Stag beetleS
StarlingS
StegosauridI
Stick insectI
StoneflyS
StorkS
SwallowS
SwanS
SwiftT
TanagerT
TapirS
TarantulaI
TermiteT
TheropodT
ThornbillI
ThripsT
ThrushT
TickI
Tiger beetleT
TitmouseT
ToadT
TortoiseT
ToucanT
TurkeyT
TurtleV
ViperV
VultureW
WalrusW
WarblerW
WarthogI
WaspW
WaxwingW
WeaselI
WeevilW
WolfW
WombatW
WoodpeckerW
WormW
WrenW
WyrmZ
Zebra
Graphics[edit]
All random creatures except werebeasts use graphic sprites found in beasts.png
and beasts_small.png
. There are 19 primary body sprites (6 are alternate-legged variations) with additional sprite layers representing secondary body parts. Several RCPs have one or more secondary sprite layers by default. A few RCPs, like quadrupeds, have more than one body sprite to randomly select from.
- * The (generic) humanoid RCP has two or no eyes (by default) depending on the type of beast/monster:
- 2 eyes: bogeymen, experiments (intelligent humanoids), night trolls
- 0 eyes: experiments (amalgamations), nightmares, everything else (which are elementals)
Gallery[edit]