Build Status | |
---|---|
Travis | |
AppVeyor |
rust-belt
is a 2D video game featuring an original soundtrack 🎼 inspired by the
classic Asteroids arcade game. It is
implemented using the Rust game engine,
Piston.
-
The latest stable release of Rust.
- Install
rustup
.
- Install
-
rust-belt
usespiston-music
to play music.piston-music
depends on two third-party non-Rust libraries, SDL2 and SDL2_mixer. Install instructions are provided below.
Select to proceed with either the MSVC or GNU toolchain.
- Ensure you are using the latest stable 64-bit MVSC toolchain with
rustup show
(stable-x86_64-pc-windows-msvc
). - Ensure you have installed the
Visual C++ Build Tools
(as recommended by
rustup
during install). (e.g.C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe
). - Download the latest SDL2 MSVC development library
(
SDL2-devel-2.0.x-VC.zip
). - Unpack and copy all
.lib
files fromSDL2-devel-2.0.x-VC\SDL2-2.0.x\lib\x64\
into a folder. If theLIB
system environment variable does not exist, create it. Add that folder path toLIB
. - Copy
SDL2.dll
into therust-belt
project folder, next toCargo.toml
. - Download the latest SDL2_mixer MSVC development
library (
SDL2_mixer-devel-2.0.x-VC.zip
). - Unpack and copy all
.lib
files fromSDL2_mixer-devel-2.0.x-VC\SDL2_mixer-2.0.x\lib\x64
into the same folder added in step 4 that was added to theLIB
system environment variable. - Copy
SDL2_mixer.dll
andsmpeg2.dll
into therust-belt
project folder, next toCargo.toml
.
- Ensure you using the latest stable 64-bit GNU ABI toolchain with
rustup show
(stable-x86_64-pc-windows-gnu
). - Install MSYS2.
- In an MSYS2 terminal:
pacman --sync mingw-w64-x86_64-gcc
- Add
C:\msys64\mingw64\bin
to systemPATH
. - Download the latest SDL2 MinGW development library
(
SDL2-devel-2.0.x-mingw.tar.gz
). - Unpack and copy all
.lib
files fromSDL2-devel-2.0.x-mingw\SDL2-2.0.x\x86_64-w64-mingw32\lib
into a folder. If theLIBRARY_PATH
system environment variable does not exist, create it. Add that folder toLIBRARY_PATH
. - Copy
SDL2.dll
into therust-belt
project folder, next toCargo.toml
. - Download the latest SDL2_mixer MinGW development
library (
SDL2_mixer-devel-2.0.x-mingw.tar.gz
). - Unpack and copy all
.lib
files fromSDL2_mixer-devel-2.0.x-mingw\SDL2_mixer-2.0.x\x86_64-w64-mingw32\lib\
into the same folder added in step 6 that was added to theLIB
system environment variable. - Copy
SDL2_mixer.dll
andsmpeg2.dll
into therust-belt
project folder, next toCargo.toml
.
- Install Homebrew (by default this will install
gcc
via Xcode development tools). brew install sdl2
brew install sdl2_mixer --with-flac --with-fluid-synth --with-libmikmod --with-libmodplug --with-libvorbis --with-smpeg2
sudo apt install libsdl2-dev libsdl2-mixer-dev
To build:
$ cargo build
To run:
$ cargo run --release
Keyboard | Menu | Game |
---|---|---|
W | Up | Accelerate Forward |
S | Down | Accelerate Backward |
A | Rotate left | |
D | Rotate right | |
Space | Select | Shoot |
X | Return to Menu | |
Esc | Exit | Exit |
Special thanks to @aochagavia for rocket, which provided many examples to pull from.
Music composed by @johnthagen. All rights reserved.
Sound from freesound.org.