Far too complex, you haven't defined what will characterize a 'mutt', will every creature which has breeds defined for it require a 'mutt' definition? If the mutt is defined with 'average' characteristics and I cross two breeds that both have a characteristic in-common yet which is deviant from average how dose it make sense for offspring to fail to reflect their parents in-common characteristics? Spontaneous re-appearance of breeds from mutts requires each individual to contain some kind of heredity information adding more complexity at the code level, furthermore will the player get to see this data or will it be an annoying mystery?
You misinterpretted what I wrote, and I think you entirely skipped the last line of what I wrote:
If attributes such as size and mass and strength and aggression come into play but are independent of breedings, you could wind up with a 120-140 lb teacut poodle at some point.
I was saying that hereditary characteristics are passed to offspring independent of breeding. If you have two different large breed dogs reproduce, you wind up with a large mutt dog as offspring. If you have two different small breed dogs reproduce, you should wind up with a small dog.
The breed is just a tag, and my suggestion for the re-appearance of breeds is to keep the world from exclusively being populated by mutts after a certain point in time.
There's no reason to define mutts in the raws, because their characteristics would be derived from their parents characterics. I think that just having a mutt breed automagically generated by the game for creatures with breeds is sufficient.
As for individuals carrying hereditary information, I believe that this is a development goal (can't find it in the devlogs or notes ATM), so carrying information about ancestors is a logical extension to that. Memory size needed to store hereditary information can be kept to a minimum by defining a MAX_GENETIC_GENERATIONS to some limit will keep creatures from killing the game engine with too much information.
The player shouldn't have access to a creatures genotypes, only phenotypes and known past breeding. If you find a mutt wandering in the forest and tame it, you have no idea what it's ancestry is. However, if you have a mutt that was bred from your purebred poodle and your purebred cockerspaniel, you should be able to access your dwarf's knowledge of the animal's ancestry.
As for re-appearnce of breeds, this does occur in nature. There are a few modern breeds of dogs that were artificially recreated by man through crossbreeding for selective characteristics. The Keeshonden is one dog that was lost and later recreated through creating breeding.
It all sounds soooo over complicated.
This is
Dwarf Fortress. Expect complexity, hidden or not.
True representation of genetics and breeding is impossible to fully capture in a game (and the game wouldn't be fun if it was
too real), so little tricks and game mechanics like this are necessary to simulate real-world processes without too closely simulating every mathematical equation that governs the real world processes.