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 vulkan
:
# Cargo.toml
[features]
default = ["vulkan"]
# ...
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
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
- Parallax
- One complete level (enemies, full map, etc.)
- Start, Pause and Game Over screens
- Game mechanics / rules (points, lives, etc.)
- Audio
- Consider 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.