barrettotte / ProcJam-2018

ProcJam 2018 Entry. Simulate basic population genetics on fake creatures' DNA. Concepts of mutation, crossover, fitness distribution covered.

Home Page:https://barrettotte.github.io/ProcJam-2018/WebGL/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ProcJam-2018

ProcJam 2018 Entry. Simulate basic population genetics on fake creatures' DNA. Concepts of mutation, crossover, fitness distribution covered.

Try it Out Here - https://barrettotte.github.io/ProcJam-2018/WebGL/index.html

Links

Summary

  • This script will simulate a generation of "creatures" generation after generation until the ideal color allele is found.
  • Each creature has one allele in their "DNA" for color and is passed to offspring based on fundamentals of genetics (crossover, mutation).
  • Depending on how close the creature's color allele is to the ideal allele, it is given a fitness value which affects its chances of reproducing with another creature.

Screenshots

https://github.com/barrettotte/ProcJam-2018/blob/master/screenshots/screenshot-01.PNG

https://github.com/barrettotte/ProcJam-2018/blob/master/screenshots/screenshot-02.PNG

Process

  • Initialize - Population N random DNA
  • Selection - Evaluate fitness, generate mating pool
  • Reproduction - Repeat N times, pick parents based on "weighted random" of mating rate
  • Crossover - Combine DNA through some crossover method
  • Mutation - Mutate child based on mutation rate
  • Add child to new generation
  • Discard old population
  • Repeat

Additional Process

  • A percentage of "Top" fitness organisms will asexually reproduce to keep their ideal DNA in the mating pool.
  • There is a small chance a random organism will asexually reproduce

Sources:

About

ProcJam 2018 Entry. Simulate basic population genetics on fake creatures' DNA. Concepts of mutation, crossover, fitness distribution covered.

https://barrettotte.github.io/ProcJam-2018/WebGL/index.html


Languages

Language:C# 100.0%