Rust Action Heroes is a remake of the delightful One Action Heroes game-jam written in Rust using the wonderful game engine Amethyst.
Rust Action Heroes is my first attempt at writing a game, so it's pretty shoddy. If you have feedback, please make an issue on the repo.
If you are new to Amethyst, check out the Amethyst Book which covers the ECS architecture, what a System, Component, State, and Entity are.
If you are interested in how this game works under the good, checkout the Rust Action Heroes API docs.
I've wanted to get into making games for a long time, but I've struggled to complete any projects of my own. Every game I've tried to make is either too ambitious or too ill-defined.
One Action Heroes was fun to play, mechanically simple, and was the product of a game-jam so I figured it couldn't take that long to implement. I had to learn Amethyst along the way, so I knew I wouldn't get it done in 48 hours, but it seemed achievable in a few Saturdays.
Thankfully, my theory was correct and the project worked out! I can finally say I have created a buggy, sketchy, and in most ways worse version of One Action Heroes.
But you know what, it was a blast to make and I learned a lot about making games. I learned a lot in the process and now I feel ready to take on a creative project of my own.
If you're interested, you can make your own levels by adding files to assets/levels/
.
Levels are really simple ascii-art.
Char | Entity |
---|---|
W, w, # | Wall |
H, h | Prince horizontival the first |
V, v | Duke vert the pure |
G, g | Grabaron the wise |
C, c | Crate |
E, e | Exit |
K, k | Key (for locks) |
L, l | Locks (for keys) |
S, s | Switch (for doors) |
D, d | Door (for switches) |
space | Floor |
tab | 4 Floors |
Levels are loaded in alphabetical order, so level 00
will load first, then 01
, etc.
There's not very good error checking/runtime enforcement of game rules -- so if you create a level with no Exit you can't complete the leve.
Happy modding!
To run the game, run the following command, which defaults to the vulkan
graphics back-end:
cargo run
Windows and Linux users may explicitly choose "vulkan"
with the following command:
cargo run --no-default-features --features "vulkan"
Mac OS X users may explicitly choose "metal"
with the following command:
cargo run --no-default-features --features "metal"
I haven't had a chance to create any binary releases of the game.
If you know how best to compile a Rust/Amethyst project for Linux, Windows, and Mac let me know!
The original One Action Heroes prototype game was created by Tapehead Games for the Game Maker's Toolkit game jam 2019.
I am not associated with Tapehead in any way, I just really like their game and got a lot of inspiration from it. If/when One Action heroes gets made into a fully fledged game, you should buy it on Taphead's itch.io page.
The code in this project is MIT licensed.