radium-io / sanity

procedurally generated roguelike game written with rust and amethyst
https://wastrel.itch.io/moonsanity
19 stars 0 forks source link
amethyst game game-development pixel-art procgen roguelike rust wavefunctioncollapse wfc

Moonsanity

screenshot

This game is an exploration of three things:

  1. Rust
  2. Amethyst
  3. Spooky Moon Dungeons

I was able to combine Amethyst with the wonderful WaveFunctionCollapse implementation by @stevebob to achieve a procedurally generated roguelike dungeon based on an arbitrarily chosen tilemap. You can load any tilemap you like in to the editor and generate a file compatible with the game engine allowing you to swap out the tileset as you like.

Additional thanks to Elthen for the wonderful free sprite sets available here, and Adam Saltsman's Sci Fi Sprites (psst check out Overland)

How to Play

cargo run --bin sanity to run the game. Or download at https://wastrel.itch.io/moonsanity

How to use Editor

cargo run --bin editor Left click to select a tile. Right click to choose southern compatible tiles. Hold D and right click to select eastern compatible tiles. Push S to save a .ron file with the information about compatible pairs.

The ron file may need to be edited manually to mark walkable tiles and null tiles (blank). Some constants are still present in the game source and will need to be modified to enable level generation. See sanity-bin/src/state/room.rs and sanity-bin/src/map.rs

Setup

  1. Clone this repo.
  2. Install required tools below for your OS.
  3. Run cargo run
  4. ???
  5. Profit

Tools

Ensure that the cargo bin directory (usually ~/.cargo/bin) is in your PATH. Ensure that the python bin directory is in your PATH.

Required

Optional but suggested: