bf9b09bd8c
This algorithm is a little rough around the edges right now, but generally the idea is we find a relatively closed-off region of the map, and place rooms randomly on it, expanding them until they run into each other, then we put doors in the walls of the rooms and a single door opening into the region. Later on, we'll generate friendly (or unfriendly!) NPCs to put in those rooms. Change-Id: Ic989b9905f55ad92a01fdf6db11aa57afb4ce383 Reviewed-on: https://cl.tvl.fyi/c/depot/+/726 Reviewed-by: glittershark <grfn@gws.fyi> |
||
---|---|---|
.. | ||
.github | ||
build | ||
src | ||
test | ||
.envrc | ||
.gitignore | ||
default.nix | ||
haskell-overlay.nix | ||
hie.sh | ||
LICENSE | ||
nixpkgs.nix | ||
package.yaml | ||
pkg.nix | ||
README.org | ||
Setup.hs | ||
shell.nix | ||
xanthous.cabal |
Xanthous
Building
$ nix build
Running
$ ./result/bin/xanthous [--help]
Keyboard commands
Keyboard commands are currently undocumented, but can be found in [this file. Movement uses the nethack-esque hjklybnu.
Development
Use lorri, or run everything in a nix-shell
# Build (for dev)
$ cabal new-build
# Run the game
$ cabal new-run xanthous
# Run tests
$ cabal new-run test
# Run a repl
$ cabal new-repl