{"id":21565873,"url":"https://github.com/yoc00lig/evolution-simulation","last_synced_at":"2026-05-18T18:35:43.665Z","repository":{"id":149391317,"uuid":"573086588","full_name":"YoC00lig/Evolution-Simulation","owner":"YoC00lig","description":"This is my first project created using Java and the JavaFX framework. It showcases a simulation of evolution based on Darwin's theory.  Allows running multiple simulations simultaneously. 🐌","archived":false,"fork":false,"pushed_at":"2023-06-18T11:14:44.000Z","size":15052,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T12:11:21.180Z","etag":null,"topics":["agh-ust","evolution-simulation","java","javafx","life-simulation","po","project","simulation"],"latest_commit_sha":null,"homepage":"","language":"Java","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/YoC00lig.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-01T17:06:46.000Z","updated_at":"2024-03-13T22:58:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"b1a96a83-0fcd-422f-831a-f62b6337ddf9","html_url":"https://github.com/YoC00lig/Evolution-Simulation","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoC00lig%2FEvolution-Simulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoC00lig%2FEvolution-Simulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoC00lig%2FEvolution-Simulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoC00lig%2FEvolution-Simulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YoC00lig","download_url":"https://codeload.github.com/YoC00lig/Evolution-Simulation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244160064,"owners_count":20408022,"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":["agh-ust","evolution-simulation","java","javafx","life-simulation","po","project","simulation"],"created_at":"2024-11-24T10:22:20.063Z","updated_at":"2026-05-18T18:35:43.620Z","avatar_url":"https://github.com/YoC00lig.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e Evolution-simulation project 🌎 🌍 🌏 \u003c/h1\u003e\n\n\u003cp\u003e The application enables the user to create own simulation with selected parameters and monitoring statistics related to the number of deaths, average energy level, free fields etc. \u003c/p\u003e\n\u003cp\u003e Several simulations can be run simultaneously, so it is possible to keep track and compare results.\u003c/p\u003e\n\n\u003ch2\u003e💡 Idea description: \u003c/h2\u003e\n\u003cp\u003e The idea of this project is based on Darwin's theory. Every day the animals move, eat, \nreproduce and die. Each of them has a certain amount of energy which is lost by performing daily \nactivities and gained by eating grass. They have their own genotype assigned at birth that \ndetermines their next move and which they partially inherit from their parents.\u003c/p\u003e\n\n\u003cp\u003e Grass doesn't grow the same everywhere. As in the normal world, it is more likely to grow \nin preferred fields. The location of these fields depends on the preferences selected at the start.\u003c/p\u003e\n\n\u003cp\u003e The world is not fair. Is there such a configuration that will help animals survive as \nlong as possible? Check it yourself.\u003c/p\u003e\n\u003cimg src=\"/readme/start.gif\"\u003e\n\n\u003ch2\u003e 🛠 Core technology stack: \u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e Java 17 \u003c/li\u003e\n\u003cli\u003e Gradle \u003c/li\u003e\n\u003cli\u003e JavaFX \u003c/li\u003e\n\u003cli\u003e The icons have been sourced from \u003ca href=\"https://www.flaticon.com\"\u003ehere\u003c/a\u003e. \u003c/li\u003e\n\u003c/ul\u003e\n\n\n\u003ch2\u003e 🐌 ☘️ Default simulation demo: \u003c/h2\u003e\n\u003cp\u003e To get information about the animal you have to click \"STOP\" button and then click on the animal. \u003c/p\u003e\n\u003cp\u003e To continue the simulation, click the \"START\" button. \u003c/p\u003e\n\u003cp\u003e To close the simulation, click the \"EXIT\" button. \u003c/p\u003e\n\u003cimg src=\"/readme/demo.gif\"\u003e\n\n\u003ch2\u003e 🔎  Input parameters: \u003c/h2\u003e\n\u003cul\u003e \n  \u003cli\u003e \u003cstrong\u003e Save data \u003c/strong\u003e - saving to CSV file\u003c/li\u003e\n  \u003cli\u003e \u003cstrong\u003e Width, height\u003c/strong\u003e - map dimensions\u003c/li\u003e\n  \u003cbr\u003e\n  \u003cli\u003e \u003cstrong\u003ePredistination mode: \u003c/strong\u003e\n\u003cul\u003e \n\u003cli\u003e \u003cem\u003etrue\u003c/em\u003e - Animal's movements are determined by consecutive numbers in the genotype \u003c/li\u003e\n  \u003cli\u003e \u003cem\u003efalse\u003c/em\u003e - In 80% of cases, a animal's movements are determined by the next gene in the genotype. In 20% of cases, a random gene is selected. \u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n  \u003cli\u003e \u003cstrong\u003e Toxic-dead mode:\u003c/strong\u003e\n\u003cul\u003e \n\u003cli\u003e \u003cem\u003etrue\u003c/em\u003e - Grass grows more often where the fewest animals have died. \u003c/li\u003e\n\u003cli\u003e \u003cem\u003efalse\u003c/em\u003e - Grass grows more often at the equator. \u003c/li\u003e\n\u003c/ul\u003e\n  \u003cli\u003e  \u003cstrong\u003e Is-crazy mode: \u003c/strong\u003e\n\u003cul\u003e \n\u003cli\u003e \u003cem\u003etrue\u003c/em\u003e - Mutation reduces/increases the gene by one. \u003c/li\u003e\n\u003cli\u003e \u003cem\u003efalse\u003c/em\u003e - Mutation changes a gene to a randomly selected gene. \u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/li\u003e\n\u003cli\u003e \u003cstrong\u003e hell's portal mode: \u003c/strong\u003e\n\u003cul\u003e \n  \u003cli\u003e \u003cem\u003etrue\u003c/em\u003e - When the animal goes beyond the edge of the map, it ends up in a magical portal. There, its energy decreases the same as in the case of reproduction. After that, the animal is moved anywhere on the map.\u003c/li\u003e\n\u003cli\u003e \u003cem\u003efalse\u003c/em\u003e - If the animal goes beyond the northern or southern edge, it changes its direction by 180 degrees. If it goes beyond the east/west edge, it will show up on the opposite side.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cbr\u003e\n\u003cli\u003e \u003cstrong\u003ereproduction energy\u003c/strong\u003e - The energy an animal needs to be able to reproduce. \u003c/li\u003e\n\u003cli\u003e \u003cstrong\u003eplant energy\u003c/strong\u003e - The energy an animal gains from eating a plant. \u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e initial animal energy \u003c/strong\u003e- The energy each animal receives at the start of the simulation. \u003c/li\u003e\n\u003cli\u003e \u003cstrong\u003estart number of animals/plants\u003c/strong\u003e - Initial number of animals/plants at the start of the simulation. \u003c/li\u003e\n\u003cli\u003e \u003cstrong\u003enumber of plants per-day \u003c/strong\u003e- Determines how many plants grow each day. \u003c/li\u003e\n\u003cli\u003e \u003cstrong\u003elength of genotype\u003c/strong\u003e - Length of each animal's genotype. \u003c/li\u003e\n\u003cli\u003e \u003cstrong\u003eMinimum/maximum number of mutations\u003c/strong\u003e - Determines how many genes can be changed as a result of mutation. \u003c/li\u003e\n\u003cli\u003e \u003cstrong\u003eEnergy that animal lost in reproduction.\u003c/strong\u003e \u003c/li\u003e\n\u003c/ul\u003e\n\u003cimg src=\"/readme/input.gif\"\u003e\n\n\u003ch2\u003e 🎮 How to start? \u003c/h2\u003e\n\u003cp\u003e 1. Enter your preferences or select \"Default simulation\" \u003c/p\u003e\n\u003cp\u003e 2. Click \"Confirm\" to add next simulation. \u003c/p\u003e\n\u003cp\u003e 3. Place the windows in a convenient for you place. \u003c/p\u003e\n\u003cp\u003e 4. Click \"Play\" to start simulations. \u003c/p\u003e\n\n\u003ch2\u003e 🏴‍☠️ End of simulation: \u003c/h2\u003e\n\u003cp\u003e You can end the simulation at any time by clicking the \"EXIT\" button.\u003c/p\u003e\n\u003cp\u003e In case all animals die, the simulation will end automatically. \u003c/p\u003e\n\u003cimg src=\"/readme/end.gif\"\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoc00lig%2Fevolution-simulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoc00lig%2Fevolution-simulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoc00lig%2Fevolution-simulation/lists"}