Crates.io | tmaze |
lib.rs | tmaze |
version | 1.16.0 |
source | src |
created_at | 2023-04-12 14:40:20.687229 |
updated_at | 2024-10-15 18:24:29.12289 |
description | Simple multiplatform maze solving game for terminal written entirely in Rust |
homepage | |
repository | https://github.com/ur-fault/tmaze |
max_upload_size | |
id | 836975 |
size | 3,480,438 |
Simple multiplatform maze solving game for terminal, written entirely in Rust
cargo install tmaze
and run with tmaze
Responsive to terminal size
Fire banger OST from step
Configurable maze sizes through config file
Configurable colors
Various maze generation algorithms: Randomized Kruskal's, Depth-First Search
Timer and move counter
Show visited places
Spectator mode, where you can fly and see the gameboard
Floors and 3D mazes (that's what spectator mode is mainly for)
Since I'm a student, I've got to attend classes, but even when I'm listening I wanted to do something more than sit there. Also at the time this project came to life, I started to learn Rust, so it seemed to make sense to make some kind of game, but since my notebook is not the newest and I wanted to make it as lightweight as possible, I decided to make it for a terminal. It's also pretty cool.
Another requirement was that it would be multiplatform so that I could play it anywhere. A bonus was that I could play it on the server.
And it ended up as maze solving game because I just couldn't find any other.
scoop bucket add games
if you did not beforescoop install games/tmaze
scoop bucket add henshouse https://github.com/henshouse/henshouse-scoop
if you did not beforescoop install henshouse/tmaze
TMaze uses cargo features to enable/disable some features. In Github release binaries, they are all enabled. From version 1.14.0, all features are enabled by default and should be disabled manually. To disable them, use --no-default-features
flag. After disabling them, enable specific ones you want with --features <feature1>,<feature2>,...
flag.
The features are:
After cargo
command add --features
to enable features, such as updates
. To disable default features, such as hashbrown
, add --no-default-features
. To enable all featueres add --all-features
.
cargo install tmaze
~/.cargo/bin
in the PATH, so that you don't need full path to run itcargo run --release
to run (or you can just build it with cargo build --release
without runing it)./target/release/
with name tmaze
or tmaze.exe
, which you can move or link somewhere elsedocker build -t tmaze . --tag tmaze
inside the repository folder, image is not published on Docker Hub yetdocker run --rm -it tmaze
docker run -it --rm -v tmaze_data:/root/.config/tmaze tmaze
docker run --rm -it -v tmaze_data:/root thinca/vim:latest