well i spent way more time than i should've messing with the dumb technicality of monad instances, but i got something that seems to work nicely now.
the final generator i'm using is
here are a few examples:
anyway now i really need to start working on something aside from just expanding the generator. like: actions! i have a rough syntax worked out for how they'll fit into the data file and be parsed, and after that it's just a matter of... parsing them and running them.
the goal with these challenges is, aspirationally, first week doing architecture, second week fleshing out a playable prototype. which means i need something playable in the next few days, and that means: actions + generated population + pc control of an actor, all of which are reasonably big things to do. so uh, gotta get on that.
HUMAN {
tribe = <tribes>
occupation = $tribe.occupation
p = male | female
bio = a $p.n of the seven masked tribes. a $occupation of the $tribe.name tribe, $tribe.mask, whose power is $tribe.power, and whose color is $tribe.color
description = a $p.n from the $tribe tribe, wearing a $tribe.maskspec mask. $p.xe has <tribe skintone>, a <tribe build> build, <tribe hair>. <tribal accent>.
name = <tribe name>
}
male {
g = male
n = man
xe = he
xes = he's
xyr = his
}
female {
g = female
n = woman
xe = she
xes = she's
xyr = her
}
tribe skintone = <tribe base skin> skin | <tribe base skin> skin <tribe skin accent>
tribe base skin = red-brown | grey-brown | yellow-brown | blue-black
tribe skin accent = with asymmetrical splotches of pale yellow-brown across $p.xyr <bodypart> | with dark clusters of freckles across $p.xyr <bodypart>
tribe build = lean | muscular | rangy | fat
tribe hair = with $p.xyr head shaved bald | and black hair <tribe hairstyle>
tribe hairstyle = in one long braid down $p.xyr back | in two stiff braids on the sides of $p.xyr head | shorn down to stubble | in a mohawk | in daubed dreadlocks | as close-cropped fuzz
tribal accent = $p.xyr skin is covered in a mess of silvery scars | $p.xyr skin is covered in spiraling tattoos
simple tribe name = <s><v><f> | <s><v> | <s><v><i> | <s><v><i><v><f>
tribe name = <simple tribe name> | <simple tribe name>-<v><f> | <simple tribe name>-<s><v><f> | <s><v><f>-<simple tribe name>
s = br | ch | r | l | g | b | d | z | n
v = a | e | i | o | u
f = sh | z | r | kk
i = l | r | n | d
bodypart = <base bodypart> | <base bodypart> and <base bodypart>
base bodypart = arms | legs | chest | face | back | hands | shoulders
tribes = ash | vulture | storm | jackal | fire-eater | sky | whirlwind
ash {
name = ash
power = calling up growth from the dry desert sand
mask = who wear ornate masks dyed with pale plant pigments
maskspec = laquered wood | reed | painted papyrus
color = green
occupation = farmer | wanderer | trader
}
vulture {
name = vulture
power = the ability to glide on hot desert thermals
mask = who wear masks in the shape of birds and flying spirits
maskspec = vulture | bat | crow
color = black
occupation = adventurer | wanderer | trader
}
storm {
name = storm
power = calling rains and finding springs
mask = who wear masks made in the image of howling storm-spirits
maskspec = northern sandstorm-spirit | southern sandstorm-spirit | monsoon spirit | dust wind spirit | night wind spirit
color = blue
occupation = wanderer | witch | trader
}
jackal {
name = jackal
power = taming the wild beasts of the desert
mask = who wear masks in the shape of the desert animals
maskspec = jackal | fox | wolf | scorpion | serpent | spider | coyote | cottontail | jackalope | roadrunner
color = brown and grey
occupation = adventurer | hunter | raider | trader
}
fire-eater {
name = fire-eater
power = swallowing fire and breathing it back out
mask = who wear masks made of many overlapping plates of opaque burnt glass
maskspec = <glass mask>
color = red
occupation = adventurer | witch | raider
}
glass mask = fulgurite plate | <glass type> <glass color> glass | soldered shattered-glass
glass type = rough | smooth | pebbled | striated
glass color = brown | green
sky {
name = sky
power = calling down lightning and sickness
mask = who wear complex-edged, deeply carved masks
maskspec = radial burst | spiky | lightningbolt-shaped
color = yellow
occupation = adventurer | witch | poet | bandit | raider | artist
}
whirlwind {
name = whirlwind
power = calling up sandstorms
mask = who wear blank, unadorned masks
maskspec = <blank mask>
color = white
occupation = adventurer | bandit | witch | raider | scavenger
}
blank mask = blank <blank shape> <blank variant>
blank shape = oval | circular
blank variant = with a single eye-hole | with three eye-holes | with no eye-holes
HUMAN {
location = <locations>
occupation = $location.occupation
p = male | female
bio = a human $occupation, $location.from
desc = a $p.n from the $location . $p.xes <human build>, with <human skin> skin.
name = <human name>
}
human build = well-muscled | lean | muscular | thin | fat | thick-bodied
human skin = brown | red-brown | yellow-brown | olive
human name = <h syl><h syl><hf> | <h syl><h syl><h syl><hf>
h syl = <hs><hv>
hs = f | m | b | th | s
hv = a | e | i | o | u
hf = s | e
locations = painted cliffs | acid flats | mesa-temples | northern steppe | walled oasis-garden cities | old ruins
painted cliffs {
from = one of the dwellers of the painted cliffs
occupation = adventurer | scavenger | wanderer | exile | artist | bard
}
acid flats {
from = one who roosts in stilt-huts on the acid flats
occupation = adventurer | scavenger | wanderer | exile
}
mesa-temples {
from = a follower of strange gods, from the mesa-temples
occupation = adventurer | exile | priest | magician
}
northern steppe {
from = from the farming communities of the northern steppe
occupation = farmer | wanderer | trader
}
walled oasis-garden cities {
from = a guildmember of the walled oasis-garden cities
occupation = merchant | trader | mercenary
}
old ruins {
from = from the glassblowers who nest in the hulls of ancient ruins
occupation = scavenger | wanderer | glassblower | silversmith | artificer
}
ORC {
type = <orc type>
bio = an $type, from <orc locations>
desc = a <orc adjective> $type with <orc skin>. $type.desc $type.accent
name = <orc name>
}
orc locations = the great machine cities | the barbarian cities | the southern tribes
orc type = orc | ogre
orc adjective = big | fat | burly | well-muscled
orc skin = two-tone <orc skin color> and <orc skin color> skin, stitched together with ragged seams | <orc skin color> skin | <orc skin color> skin, <orc skin accent>
orc skin color = green | emerald | green-black | red-black | yellow-green | blue-green | dark green
orc skin accent = pebbled with rocky <orc scute color> scutes | with <orc coloration> patches across his <bodypart>
orc scute color = brown | black | grey
orc coloration = lighter | darker | leathery
orc {
desc = .
accent = he has enormous tusks that nearly reach his eyes. |
he has nubby horns growing across his shoulders and from his brow. |
his fingernails are ragged black talons.
}
ogre {
desc = he is towering, half again as tall as a normal orc.
accent = his belly splits open into a drooling, slavering mouth. |
his face is covered in a mess of gnarled, tightly-knotted horns. |
his entire body is sheened in a layer of thick slime. |
ethereal black flames billow up from his body.
}
orc name = <orc simple name> | <orc simple name> <orc participle>-<orc simple name>
orc simple name = <os><ov><of> | <oo><ov><of><os><ov><of>
orc participle = gra | bash | du | bur | cha
os = gr | r | l
ov = i | o | ô | u | û
of = z | zz | ž | k | ck | m | t | r | š
oo = <os> | ch | b
MOON RABBIT {
p = male | female
bio = a moon rabbit, from the dusty warrens beneath the sand
desc = $p.xe is a <moon rabbit fur>-furred moon rabbit, with <moon rabbit eye> eyes.
occupation = wanderer | scavenger | exile
name = <moon rabbit name>
}
moon rabbit fur = black | brown | tan | cream | red-brown
moon rabbit eye = red | white | black | hazel
moon rabbit name = <m syl><m syl><m syl> | <m syl><m syl><m syl><m syl>
m syl = <ms><mv>
ms = b | f | g | h | m | n | l | ll
mv = a | e | i | w | y | ą | ę | į | ų
EFREET {
bio = an efreet, one of the descendants of the phoenix king
desc = an ever-burning efreet. his body is like <efreet body>, and wreathed in <efreet flame> flames
}
efreet body = broken porcelain, mended with gold seams | complex geometrical sculpture | smoky glass, blackened in spiraling patterns from heat
efreet flame = red | green | blue | black | pale | colorless
GOAT MAN {
clan = <clans>
build = $clan.build
bio = a goat-man of the $clan clan, from the eastern mountains
desc = a $build goat-man with <goat man horns> sprouting from his goatlike head. he's got <goat man fur adjective> <goat man fur> fur, with <goat man skin> skin visible where it thins. $clan.accent
name = <goat man name>
}
clans = moon | star | fire | dark | hunger
moon {
build = muscular | lean
accent = his horns and hooves glow with a dim, silvery light.
}
star {
build = lean | muscular | lithe
accent = his fur is dotted with glowing paint.
}
fire {
build = muscular | gigantic | solidly-build
accent = a golden witch-flame floats above his brow, between his horns.
}
dark {
build = muscular | lean
accent = his eyes are flat black.
}
hunger {
build = thin
accent = his body is gaunt and bony.
}
goat man skin = black | brown | grey | pale blue
goat man fur adjective = thick | glossy | coarse | thin | scraggly
goat man fur = black | red | brown
goat man horns = <goat man horn count> <goat man horn type> horns
goat man horn count = two | four | six | a tangled wreath of
goat man horn type = loosely arching | tightly-curled | swept forward
goat man name = <go><gf>
go = <goo><gv><gc>
gf = <gp><gv><gd>
goo = gh | kh | c
gc = r | l | v | m
gv = a | e | i | o | u
gp = b | p | t | k | r
gd = d | b | p | g | k
BEAST {
bio = a wild beast from the deep wasteland
desc = a monster in the shape of <beast legs> <beast animal>, <beast accent>
}
beast legs = a six-legged | an eight-legged
beast animal = wolf | goat | serpent
beast accent = with two heads | with leathery wings | with drooling fangs | covered in sharp quills
PEOPLE = HUMAN | ORC | MOON RABBIT | EFREET | GOAT MAN | BEASTthe final generator i'm using is
PEOPLE, and the program kindly informs me that there are 501,545,375,139,762 distinct combinations available. (the vast, vast majority of them are from names)here are a few examples:
ORC {
name: bozzgriš bur-lotrôt
desc: a fat ogre with dark green skin, with lighter patches across his shoulders and hands. he is towering, half again as tall as a normal orc. ethereal black flames billow up from his body.
bio: an ogre, from the southern tribes
type: ogre
}
ORC {
name: bušrim cha-rirruš
desc: a well-muscled ogre with green-black skin, with darker patches across his legs and face. he is towering, half again as tall as a normal orc. his face is covered in a mess of gnarled, tightly-knotted horns.
bio: an ogre, from the southern tribes
type: ogre
}
ORC {
name: chomlûk du-bukrôr
desc: a burly ogre with red-black skin, with lighter patches across his face. he is towering, half again as tall as a normal orc. his entire body is sheened in a layer of thick slime.
bio: an ogre, from the barbarian cities
type: ogre
}
ORC {
name: bušgruck du-lûšgrôz
desc: a burly orc with yellow-green skin, with darker patches across his back and face. . his fingernails are ragged black talons.
bio: an orc, from the southern tribes
type: orc
}
ORC {
name: bišgriz gra-bitlôzz
desc: a burly ogre with green-black skin, with leathery patches across his shoulders and face. he is towering, half again as tall as a normal orc. ethereal black flames billow up from his body.
bio: an ogre, from the southern tribes
type: ogre
}
ORC {
name: butlût gra-chuzrick
desc: a well-muscled ogre with emerald skin, with darker patches across his arms. he is towering, half again as tall as a normal orc. ethereal black flames billow up from his body.
bio: an ogre, from the great machine cities
type: ogre
}
ORC {
name: ložgrôck cha-grizzrock
desc: a well-muscled orc with red-black skin, with lighter patches across his chest and hands. . he has enormous tusks that nearly reach his eyes.
bio: an orc, from the southern tribes
type: orc
}
ORC {
name: rûmluž du-rôzzroz
desc: a big ogre with green-black skin, with leathery patches across his face and back. he is towering, half again as tall as a normal orc. his belly splits open into a drooling, slavering mouth.
bio: an ogre, from the barbarian cities
type: ogre
}
ORC {
name: lizgrik cha-chôzzgruš
desc: a big ogre with red-black skin, with lighter patches across his hands and back. he is towering, half again as tall as a normal orc. his entire body is sheened in a layer of thick slime.
bio: an ogre, from the great machine cities
type: ogre
}
ORC {
name: lošgrik bash-bûkluz
desc: a burly orc with green-black skin, with lighter patches across his face and face. . his fingernails are ragged black talons.
bio: an orc, from the southern tribes
type: orc
}
HUMAN {
name: buniz-lukk
description: a woman from the jackal tribe, wearing a coyote mask. she has red-brown skin with dark clusters of freckles across her back and back, a rangy build, and black hair in daubed dreadlocks. her skin is covered in spiraling tattoos.
bio: a woman of the seven masked tribes. a adventurer of the jackal tribe, who wear masks in the shape of the desert animals, whose power is taming the wild beasts of the desert, and whose color is brown and grey
p: female
occupation: adventurer
tribe: jackal
}
HUMAN {
name: gukk-lolir
description: a woman from the storm tribe, wearing a southern sandstorm-spirit mask. she has red-brown skin with asymmetrical splotches of pale yellow-brown across her shoulders and arms, a rangy build, with her head shaved bald. her skin is covered in spiraling tattoos.
bio: a woman of the seven masked tribes. a wanderer of the storm tribe, who wear masks made in the image of howling storm-spirits, whose power is calling rains and finding springs, and whose color is blue
p: female
occupation: wanderer
tribe: storm
}
HUMAN {
name: zer-briler
description: a man from the whirlwind tribe, wearing a blank circular with no eye-holes mask. he has yellow-brown skin with asymmetrical splotches of pale yellow-brown across his shoulders and face, a rangy build, and black hair in daubed dreadlocks. his skin is covered in spiraling tattoos.
bio: a man of the seven masked tribes. a raider of the whirlwind tribe, who wear blank, unadorned masks, whose power is calling up sandstorms, and whose color is white
p: male
occupation: raider
tribe: whirlwind
}
HUMAN {
name: doz-ralush
description: a man from the storm tribe, wearing a monsoon spirit mask. he has blue-black skin with dark clusters of freckles across his arms and chest, a muscular build, with his head shaved bald. his skin is covered in a mess of silvery scars.
bio: a man of the seven masked tribes. a wanderer of the storm tribe, who wear masks made in the image of howling storm-spirits, whose power is calling rains and finding springs, and whose color is blue
p: male
occupation: wanderer
tribe: storm
}
HUMAN {
name: bidesh-diz
description: a man from the fire-eater tribe, wearing a pebbled green glass mask. he has grey-brown skin with dark clusters of freckles across his shoulders and shoulders, a fat build, and black hair in daubed dreadlocks. his skin is covered in a mess of silvery scars.
bio: a man of the seven masked tribes. a witch of the fire-eater tribe, who wear masks made of many overlapping plates of opaque burnt glass, whose power is swallowing fire and breathing it back out, and whose color is red
p: male
occupation: witch
tribe: fire-eater
}
HUMAN {
name: rikk-lalekk
description: a woman from the ash tribe, wearing a painted papyrus mask. she has red-brown skin with dark clusters of freckles across her hands and chest, a fat build, and black hair as close-cropped fuzz. her skin is covered in a mess of silvery scars.
bio: a woman of the seven masked tribes. a farmer of the ash tribe, who wear ornate masks dyed with pale plant pigments, whose power is calling up growth from the dry desert sand, and whose color is green
p: female
occupation: farmer
tribe: ash
}
HUMAN {
name: daliz-liz
description: a woman from the jackal tribe, wearing a coyote mask. she has red-brown skin with asymmetrical splotches of pale yellow-brown across her chest and chest, a muscular build, and black hair in one long braid down her back. her skin is covered in spiraling tattoos.
bio: a woman of the seven masked tribes. a hunter of the jackal tribe, who wear masks in the shape of the desert animals, whose power is taming the wild beasts of the desert, and whose color is brown and grey
p: female
occupation: hunter
tribe: jackal
}
HUMAN {
name: giz-ludikk
description: a woman from the whirlwind tribe, wearing a blank circular with no eye-holes mask. she has red-brown skin with dark clusters of freckles across her shoulders and back, a rangy build, and black hair in one long braid down her back. her skin is covered in spiraling tattoos.
bio: a woman of the seven masked tribes. a bandit of the whirlwind tribe, who wear blank, unadorned masks, whose power is calling up sandstorms, and whose color is white
p: female
occupation: bandit
tribe: whirlwind
}
HUMAN {
name: brez-girukk
description: a man from the fire-eater tribe, wearing a rough green glass mask. he has blue-black skin with dark clusters of freckles across his face and legs, a fat build, and black hair in daubed dreadlocks. his skin is covered in a mess of silvery scars.
bio: a man of the seven masked tribes. a adventurer of the fire-eater tribe, who wear masks made of many overlapping plates of opaque burnt glass, whose power is swallowing fire and breathing it back out, and whose color is red
p: male
occupation: adventurer
tribe: fire-eater
}
HUMAN {
name: lez-bralash
description: a woman from the jackal tribe, wearing a spider mask. she has blue-black skin with dark clusters of freckles across her shoulders and back, a lean build, and black hair as close-cropped fuzz. her skin is covered in spiraling tattoos.
bio: a woman of the seven masked tribes. a adventurer of the jackal tribe, who wear masks in the shape of the desert animals, whose power is taming the wild beasts of the desert, and whose color is brown and grey
p: female
occupation: adventurer
tribe: jackal
}
MOON RABBIT {
name: lillębagų
occupation: exile
desc: she is a brown-furred moon rabbit, with hazel eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: mwbafwlw
occupation: wanderer
desc: she is a brown-furred moon rabbit, with white eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: lųmifįlw
occupation: wanderer
desc: she is a brown-furred moon rabbit, with hazel eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: hymįlellį
occupation: scavenger
desc: she is a brown-furred moon rabbit, with hazel eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: mefybali
occupation: wanderer
desc: he is a red-brown-furred moon rabbit, with hazel eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: male
}
MOON RABBIT {
name: nyllwhygą
occupation: wanderer
desc: she is a red-brown-furred moon rabbit, with red eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: menebųba
occupation: scavenger
desc: she is a red-brown-furred moon rabbit, with black eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: nęfwnwly
occupation: scavenger
desc: she is a brown-furred moon rabbit, with white eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: llwbąmįllį
occupation: exile
desc: she is a brown-furred moon rabbit, with black eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
MOON RABBIT {
name: hwnybąllų
occupation: scavenger
desc: she is a cream-furred moon rabbit, with red eyes.
bio: a moon rabbit, from the dusty warrens beneath the sand
p: female
}
GOAT MAN {
name: ghulkeg
desc: a solidly-build goat-man with six swept forward horns sprouting from his goatlike head. he's got thin black fur, with black skin visible where it thins. a golden witch-flame floats above his brow, between his horns.
bio: a goat-man of the fire clan, from the eastern mountains
build: solidly-build
clan: fire
}
GOAT MAN {
name: gholpak
desc: a muscular goat-man with a tangled wreath of loosely arching horns sprouting from his goatlike head. he's got thin black fur, with pale blue skin visible where it thins. his fur is dotted with glowing paint.
bio: a goat-man of the star clan, from the eastern mountains
build: muscular
clan: star
}
GOAT MAN {
name: ghavrid
desc: a lean goat-man with two loosely arching horns sprouting from his goatlike head. he's got thin red fur, with black skin visible where it thins. his horns and hooves glow with a dim, silvery light.
bio: a goat-man of the moon clan, from the eastern mountains
build: lean
clan: moon
}
GOAT MAN {
name: ghompud
desc: a solidly-build goat-man with a tangled wreath of swept forward horns sprouting from his goatlike head. he's got glossy brown fur, with black skin visible where it thins. a golden witch-flame floats above his brow, between his horns.
bio: a goat-man of the fire clan, from the eastern mountains
build: solidly-build
clan: fire
}
GOAT MAN {
name: ghuvtuk
desc: a muscular goat-man with two tightly-curled horns sprouting from his goatlike head. he's got scraggly black fur, with brown skin visible where it thins. his horns and hooves glow with a dim, silvery light.
bio: a goat-man of the moon clan, from the eastern mountains
build: muscular
clan: moon
}
GOAT MAN {
name: ghultob
desc: a muscular goat-man with two tightly-curled horns sprouting from his goatlike head. he's got coarse red fur, with black skin visible where it thins. his fur is dotted with glowing paint.
bio: a goat-man of the star clan, from the eastern mountains
build: muscular
clan: star
}
GOAT MAN {
name: khimteg
desc: a lean goat-man with six loosely arching horns sprouting from his goatlike head. he's got thin brown fur, with grey skin visible where it thins. his eyes are flat black.
bio: a goat-man of the dark clan, from the eastern mountains
build: lean
clan: dark
}
GOAT MAN {
name: khevtag
desc: a lean goat-man with six loosely arching horns sprouting from his goatlike head. he's got thick red fur, with grey skin visible where it thins. his horns and hooves glow with a dim, silvery light.
bio: a goat-man of the moon clan, from the eastern mountains
build: lean
clan: moon
}
GOAT MAN {
name: calbep
desc: a lean goat-man with two tightly-curled horns sprouting from his goatlike head. he's got coarse brown fur, with black skin visible where it thins. his fur is dotted with glowing paint.
bio: a goat-man of the star clan, from the eastern mountains
build: lean
clan: star
}
GOAT MAN {
name: calpob
desc: a muscular goat-man with two tightly-curled horns sprouting from his goatlike head. he's got glossy black fur, with brown skin visible where it thins. his eyes are flat black.
bio: a goat-man of the dark clan, from the eastern mountains
build: muscular
clan: dark
}anyway now i really need to start working on something aside from just expanding the generator. like: actions! i have a rough syntax worked out for how they'll fit into the data file and be parsed, and after that it's just a matter of... parsing them and running them.
the goal with these challenges is, aspirationally, first week doing architecture, second week fleshing out a playable prototype. which means i need something playable in the next few days, and that means: actions + generated population + pc control of an actor, all of which are reasonably big things to do. so uh, gotta get on that.