Open ResonantExplosion opened 6 years ago
Gene: Integer, float (0..1), float (-1..1)
Top-level: race: int, gender:int, heart:int, Texture:int, tint:float, tintfunction:int Mid-level: bodyparts models Low-level: details, minor parts.
Heart in Decoherence 1 is unused, and will be used in Decoherence 2 and Oazis. Heart provides for character "class" (special abilities) within the same race and usually is represented by character's nationality. Heart includes both race and gender plus sub-class within the same species. The idea is that all lower level models/genes reference only heart to check compatibility.
I don't like redundancy of race/gender/nationality and heart genes. Maybe, make the parenting algorithm a bit more complicated, but remove the "heart" stuff (just use it for nationality)? Thou their operation pattern is a bit different.
While child's gender is selected randomly, race is always equal to both parents (parents must have those equal to be able to have children), and nationality/heart is a strict parental int gene (cannot be ancestral gene).
Most of genes must be as independent as possible (i.e. usable for all genders and models), docked to bodypart's dock points and scaled by bodypart's scale.
Start prototyping/implementing it, especially basic genes, like race, gender, heart.