{"id":22624607,"url":"https://github.com/barrettotte/procjam-2018","last_synced_at":"2026-04-26T08:34:55.372Z","repository":{"id":114091058,"uuid":"154061987","full_name":"barrettotte/ProcJam-2018","owner":"barrettotte","description":"ProcJam 2018 Entry. Simulate basic population genetics on fake creatures' DNA. Concepts of mutation, crossover, fitness distribution covered.","archived":false,"fork":false,"pushed_at":"2018-10-28T18:26:01.000Z","size":27856,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T03:16:51.679Z","etag":null,"topics":["gamejam","genetic-programming","genetics","procedural-generation","procjam","simulation","unity"],"latest_commit_sha":null,"homepage":"https://barrettotte.github.io/ProcJam-2018/WebGL/index.html","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barrettotte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-10-21T23:28:56.000Z","updated_at":"2025-02-16T13:07:29.000Z","dependencies_parsed_at":"2023-06-12T13:45:28.536Z","dependency_job_id":null,"html_url":"https://github.com/barrettotte/ProcJam-2018","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"3cfa141a760bd4f3c5f169bc683a00ce1e96ca44"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/barrettotte/ProcJam-2018","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barrettotte%2FProcJam-2018","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barrettotte%2FProcJam-2018/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barrettotte%2FProcJam-2018/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barrettotte%2FProcJam-2018/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barrettotte","download_url":"https://codeload.github.com/barrettotte/ProcJam-2018/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barrettotte%2FProcJam-2018/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260245343,"owners_count":22980192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gamejam","genetic-programming","genetics","procedural-generation","procjam","simulation","unity"],"created_at":"2024-12-09T00:17:00.979Z","updated_at":"2026-04-26T08:34:55.324Z","avatar_url":"https://github.com/barrettotte.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ProcJam-2018\nProcJam 2018 Entry. Simulate basic population genetics on fake creatures' DNA. Concepts of mutation, crossover, fitness distribution covered.\n\nTry it Out Here - https://barrettotte.github.io/ProcJam-2018/WebGL/index.html\n\n## Links\n* Short video - https://youtu.be/aZF-uBzwVLA\n* Procedural Generation Jam 2018 - https://itch.io/jam/procjam\n* WebGL Build - Try it Out Here - https://barrettotte.github.io/ProcJam-2018/WebGL/index.html\n* Procedural Generation Jam 2018 Entry Itch.io Page - https://barrettotte.itch.io/simple-population-genetics-simulator\n* This idea was prototyped in Python first, https://github.com/barrettotte/Population-Genetics-Sim\n\n\n## Summary\n* This script will simulate a generation of \"creatures\" generation after generation until the ideal color allele is found.\n* Each creature has one allele in their \"DNA\" for color and is passed to offspring based on fundamentals of genetics (crossover, mutation). \n* 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.\n\n## Screenshots\n![https://github.com/barrettotte/ProcJam-2018/blob/master/screenshots/screenshot-01.PNG](https://github.com/barrettotte/ProcJam-2018/blob/master/screenshots/screenshot-01.PNG)\n\n![https://github.com/barrettotte/ProcJam-2018/blob/master/screenshots/screenshot-02.PNG](https://github.com/barrettotte/ProcJam-2018/blob/master/screenshots/screenshot-02.PNG)\n\n## Process\n* **Initialize** - Population N random DNA\n* **Selection** - Evaluate fitness, generate mating pool\n* **Reproduction** - Repeat N times, pick parents based on \"weighted random\" of mating rate\n* **Crossover** - Combine DNA through some crossover method\n* **Mutation** - Mutate child based on mutation rate\n* Add child to new generation\n* Discard old population\n* Repeat\n\n\n### Additional Process\n* A percentage of \"Top\" fitness organisms will asexually reproduce to keep their ideal DNA in the mating pool.\n* There is a small chance a random organism will asexually reproduce\n\n\n## Sources:\n* Basics of bitwise crossover/mutation http://www.obitko.com/tutorials/genetic-algorithms/crossover-mutation.php\n* Noun and Adjective Lists https://github.com/aaronbassett/Pass-phrase\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarrettotte%2Fprocjam-2018","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarrettotte%2Fprocjam-2018","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarrettotte%2Fprocjam-2018/lists"}