• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Discussion] Importing real world genetics into Pokemon

3
Posts
8
Years
    • Seen Aug 18, 2022
    I have never liked the breeding system of the main pokemon games, as I think that It is too far away from what real world selective breeding works. In real life, selectively breeding Pokémon strong in one trait should progressively produce stronger Pokémon (that's how we have been breeding for fatter pigs and faster horses through history). Also, interbreeding (which is far too common in pokemon games) should have disastrous consequences (unless done right).

    So, now that I am making a pokemon engine for GMS2, I have designed a radically different breeding system based on real world genetics.

    Some definitions:
    Spoiler:


    How the system works
    Each stat IV is calculated its base IV and the 2 alleles for the three loci that control that stat:

    Base IVs:
    Simple, a number between 0 and 10.

    Genes:
    Three genes (loci) control each stat. This represent specific genes that have a massive contribution to the trait of interest. For example, in the case of a charizard's attack IV, these three genes could represent a keratin (claw strength), a dentin protein (teeth strength) and a myosin (muscle strength).

    For every locus there are 12 possible alleles. Locus 1 and 2 have alleles that add some value between 0.6 and 7.2 and are codominant (both alleles express, so both alleles add to the base). Locus 3 contains multiplicative alleles, 6 of which have no effect and are dominant, and 6 of which are recessive and can be deleterious (0.5x-0.8x) or beneficial (1.25x to 1.5x), l. When in locus three there is a dominant and a recessive allele, only the dominant has effect, when there are 2 recessive alleles, both express, but with a limit from 0.5 to 1.5. This represent that some genes are more important that others to determine a trait, and that some specific alleles can dramatically improve o damage a trait. For instance, in the previous charizard example, it is worthless having string teeth and claws if its muscles are very weak.

    When two Pokémon breed, the baby pokemon gets a random a base IV between 1-10 (this simulates non Mendelian inheritance of complex polygenic traits plus random mutation), then it has a 50% chance to change its base IV to the that of his father or mother if those are better (this is only an anti-frustration measure…)

    Then, the baby pokemon gets for each locus one random allele from the mother and other from the father. Then there is a chance of random mutation that changes one allele to other (it is way more probable to change to a similar allele, so +1 to +2 is easier than +1 to +12)

    Finally, the IV is calculated as: IV = (Base IV + Locus1 value + locus2 value) * Locus3 value. Then stats would be calculated normally using those IVs, EVs and level.

    Gameplay implications:
    • Getting pokemon with decent IVs (around 25 in every stat) through breeding would be easy (5-10 generations ).
    • Breeding for a perfect IV in one stat would be possible without knowing anything about the pokemon's genotype, simply breeding the pokemon with the best IV in that stat (that is how selective breeding works), however, this can have the side effect of reducing the rest of the stats 8just as selective breeding for a specific train in real life).
    • To get a perfect 5/6 31 IV pokemon is a bit complex. It is needed to progressively introduce the best multiplicative alelles in the breeding chain and avoid uncontrolled inbreeding. It is les random and, in my opinion, way funnier than the original pokemon system
    I have programed this system as a part of the pokemon engine that I am making for Game Maker Studio 2.

    I have made a small demo app (for windows) so you can text the system if you want. It is an a simple eevee breeding farm. I also have attached the editable GMS2 project file.

    Compiled application: https://drive.google.com/file/d/1LuJ2_mwBV3iq9C5Hc2kx5siqEmIWD_LX/view?usp=sharing
    GMS2 proyect file: https://drive.google.com/file/d/1Jxr7FmvBXvkEJJk8D9xA0xob6_sUhf4k/view?usp=sharing

    EEVEE.png


    Instructions
    Spoiler:


    It should also be possible to port this system or something similar to Pokémon Essentials and maybe, with a lot of effort, to decompiled roms.
     
    95
    Posts
    4
    Years
  • I too have been studying a way to overhaul the breeding. Personally, I am not at all a fan of the vanilla mechanics that encourage mass reproduction by hundreds of eggs and give me a feeling of being in an industrial hatchery.
    Special mention to inbreeding which is clearly encouraged over several generations.
    Egg groups also have poor logic (ex: Blaziken who can copulate with Dewgong, but not with a bird).
    This is my personal opinion, but it's better to facilitate the possibility of making a genetically imperfect Pokémon perfect (mints, patches, bottle caps...), if possible without being forced to reach level 100. (The battle tower is at level 50.)
    The ones who followed us in our adventures have the greatest sentimental value. Not the one hatched from a selection of 300 eggs (and the 299 others thrown in the crusher).

    Temtem has a more realistic and balanced reproduction system. Types replace egg groups (I'm less shocked to mate a turtle and a fish than two unrelated Pokémon), and there is a fertility gauge that limits the number of children each creature can have (8 maximum in case of perfect fertility). In return, the player has more control over what is inherited. It's much less random than Pokémon and its 1 in 100 chance of having 6 perfect IVs with 2 parents with 5 IVs, despite the Destiny Knot.

    Afterwards, pushing the realism to the extreme is complicated, or we must limit ourselves to a limited influence. (In your case: only the IVs... and even then, you allow a random number from 0 to 10).
    We must also try to keep the vanilla forced transmission mechanisms (everstone, destiny knot ...).

    For my part, I simplified the allele dominance system by establishing that the dominant one will be the one positioned in first position.
    The second allele is not expressed, but is used to detect genetic diversity (inbreeding and poor genetic diversity reduce the fertility), and it can be transmitted.
    Except in the case of forced transmission, during each fertilization, each parent randomly transmits one of its two alleles (the dominant or the recessive) and the dominant allele is randomly determined for the child.

    We thus obtain a system close to reality and which allows me to cover as many cases as the Personality value handled in Gen 3. It also serves as an anti-cheat (legality checker).
    I divided the genetic heritage into 16 chromosomes (including 4 which have almost no impact on the phenotype). Some are more likely to mutate than others.

    I wrote this 5-page document, which is currently a draft.
    https://www.sacredphoenix.fr/res/Telechargements/PDF/GDD/Pokemon DNA_EN.pdf
    I will have to code all of this someday. At least it's written down, the idea won't get lost.
     
    3
    Posts
    8
    Years
    • Seen Aug 18, 2022
    This is my personal opinion, but it's better to facilitate the possibility of making a genetically imperfect Pokémon perfect (mints, patches, bottle caps...), if possible without being forced to reach level 100. (The battle tower is at level 50.)
    The ones who followed us in our adventures have the greatest sentimental value. Not the one hatched from a selection of 300 eggs (and the 299 others thrown in the crusher).

    This is true. While a genetically superior pokemon trained to the max should be better than an equally trained inferior pokemon, what is max training?
    A possible way of achieving that may be setting a higher EV limit to stats with lower IVs, so that, for example, a pokemon with an attack IV of 15 may partially compensate by having a limit of 304 EVs for attack (if my mental math is correct, those would give similar stats as having 28 IVs)

    Maybe the filosophy of IVs and EVs should change from better IVs = higher potential, to better IVs = easier to achieve max potential.
     

    looneyman1

    The Psycho Pokemon
    1,492
    Posts
    10
    Years
    • he/him
    • Seen today
    With the affrementioned issue of blaziken mating with dewgong as opposed to a bird, I think gamefreak's logic there is Blaziken is a flightless bird hence why it is in the field egg group, but the overall idea of egg groups at all is nonsensical from the get go all the same. A blastoise can only get mirror coat from a male corsola for example most of the time, which is insane due to the fact corsola, a coral pokemon (which is technicaly a dead coral pollyp whos remains calcified into a rocky shell on the seabed which brings another issue to the fold if you think about it) is an invertibrate which separated from the vertibrate clade in the Cambrian era, and turtles only really began appearing in the late Jurassic if memory serves. The genetic differences between a squirtle/wortortle/blastoise would be too significant for them to interbreed at all, and even then coral pollyps due to being relatives of jellyfish are either asexual or they have both male and female genitals if I recall correctly.

    And even then, in the case of blaziken, I would expect it to be more likely to breed with other flightless birds, or at the least what would typcially constitute as a fowl compared to ducks, pigeons, hawks, ect. as blaziken, being a chicken, is supposedly a descendant of the Asian Jungle Fowl.
     
    Back
    Top