{"id":14235643,"url":"https://github.com/amethyst/space-menace","last_synced_at":"2025-04-22T22:32:54.170Z","repository":{"id":36014616,"uuid":"188615860","full_name":"amethyst/space-menace","owner":"amethyst","description":"An action 2D platformer made with Amethyst game engine","archived":false,"fork":false,"pushed_at":"2023-01-20T22:29:56.000Z","size":26287,"stargazers_count":180,"open_issues_count":23,"forks_count":32,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-08-21T21:27:24.027Z","etag":null,"topics":["2d-platformer-game","amethyst","game-dev","rust","showcase"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/amethyst.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}},"created_at":"2019-05-25T21:57:22.000Z","updated_at":"2024-04-20T10:29:46.000Z","dependencies_parsed_at":"2023-02-12T06:15:13.922Z","dependency_job_id":null,"html_url":"https://github.com/amethyst/space-menace","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/amethyst%2Fspace-menace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst%2Fspace-menace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst%2Fspace-menace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst%2Fspace-menace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amethyst","download_url":"https://codeload.github.com/amethyst/space-menace/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223906425,"owners_count":17223046,"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":["2d-platformer-game","amethyst","game-dev","rust","showcase"],"created_at":"2024-08-20T21:02:11.795Z","updated_at":"2024-11-10T02:33:19.354Z","avatar_url":"https://github.com/amethyst.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Space Menace\n\n![](demo.gif)\n\nAn action 2D platformer made with the [Amethyst](https://amethyst.rs/) game engine.\n\nThis is my _firstish_ attempt at a game (I did write a basic snake game some time back). Through this project, I aim to get better at coding in [Rust](https://www.rust-lang.org/), get familiar with the Amethyst game engine and start learning game development in general. I also hope that this project will help other Amethyst and game dev beginners like me in some way or the other.\n\nCurrently, it is a :warning:**WORK IN PROGRESS**:warning: and there is still a lot to be done before it reaches a playable state. Also, the code is far from perfect and there is a lot of scope for improvement. I will keep enhancing the code incrementally, as I go along.\n\n## Configure Cargo.toml\n\nThe default render target feature is set to `metal` for macOS users.\n\n```toml\n# Cargo.toml\n\n[features]\ndefault = [\"metal\"]\nmetal = [\"amethyst/metal\"]\nvulkan = [\"amethyst/vulkan\"]\n```\n\nIf you are on Windows or Linux, you will have to set that default to `vulkan`:\n\n```toml\n# Cargo.toml\n\n[features]\ndefault = [\"vulkan\"]\n# ...\n```\n\n## Running the game\n\n**Note:** This game requires Rust nightly\n\n```bash\n# Clone the repo\ngit clone https://github.com/amethyst/space-menace.git\ncd space-menace\n\n# Set the toolchain to nightly for the current directory\nrustup override set nightly\n\n# Run\ncargo run —release\n```\n\n## Game controls\n\nUse the `left arrow` key and `right arrow` key to move the player and the `up arrow` key to jump. Use `spacebar` to fire.\n\n## Features:\n\n- [x] Basic map using [Tiled](https://www.mapeditor.org/)\n- [x] Animation using prefabs (Main character run, jump, shoot, etc.)\n- [x] Basic 2D physics (gravity, velocity, collision detection, etc.)\n- [x] Lazy spawning of entities\n- [x] Parallax\n- [ ] One complete level (enemies, full map, etc.)\n- [ ] Start, Pause and Game Over screens\n- [ ] Game mechanics / rules (points, lives, etc.)\n- [ ] Audio\n- [ ] Consider [nphysics](https://nphysics.org/) integration (using [specs-physics](https://github.com/amethyst/specs-physics/))\n- [ ] Documentation\n- [ ] Tests\n\nMore details about the features, **roadmap** and the game in general can be found [here on Amethyst's discourse](https://community.amethyst.rs/c/showcase/space-menace).\n\n## Contributions:\nAny and all kinds of contributions are more than welcome, whether it be feature implementation, bug fix, art assets creation, documentation, issue logging or simply ideas, suggestions and feedback.\n\nIf you are new to Rust or Game Development and are looking for issues to get started, I have added few [good first issues](https://github.com/amethyst/space-menace/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).\n\nIn case you have any doubts or have an idea / feedback that you want to discuss, feel free to [log an issue](https://github.com/amethyst/space-menace/issues/new) or drop me a message on Discord. You can find me on the [Amethyst channel](https://discord.gg/amethyst).\n\n## Credits / Thanks:\n\n- The awesome Amethyst community for helping me out whenever I got stuck. Special thanks to Ben, doomy, JoshMcguigan, Alve, azriel, Dispersia, Moxinilian, torkleyy, Jojolepro, kel, jaynus, Frizi.\n- [ansimuz](https://ansimuz.itch.io/) for all the cool assets used in this game.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famethyst%2Fspace-menace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famethyst%2Fspace-menace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famethyst%2Fspace-menace/lists"}