It is a PuzzleScript interpreter written in Rust to play games in your terminal!
Here are some screencaps of games being played.
Gravirinth (original)
(click to see the ascii screencast)
Mirror Isles (original)
This screencast shows playing the game in a terminal using ASCII and ANSI colors.
Pot Wash Panic! (original)
(click to see the ascii screencast)
Hack the Net (original)
Skipping Stones to Lonely Homes (original)
Entanglement (original)
- Install Rust
- Clone this repository
- Run
cargo run --release
to get the help message - Run
cargo run --release -- ./games/{game}.parsed.json
to play a game- As you complete levels, it will create a save file in the same directory as the game
./test.bash
: runs all the testscargo test
: runs unit tests./test_solutions.bash
: replays real games and verifies the solutions still work
Flamegraphs are great for finding performance problems. Here's how to generate one:
echo "DDD" | sudo cargo flamegraph ./games/roll-those-sixes.parsed.json -- --level 0 --scripted
echo "S.D.S.D.DWAASAWWW..............q" | sudo cargo flamegraph ./games/entanglement-one.parsed.json -- --level 3 --scripted
- Build WebAssembly version and add example of using it in a browser
- Add a parser so the original
script.txt
files can be used instead of the*.parsed.json
files