{"id":20721489,"url":"https://github.com/cleancut/invaders","last_synced_at":"2025-05-16T09:06:03.331Z","repository":{"id":41163222,"uuid":"269765068","full_name":"CleanCut/invaders","owner":"CleanCut","description":"Open source terminal arcade game with audio - based off of the classic \"Space Invaders\"","archived":false,"fork":false,"pushed_at":"2024-10-15T17:40:41.000Z","size":5924,"stargazers_count":213,"open_issues_count":1,"forks_count":110,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T04:50:32.122Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/CleanCut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license/APACHE","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":"2020-06-05T20:16:23.000Z","updated_at":"2025-03-18T06:05:59.000Z","dependencies_parsed_at":"2023-11-07T01:16:35.194Z","dependency_job_id":"2cc21821-241d-4696-947c-6eaef9dbc8a4","html_url":"https://github.com/CleanCut/invaders","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Finvaders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Finvaders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Finvaders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Finvaders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CleanCut","download_url":"https://codeload.github.com/CleanCut/invaders/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501558,"owners_count":22081528,"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-17T03:28:03.348Z","updated_at":"2025-05-16T09:05:58.323Z","avatar_url":"https://github.com/CleanCut.png","language":"Rust","readme":"# Invaders\n\nInvaders is an open source terminal arcade game with audio, based off of the \"Space Invaders\" classic arcade game.\n\nThis game was initially developed for a presentation at [OSCON Open Source Software Superstream Series: Live Coding—Go, Rust, and Python](https://learning.oreilly.com/live-training/courses/oscon-open-source-software-superstream-series-live-codinggo-rust-and-python/0636920410188/) and then adapted for inclusion as an example project for the 2020 version of [Ultimate Rust Crash Course](https://www.udemy.com/course/ultimate-rust-crash-course/?referralCode=AF30FAD8C6CCCC2C94F0).  The tags `part-1`, `part-2`, etc. correspond to the various stages of the original presentation.\n\nSince the original presentations, folks continue to tinker and improve the game. Feel free to fork this repository, make a change, and submit a pull request if you have a good idea!\n\n### Sound Files\n\nIf you want the sound files used in the course video, but don't want to clone the repository, here are all the sounds in two different archive formats (the sound files are the same):\n\n- [sounds.zip](https://github.com/CleanCut/invaders/files/6312508/sounds.zip)\n- [sounds.tar.gz](https://github.com/CleanCut/invaders/files/6312511/sounds.tar.gz)\n\nNotice the new path to the sound files used in the course.\nIt is now under `audio` \u003e `original`.\nAll new contributions can be placed under `audio` \u003e `contributions`.\n\nWe have now a new set of instrumental music sound files in MP3 format.\nYou may listen to the sounds on [Musescore.com](https://musescore.com/user/9047536/sets/5156900).\n\n### Dependencies on Linux\n\nAudio should work out-of-the-box on macOS, Windows, and iOS.  For Linux, the\ndownstream package for actually _playing_ sound ([CPAL]) requires\nthe *Alsa* development libraries to be installed.\n\n**CentOS**\n\n```bash\nsudo yum install -y alsa-lib-devel\n```\n\n**Debian/Ubuntu**\n\n```bash\nsudo apt install libasound2-dev pkg-config\n```\n**Arch Linux**\n\n```bash\nsudo pacman -S alsa-lib pkgconf libx11\n```\nYou will also need `pipewire-alsa` or `pulseaudio-alsa` depending on the sound server you are using.\n\n## Community Games!\n\nWere you inspired to make your own terminal-based game? Open a PR to add it to the list here!\n\n* [Pong](https://github.com/basilkohler/rusty_pong)\n* [TETRIS](https://github.com/madchicken/rust-tetris)\n* [Columns](https://github.com/Rendez/rust_columns)\n* [Q-Agent Driven Invaders](https://github.com/indiVar0508/Q-agent-driven-invaders/tree/q_agent)\n\n## Contribution\n\nAll contributions are assumed to be dual-licensed under MIT/Apache-2.\n\n## License\n\nDistributed under the terms of both the MIT license and the Apache License (Version 2.0).\n\nSee [license/APACHE](license/APACHE) and [license/MIT](license/MIT).\n\n## Sponsor\n\nStar this repository and [sponsor](https://github.com/sponsors/CleanCut) me to support projects like this. 💖\n","funding_links":["https://github.com/sponsors/CleanCut"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleancut%2Finvaders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleancut%2Finvaders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleancut%2Finvaders/lists"}