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
The default render target feature is set to
metal for macOS users.
# Cargo.toml [features] default = ["metal"] metal = ["amethyst/metal"] vulkan = ["amethyst/vulkan"]
If you are on Windows or Linux, you will have to set that default to
# Cargo.toml [features] default = ["vulkan"] # ...
Running the game
Note: This game requires Rust nightly
# Clone the repo git clone https://github.com/amethyst/space-menace.git cd space-menace # Set the toolchain to nightly for the current directory rustup override set nightly # Run cargo run —release
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.)
- Start, Pause and Game Over screens
- Game mechanics / rules (points, lives, etc.)
- Consider nphysics integration (using specs-physics)
Credits / Thanks:
- 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.