The current implementation of family tracking is quite simplistic, tracking only father and mother for each horse. Expanding this system's complexity would more faithfully model the kind of elaborate, real-world bloodline tracking performed by animal breeders and royal families alike.
A possible implementation of this feature could involve:
A linked tree of familial relations for each individual horse
A GUI means of displaying that family tree in a readable way
A patrilineal attribute called "bloodline" or "lineage" that can be used to label breeding tracks. Settable on any horse by slapping them with a renamed sign, it passes to their children; the father's label will take precedence if both parents possess one.
Inbreeding is no longer a raw "is/isnt related" check, and instead uses some sort of unique relatedID system to determine the genetic similarity of two individuals, and perhaps also track a hidden "inbred%" attribute.
Similar to UUID, the child ID is generated by merging their relatedIDs + some individual randomness.
If the parents meet a threshold of relatedness, the inbred% of the child increases. If the parents had a non-zero inbred%, this also contributes to the final inbred% of the child.
Children with a certain threshold of inbreeding begin to exhibit defects
Breeding with dissimilar partners reduces inbreeding.
The current implementation of family tracking is quite simplistic, tracking only father and mother for each horse. Expanding this system's complexity would more faithfully model the kind of elaborate, real-world bloodline tracking performed by animal breeders and royal families alike.
A possible implementation of this feature could involve: