Nice amount of answers already, thanks for posting everyone.
Will women dwarves have beards?
It will make bearded ladies, if you give it a she-dwarf and set her beard length over 0.
My current idea is that the only difference with male and female dwarves would be (family friendly) breasts. So no masculine or femine head/shoulder/hip shapes. However all parts can be made gender specific so you can make all men have huge cheeks etc.
Looks good, but i have to ask: what do you mean by no UI? do you have to re-compile with different settings?
In current version you just edit couple of text files and run the program and it gives you the result (and if I want to test group picture/random dwarf/custom dwarf I have to re-compile, but I'm adding those to text files too). I have no clear plans for the final UI yet but it would be nice to have a simple window with different controllers, preview screen and save button. We'll see.
Why such bright colors in the clothing?
To make it more appealing for kids and Nintendo fans, heh.
Yeah, I guess I should tone some of them down a little bit. I just copied most of profession related colors directly from the game.
I'm not sure how Toady will handle item colors, but I've made it possible to have material or profession specified colors or even totally unique color for each item.
---
Ah, I forgot to give any explanation on how it actually works. Here's a quick version. More detailed one might come at some point.
1. User starts program
2. It reads text files for
races
professions (colors)
materials (color and type, different types allow metallic boot and leather boot to have different sprites)
itemtypes (for example an axe has wooden handle and *material* blade)
3. Reads a creature file
RACE:DWARF
NAME:Urist McDwarf
GENDER:FEMALE
PROFESSION:MINER
COLOR:SKIN:TAN
COLOR:HAIR:BROWN
COLOR:EYE:COPPER
HAIR:BROW:HAIR:LENGTH-1000
HAIR:CHIN:HAIR:LENGTH-500
HAIR:CHEEK:HAIR:LENGTH-500
HAIR:MOUST:HAIR:LENGTH-500
HAIR:TOPHAIR:HAIR:LENGTH-900
HAIR:BACKHAIR:HAIR:LENGTH-1000
HAIR:SIDE:HAIR:LENGTH-500
ITEM:HAMMER:HOLD:SIDE-RIGHT:MAT-IRON
ITEM:AXEWAR:HOLD:SIDE-LEFT:MAT-IRON
ITEM:PANTS:LOWER:MAT-COPPER
ITEM:TUNIC:UPPER:MAT-LEATHER
ITEM:VEST:UPPER:MAT-BONE
ITEM:HIGHBOOT:FEET:SIDE-LEFT:MAT-BRASS
ITEM:LOWBOOT:FEET:SIDE-RIGHT:MAT-BRASS
ITEM:LEGGINGS:LOWER:MAT-COPPER
ITEM:COAT:UPPER:MAT-SILK
ITEM:CLOAK:UPPER:COLOR-DARK_BROWN
ITEM:CAP:HEAD:MAT-LEATHER
ITEM:HELM:HEAD:MAT-IRON
END
4. Adds race related bodyparts
5. Reads drawing order for bodyparts/items and possible tags (length, material, gender, wears/holds item in certain place...).
6. Chooses best sprite for all parts based on tags. For example if creature has an item in left hand, all left arm related parts use normalfilename_WEARHOLD.png file if possible.
Here's a chainmail example:
ITEM_ARM_ARMOR_CHAINMAIL.png and
ITEM_ARM_ARMOR_CHAINMAIL_WEARHOLD.png7. Color and combine the sprites in race specified order. This is the most time consuming part because it just dumbly goes through them all pixel-by-pixel. Current version takes about 3 seconds/dwarf.
Animation8. Saves dwarf images or uses them to combine some bigger picture.