- Super Rotation System implemented (e.g. supports the same wallkicks as a modern Tetris game)
- Bag randomizer
- Ghost piece
- Holding a direction key snaps a piece to the corresponding edge of the screen after a configurable delay, e.g.
ARR = 0 - No scoring/timing. Won't add the former, may add the latter one day
- Pieces never lock on their own, you have to manually hard drop them
- Only one piece preview to simplify graphics, may change later
- No gravity, probably won't add this
- Soft drop is instantaneous, will change if and only if the above changes
- Default controls are my preferred controls (up for hard drop, z/x for rotation, shift for hold)
- Ensure GNU
make,cmake, and theSDL2library are installed - Use
cargo install --path . - Only tested on Linux but probably works for other platforms?
- Provides a
flake.nixadapted from my rust flake template tetrs.overlays.defaultis an overlay that adds tetrs topkgstetrs.nixosModules.defaultis a Home Manager module for configuring tetrs, only needed if you want to change the default settings (under./config/default.toml)- Also provides a dev shell, enter root directory and run
nix shell - Or, if using
direnvrun the below commands from root directory:echo "use flake" >> .envrcdirenv allow
- To run locally just use
cargo runinside the shell environment, or usenix flake run
- Configuration file is optional and located at
~/.config/tetrs/config.toml - Supports configuration of all keybindings, as well as
DAS, the length of time (in ms) you have to hold a direction key for the piece to snap to the edge of the screen. Default 150 - Default configuration is under
./config/default.tomland should hopefully be self-explanatory.