[][src]Crate rust_action_heroes

Rust Action Heroes

Rust Action Heroes is a remake of the delightful One Action Heroes gamejam 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.

These are the Rust API docs, so if you're interested in how this game is implemented this will probably help.

If you are new to Amethyst, check out the Amethyst Book which covers the ECS architecture, what a System, Component, State, and Entity are.

About this website

This is sort of like an extended meandering blog-post, so please explore!

Technically, these are API docs for the Rust Action Heroes codebase, but I'm using it to record what I've learned about Entity Component System architecture and Amethyst.

Note that I am using pseudocode for most of my descriptions of ECS, so don't be surprised if rustc won't compile them. :-P

Why One Action Heroes?

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.

Copyright

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 totally buy it on Taphead's itch.io page.

Modules

assets

The really interesting stuff happens in the game_level module!

audio

We make one sound in the whole game

bundle

Bundles are collections of resources, components, and systems that should be created together.

component

Putting the C in ECS!

entity

Builder functions for creating entities.

lib

Honestly lib is an anti-pattern, this shouldn't be here...

state

Loading, Menu, Level

system

Putting the "S" in ECS

Functions

main

Main builds the game object and starts running the game loop.