Breeding animals - the more twisted way

Thoughts on the further development of Haven & Hearth? Feel free to opine!

Breeding animals - the more twisted way

Postby pppp » Thu Jun 06, 2019 9:50 am

This idea was written after reading this thread.

Seeking to complicate breeding in a meaningful way would do as follows:
Version A.
Basic variant. Half-baked TBH, but that's how it developed and it might be easier to understand variant B after reading this.

Create n (n=20-50) binary genes for each stat. Each gene may have simply weight of 1 or there can be some random weight value assigned to each bit at the point of world creation which would be constant for a given species. Resulting stat value is the sum of all the bit weights for those bit that are in ON/1/true state.
Mating will randomly pick bit value from one or another parent, and VERY rarely would modify the value (meaning: 1 in 1000 or 1 in 5000). That is what a basic genetic algorithm does.

A newly tamed animal would have it's genes randomly generated in such a way that the sum amounts to 10/100% stats. The important part here is to make different genes contribute to the same sum of 10 (or 100%). A baby from 2 tamed animals should have potential to get 20/200% stats (because it got lucky combo of best genes from both parents), to be 0 in everything (because bad luck, more likely outcome), to be exactly the same as parents (because somehow RNG gods made it so both parents have the same good genes) and of course the whole spectrum of outcomes between the three should be possible too.

Version B.
Full blown genetics.

Create n (n=20-50) binary genes for each stat. Each gene shall have a vector assigned to it at point of world creation. The vector shall be constant for a given species. Vector will have as many dimensions as there is stats for a given species. Vector values can be positive or negative, with some bias to the positive side. Stats of any given animal are sum of respective vector values for these genes that are in "1" state. As in version A mating will randomly pick bit value from one or another parent, and VERY rarely would modify the value.

A really nice thing would be if skin colors were also encoded on these vectors so players would be able to guess "someting someting" about the animal by looking at it's skin.

There are two variants of generating new tamed animals:
B1.
Animals are generated with baseline 10/100% stats and 0's in all gene bits. Mutations are discovered by massive breeding and managed from that point on. This variant is easier for players becuse it makes possible to identify animal genes by knowing single gene vectors (from watching mutations), knowing animal stats and it's ancestry. That will involve solving multivariable equations, but at least the number of equations can be easily made higher than the number of variables in question.

B2.
Animals are generated with random set of genes, not necessarily 10/100% stats but close to that. An example mechanics for generating a new animal is generating a number of sets and choosing the one with lowest sum((x-10)^2) (100%'s would be rescaled for the purpose of criteria). In this variant it would be much harder to identify what genes the animal has, except by growing a 0 stat animal first.

A twist to B variant is the "0" state of the gene does not encode all 0s vector but instead offers different set of values. For the sake of easier generating tamed animals there should be enough close-to-0 variants.

The result will be placing a cap on animal qualities. The exact value of the cap would be decided at the beginning of the world. The cap would be different depending on what kind of build a player wants to pursue. It will be certainly easier to achieve <max milk %> criteria than <max milk % AND max milk quantity>. Note that in multi objective optimization optimum is not just a single number.

The other result will be making raising animal qualities way harder. Acquiring new specimens from the wild will be useful early to mid game as a shortcut to generating more useful mutations. Acquiring good animals from other players will be useful at any time, until stats are maxed out which is unlikely to happen soon. If it happens, double genome length next world ¦]

Selective inbreeding will still work albeit it will be less effective. Generating some purely negative genes (vectors) at the world start might help to make inbreeding even less useful. But looking from purely philosophical point of view the problem of inbreeding is in our minds rather than in the mathematics.

Offtopic rant inside:
It is so because we have no problems culling the calf that got more than usual amount of bad genes, while we do have problems doing the same to our kid - if we hadn't we would fall into serious moral problems. That's why we find workarounds to the issue like not marrying close family members and we let accidents to regulate underperforming fellows. After all who are we to decide if someone's genes are good or bad for HIS way of life. Also, bad chances for more heirs are better than zero chances, so why choose worse option. If one looks into various gruesome war stories this behavior changes under extreme conditions. It's all logical, in a cruel way.
Again, on the contrary we have no problems to decide if a calf fits OUR needs.
pppp
 
Posts: 403
Joined: Sun Jun 20, 2010 7:30 pm

Re: Breeding animals - the more twisted way

Postby Lyrroth » Thu Jun 06, 2019 12:10 pm

taming animals is biggest chore. its fun on beginning to see them dancing and punch them into jawline but it gets boring quickly and this idea adds only unnecessary tedious on top of that fuck people tries to make one colored breed + comparing a game mechanic to irl child is the worst possible rant you could do
breeding was already made more interesting by that very selective people are breeding them in very way possible which you dont do probably and your idea would ruin their lifes as well in short terms: no. over complicating unnecessary game mechanic.
User avatar
Lyrroth
 
Posts: 428
Joined: Mon Apr 24, 2017 1:35 am

Re: Breeding animals - the more twisted way

Postby iamahh » Thu Jun 06, 2019 1:29 pm

it was already made more complicated, before you could easily pick off the bad ones, now you have to wait a lot more for something good, essentially taking a lot more time of your hearthling work day
iamahh
 
Posts: 1806
Joined: Sat Dec 12, 2015 8:23 pm

Re: Breeding animals - the more twisted way

Postby MagicManICT » Thu Jun 06, 2019 7:26 pm

ATITD uses genetic breeding algorithms for grape breeding (and calculated into the resulting wine). It was an interesting mini-game for many of the players. I'm not sure if it'd really be meaningfully different than our current mechanics, though. Someone will "crack the code" and figure out how to pinpoint a handful of stats they want.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
 
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Re: Breeding animals - the more twisted way

Postby terechgracz » Fri Jun 07, 2019 10:19 am

Instead binary chromosome we should have real positive genes, but bounded by some value. That way calculating which genes are which would be even harder. But to counteract that add big syringes and genetic laboratory which would allow to extract one gene from living animal.
ImageImageImage
ImageImageImageImage
JOIN THE OFFICIAL H&H DISCORD TODAY

♰ FORUM MODERATOR 02.01.2024 - 05.10.2024 ♰
terechgracz
Under curfew
 
Posts: 866
Joined: Wed Feb 07, 2018 5:06 pm

Re: Breeding animals - the more twisted way

Postby jorb » Fri Jul 12, 2019 9:13 pm

Daymn, that's a lot of work for very little effect, son.
"The psychological trials of dwellers in the last times will be equal to the physical trials of the martyrs. In order to face these trials we must be living in a different world."

-- Hieromonk Seraphim Rose
User avatar
jorb
 
Posts: 18437
Joined: Fri Apr 03, 2009 7:07 am
Location: Here, there and everywhere.


Return to Critique & Ideas

Who is online

Users browsing this forum: Claude [Bot], Google [Bot] and 2 guests