An action 2D platformer made with the Amethyst game engine.
This 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, 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.
Currently, it is a
Note: This game requires Rust nightly.
# Clone the repo
git clone https://github.com/amethyst/space-menace.git
cd space-menace
If you are on Windows or Linux you will have to modify the Cargo.toml
to enable the vulkan
feature of the amethyst
dependency.
amethyst = { git = "https://github.com/amethyst/amethyst", features = ["nightly", "vulkan", "json"] }
On macOS, instead of vulkan
the metal
feature needs to be enabled.
amethyst = { git = "https://github.com/amethyst/amethyst", features = ["nightly", "metal", "json"] }
# Run
cargo run —release
Use the left arrow
key and right arrow
key to move the player and the up arrow
key to jump. Use spacebar
to fire.
- Basic map using Tiled
- Animation using prefabs (Main character run, jump, shoot, etc.)
- Basic 2D physics (gravity, velocity, collision detection, etc.)
- Lazy spawning of entities
- One complete level (enemies, full map, etc.)
- Parallax
- Start, Pause and Game Over screens
- Game mechanics / rules (points, lives, etc.)
- Audio
- nphysics integration (using specs-physics)
- Documentation
- Tests
- 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.
- ansimuz for all the cool assets used in this game.