{"id":20671489,"url":"https://github.com/hopson97/empire","last_synced_at":"2025-08-20T08:31:32.243Z","repository":{"id":145668704,"uuid":"101469752","full_name":"Hopson97/Empire","owner":"Hopson97","description":"A cellular automaton I made up myself, written in C++/ SFML","archived":false,"fork":false,"pushed_at":"2024-05-03T16:53:17.000Z","size":3230,"stargazers_count":147,"open_issues_count":5,"forks_count":30,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-12-12T08:21:04.262Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hopson97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-08-26T07:13:34.000Z","updated_at":"2024-06-16T09:39:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce418bae-1375-48ef-81f9-6cde2f787c06","html_url":"https://github.com/Hopson97/Empire","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2FEmpire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2FEmpire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2FEmpire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2FEmpire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hopson97","download_url":"https://codeload.github.com/Hopson97/Empire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230408170,"owners_count":18220974,"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":[],"created_at":"2024-11-16T20:27:39.045Z","updated_at":"2024-12-19T09:06:22.921Z","avatar_url":"https://github.com/Hopson97.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EMPIRE\n\nThis is my own cellular automaton\n\nThe rules are as follows:\n\n    -The world is made out a grid of cells aka \"people\"\n    -Each person holds some numbers:\n        -Age\n        -Strength\n        -Reproduction Value\n        -Colony ID\n\n    -Each person also holds some booleans\n        -Whether they are alive or dead\n        -Whether they are diseased or not\n\n    -At the start:\n        -A few \"colonies\" are set up. Each colony has their own colour value\n        -A few random locations around a map are set up, for each colony to originate from\n        -50 people are placed are each of these locations, and are given the respective colony ID\n\n    SIMULATION BEGINS\n        -Each step:\n            -Each person:\n                - Increases in \"Age\" and \"Reproduction Value\"\n                - Has a 50% chance of being cured of disease, given they have it\n                - Tries to move to a random spot around them:\n                    -If they try move onto water, they will not move\n                    -If they try move onto land, they will move there\n\n                    -If they try move to a place where someone of a DIFFERENT colony is:\n                        -They fight:\n                            -Person with higher strength value stays fine.\n                            -Person with lower strength value dies.\n\n                    -If they try move to a place where someone of the SAME colony is:\n                        -If the person is diseased, then there is a 50% chance of giving/ catching it\n\n                -If the person's \"Reproduction Value\" is greater than a \"Reproduction Threshold\"\n                    -The person gives birth\n                    -The child:\n                        -Inherits the parent's Colony ID\n                        -Inherits the parent's Strength value\n                        -Inherits the parent's Disease (if parent is diseased)\n                        -Has a chance of mutating:\n                            -Slim Chance        -\u003e Gets diseased\n                            -Slightly Larger Chance -\u003e Child is born weaker,\n\n## Building and Running\n\n### Windows (Visual Studio)\n\nThe easiest way to build is to use [vcpkg](https://vcpkg.io/en/index.html) and install libraries through this:\n\n```bash\nvcpkg install sfml\nvcpkg integrate install\n```\n\nThen open the Visual Studio project file, and it should build.\n\n### Linux\n\nRequires conan.\n\n```sh\npython3 -m pip install conan==1.61.0\n```\n\nTo build, at the root of the project:\n\n```sh\nsh scripts/build.sh install\n```\n\nThe install argument is only needed for the first time compilation as this is what grabs the libraries from Conan.\n\nSo after the first time, you can simply run:\n\n```\nsh scripts/build.sh\n```\n\nTo run, at the root of the project:\n\n```sh\nsh scripts/run.sh\n```\n\nTo build and run in release mode, simply add the `release` suffix:\n\n```sh\nsh scripts/build.sh release\nsh scripts/run.sh release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhopson97%2Fempire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhopson97%2Fempire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhopson97%2Fempire/lists"}