Much of this I
love, but I feel it could be abstracted another way. Instead of having "CIV_LEADER" as the top object type, let it be something like "MYTH_FIGURE" ("figure" because of "historical figure"). That way unique demons as well as other non-position-holders can share many of the same tokens with non-demon civ-leaders. Possibly all "figures"/characters/persons that appear during mythgen, including gods. Then, the mythical figure would be connected to an entity position through a token (POSITION:entity_id:position:id), and templates would use MYTH_FIGURE_TEMPLATE or maybe MYTH_FIGURE_VARIATION depending on which model ends up fitting the better. Alternatively, just leaving blanks in a MYTH_FIGURE raw for the computer to fill in could work as a sort of "template".
I'd also use CREATURE instead of RACE, because that's what the rest of the raws use.
Here's Gimrol using the structure changes I propose:
myth_person.txt
[OBJECT:MYTH_FIGURE]
[MYTH_FIGURE:GIMROL]
[NAME:GIMROL:IRONSIDES] ##First and Last name
[HISTORICAL_NICKNAME:The Thief] ##Generic controls for a nickname, with more being added on in w.g
[AGE:180] ## Mortal and likely to die without interventionalist tags or maxage tweaks in creature definition
[CREATURE:DWARF:MALE] ##token creature & caste, flexible for monstrous leaders like cyclops
[POSITION:MOUNTAIN:MONARCH] ##links with the MONARCH position of the MOUNTAIN entity
[ENTITY_FOUNDER:MOUNTAIN] ##if there is an available founder, it must be used when founding an entity of this kind
##cofounders should be allowed so no founder is left at the end of mythgen without having founded anything
[MYTH:PROMETHIAN] ##A couple of preset scenarios built in to play with, this one yields a starting artifact.
---------------------------------------------------------------------------------------------
[SKILLS] ## Allocates randomly if not defined, from creature token template
[PERSONALITY] ##
[ATTRIBUTES] ##
[APPEARANCE] ## Affected by overriding creature token for specific traits to add usually inaccessible features.
---------------------------------------------------------------------------------------------
[CREATURE_DEFINITION]
## And from this point on can define a creature text definition uniquely, such as unique interactions or seperate appearances.
----------------------------------------------------------------------------------------------
To back up my claims about versatility, I also tried describing Enkidu from the Epic of Gilgamesh:
Enkidu was a wild man created by the gods to enact their anger against Gilgamesh. This plan misfired, as the two soon became the best of friends.
[MYTH_FIGURE:ENKIDU]
[NAME:Enkidu:NO_LN] ##First and Last name, NO_LN stands for "No Last Name"
[HISTORICAL_NICKNAME:the wild man] ##Generic controls for a nickname, with more being added on in w.g
[CREATURE:HUMAN:MALE] ##token creature & caste
[SPHERE:NATURE] ##a sphere connection. Enkidu's some kind of primal person, thus NATURE.
[ORIGIN:INTENTIONAL_CREATION:ANY_GOD:FOR_VENGEANCE] ##who exactly is the creator isn't too important, ANY_GOD just means any personified deity
##the creation is intentional though, and it is done for vengeance
##probably defaults to NATURAL_BIRTH or just leaves it up to the computer
[RELATIONSHIP:MYTH_FIGURE:GILGAMESH:FRIENDSHIP] ##establishes a friendship between Enkidu and a GILGAMESH MYTH_FIGURE.
and then [SKILLS] etc.
One problem I encountered was that you'd want to specify events as well as characters, and that either takes tokens with
a lot of subtokens, or a more robust system involving some kind of "event" objects in the raws. An example would be how Gimrol is described as both the founder of a MOUNTAIN entity and the king of one. How does the computer know those are the same MOUNTAIN entities, and that he's supposed to be the first king? Enkidu being friends with Gilgamesh is another issue. He is, but not at all points of the story. "Being created to enact vengeance against someone and then instead becoming friends" is a single sentence, but it takes a lot of tokens to describe. And you need that amount of precision, otherwise recreations of pretty much any myth will be impossible, rendering moddable mythgen null.
Also, I do prefer a generalized system above one that assigns "classes" for a few specific kinds of figures (entity leaders, demons etc.), but it's difficult to draw a line of where a "figure" ends; if gods are "figures" what about forces that act with some intent during mythgen? What about generalized animal populations like "the snake" or "the animals", as already attested during the mythgen demos? What about "the one ring" from LoTR, or other sentient items?
Maybe a line shouldn't even be drawn, other than the one between actors ("figures") and events. That would maximize flexibility and the amount of stuff you could mod in, but would also require lots of safeguarding so things don't just break down e.g. when somebody tells the game that the generalized concept of humanity should be the king of a civilization. As funny as that would be.