Skip to content
An action 2D platformer made with Amethyst game engine
Branch: master
Clone or download
Latest commit 75bf91c Aug 22, 2019

Space Menace

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 ⚠️WORK IN PROGRESS⚠️ 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.

Configure Cargo.toml

The default render target feature is set to metal for macOS users.

# Cargo.toml

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

default = ["vulkan"]
# ...

Running the game

Note: This game requires Rust nightly

# Clone the repo
git clone
cd space-menace

# Set the toolchain to nightly for the current directory
rustup override set nightly

# Run
cargo run —release

Game controls

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

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.
You can’t perform that action at this time.