This game is an exploration of three things:
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)
cargo run --bin sanity
to run the game. Or download at https://wastrel.itch.io/moonsanity
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
cargo run
Ensure that the cargo bin directory (usually ~/.cargo/bin
) is in your PATH.
Ensure that the python bin directory is in your PATH.
cargo install cargo-edit
\
for upgrading/adding/deleting dependencies.cargo install cargo-outdated
\
for checking if dependencies are out of date.pip install grip
\
for editing README.md