{"id":22169326,"url":"https://github.com/spangenberg/alieninvasion","last_synced_at":"2025-03-24T17:22:23.748Z","repository":{"id":137547041,"uuid":"546561162","full_name":"spangenberg/alieninvasion","owner":"spangenberg","description":"Alien Invasion","archived":false,"fork":false,"pushed_at":"2022-10-06T09:24:09.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-29T22:17:25.005Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://spangenberg.github.io/alieninvasion/","language":"Go","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/spangenberg.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":"2022-10-06T09:19:35.000Z","updated_at":"2022-10-06T09:25:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"9dadcf32-94d9-483a-a36c-67493c332879","html_url":"https://github.com/spangenberg/alieninvasion","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/spangenberg%2Falieninvasion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spangenberg%2Falieninvasion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spangenberg%2Falieninvasion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spangenberg%2Falieninvasion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spangenberg","download_url":"https://codeload.github.com/spangenberg/alieninvasion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245315626,"owners_count":20595278,"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-12-02T06:30:53.110Z","updated_at":"2025-03-24T17:22:23.713Z","avatar_url":"https://github.com/spangenberg.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alien Invasion\n\nAlien Invasion is a CLI tool to simulate an alien invasion.\n\nGetting Started \u0026 Documentation\n-------------------------------\n\nAll documentation is available on the [Alien Invasion documentation](https://github.com/spangenberg/alieninvasion/tree/main/docs).\n\n### Run locally\n\n```sh\n$ go run .\n...\n```\n\n### Build\n\n```sh\n$ make build\n...\n```\n\n### Test\n\n```sh\n$ make test\n...\n```\n\n### Generating a map\n\nThis command will generate a decently sized map.\n\n```sh\n$ bin/alieninvasion generate --height 300 --width 300 --cities 50000 | grep = \u003e 50k.map\n```\n\n### Running the simulation\n\n```sh\n$ bin/alieninvasion simulate --map-path 50k.map 10000\n```\n\n### Notes\n\n- City names in the map file must not contain spaces, if they do the parsing will fail.\n- Alien names can be randomly generated, but they are not guaranteed to be unique and are also hard to read in the output.\n- The simulation will run until all aliens are dead or the maximum number of turns is reached.\n- The random number generator is seeded with the current time, so the simulation will be different each time, for this use case it's good enough.\n- Basic user validation is performed on the CLI, but it is not exhaustive.\n- The test coverage is not exhaustive and only cover some core logic.\n- The simulation runs sequentially, an experimental concurrency version is available in the [feat/concurrency](https://github.com/spangenberg/alieninvasion/tree/feat/concurrency) branch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspangenberg%2Falieninvasion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspangenberg%2Falieninvasion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspangenberg%2Falieninvasion/lists"}