Skip to main content

Cetra Grand Master | An oddly familiar block stacker in the command line!

Project description

cgm

Cetra Grand Master!

A block stacker game that you might find very familiar. Built with similar design to Tetris Grand Master in mind, but runs entirely in your terminal with much more modern mechanics.

how

pip install cetragm, or pipx install cetragm if you're on an externally managed system like Arch Linux. You may need the pygame module if you don't have it or if pip doesn't install it for you. Run cgm.

If you'd like to customise your controls, you may change them in /src/cgm/config.py under the project directory.

To change DAS (how long until inputs repeat) and ARR (how fast inputs repeat), you'll have to do it under your OS' settings for now. On Windows, it should be under the Mouse and Keyboard controls. On KDE Plasma, under System Settings > Keyboard > Repeat Rate. On Mac, go ask Tim Cook. On Gnome, go ask Richard Stallman's left foot. Otherwise, I'm sure you can figure it out.

demo

https://github.com/user-attachments/assets/2bfdf0e4-c4f9-45e6-83c1-1c018af42be3

what

Features:

  • Supports any terminal emulator, Windows or Linux. (Not tested on Mac but may work.)
  • Rebindable controls, including hard and soft drops as well as holds.
  • Grade system, up to the Gm grade (which I guarantee you won't get)
  • Full color!
  • Dynamic gravity (speed) as your level increases
  • Scoring system
  • Gameplay timer
  • 7-bag piece drawing
  • 5-piece next queue and level display
  • Persistent TLS (or shadow piece)
  • TGM's 20G gravity after level 500
  • Proper ARE, lock delay, and line clear delay
  • Real-time gravity (not tied to frame rates)
  • The standard Super Rotation System and all its janky kicks!

Drawbacks:

  • Requires manual ARR/DAS and can't press two keys at once
  • Scoring is slightly off
  • Lack of theming or menus at all, as well as a lose state
  • No sound (background or effect)

To add by next week:

  • T-spins and detection for them
  • IHS and IRS (Inital Hold/Rotation System)
  • Full menu with configuration
  • Tiny optional input window via Pygame to add proper multi-key controls and DAS/ARR
  • Config config config! maybe even a new gamemode...

controls

You may configure these in config.py, but the defaults (and what I use) follow:

Buttons Function huh
a j Move Left
d l Move Right
space / c Rotate CW
z , q Rotate CCW
tab x . Rotate 180
s k Soft Drop move your piece down faster, but don't immediately lock it into place
w i Hard Drop move your piece as far down as it will go and lock it in place, skipping the delay
e v Hold Piece put a piece aside or switch to your held piece when it doesn't fit
esc p quit why would you ever want to do that?

why

Built for Hack Club's Siege program (week 10 and 11). Also, I like block stackers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cetragm-0.1.8.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cetragm-0.1.8-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file cetragm-0.1.8.tar.gz.

File metadata

  • Download URL: cetragm-0.1.8.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for cetragm-0.1.8.tar.gz
Algorithm Hash digest
SHA256 200f24ce948bdf43ca6d698724703368f54623be5e375b0bcaea11e2b4979e7e
MD5 f15736dba200f6c3d44322686bdc82e0
BLAKE2b-256 a0a717e99ecfc1a1a096c5658f8afa2e207d8b3f1d13c1ddbd79ef8e6a6f1ad7

See more details on using hashes here.

File details

Details for the file cetragm-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: cetragm-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for cetragm-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 43e86b262854364458e0f4d6457bc526762086cd902aa54c0a2532b10f5a8096
MD5 4627b3e0a443090774a15a540ec1b636
BLAKE2b-256 ad81afee6dccfcb4e235370a78b76141df27101b9a456bf5b57d947df6af6836

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page