cmdjewel

Crates.iocmdjewel
lib.rscmdjewel
version0.3.0
created_at2025-11-19 23:43:37.585546+00
updated_at2025-11-19 23:43:37.585546+00
descriptionA match-3 game that runs in your terminal.
homepage
repository
max_upload_size
id1940943
size277,756
Spike (pastthepixels)

documentation

README

cmdjewel

cmdjewel.webm

cmdjewel is a terminal match-3 game inspired by Bejeweled, written with Rust and cursive.

Running

Go to the latest release and download a build for your system, and then unzip and double-click it. Builds are named after the devices they were built on, so

  • cmdjewel-ubuntu-latest.zip is for x86_64 Linux devices
  • cmdjewel-windows-latest.zip is for x85_64 Windows devices
  • cmdjewel-macos-latest.zip is for MacOS devices

Running (from source)

To run cmdjewel from source, you need to have cargo installed. The recommended way of installing it is through rustup.

After cloning cmdjewel, type cargo run --release in a terminal. You might need to install some dependencies for cmdjewel's audio library, such as alsa-lib-devel on Fedora Linux.

Something went wrong and I'm not getting any errors printed!

Since cmdjewel writes to the terminal, it clears the screen when it terminates. To see warnings and errors, pipe stderr to a file.

For example, if you're running cmdjewel with cargo run --release,

cargo run --release 2>error.txt

Playing

cmdjewel uses a modal control system. To navigate in SELECT mode, use the arrow keys. Hit space to enter SWAP mode where you can swap a piece with any adjacent one using the arrow keys. Alternatively you can use Vim keybinds (h, j, k, l) by default.

If you notice everything's too small, try changing your terminal's font size. The game is designed to run at any font size (as long as everything fits!)

TODO:

  • MacOS export
  • Music/SFX slider
  • Settings page accessible in-game/main menu
  • Saving/loading from config files (TOML probably somewhere in ~/.config)
  • Better title screen logo
  • Animation from moving from the title screen to main menu
  • Main menu resembling Bejeweled 3
  • Hypercube with hypercube matching
  • Sound effects
  • [-] Music rewrite (in progress)
  • Special gems that explode hypercubes activate those hypercubes
  • Star gems
  • Supernova gems
  • Help screens
    • Gameplay tutorial
    • Troubleshooting
    • Controls
Commit count: 0

cargo fmt