Skip to main content

N-is is a terminal-based puzzle game that generalizes the classic Tetris concept to work with polyominos and polykings of any size from 1 to 6 blocks. Play traditional Tetris (4 blocks) or experiment with Tris (3 blocks), Dis (2 blocks), Pentis (5 blocks), or even Hexis (6 blocks)!

Project description

N-is: A Generalized Tetris Game

N-is is a terminal-based puzzle game that generalizes the classic Tetris concept to work with polyominos and polykings of any size from 1 to 6 blocks. Play traditional Tetris (4 blocks) or experiment with Tris (3 blocks), Dis (2 blocks), Pentis (5 blocks), or even Hexis (6 blocks)!

Features

  • Flexible Block Size: Choose your game style with different block counts:

    • 1: "Monois" (single blocks)
    • 2: "Dis" (domino shapes)
    • 3: "Tris" (triomino shapes)
    • 4: "Tetris" (classic tetromino shapes)
    • 5: "Pentis" (pentomino shapes - more challenging)
    • 6: "Hexis" (hexomino shapes - extremely challenging, nearly unplayable)

    Heptis will probably never be made because even hexis is not very fun, and heptis just simply has no reason to exist.

  • Interactive Menu System: Run without arguments to access a user-friendly curses-based menu for selecting game options

  • Extended Mode: Enable with -e flag to add non-standard polyominos (polykings) that can connect at vertices

  • Mix Mode: Enable with -m flag to include polyominos of lower order (e.g., in Tetris mode, also get Tris, Dis and monois pieces)

  • Advanced Gameplay Features:

    • Hold System: Hold pieces for later use with 'c' key
    • Ghost Piece: See where your piece will land
    • Hard Drop: Instantly drop pieces with Enter key
    • Combo System: Chain line clears for bonus points
  • Customizable Appearance:

    • Choose block and background colors with -c and -bc flags
    • Change colors during gameplay with j/k and u/i
  • Progressive Difficulty:

    • Fall speed increases with each level by around 14.5%
    • Scoring system with level and combo multipliers
  • Background Music: Multiple music options available in the interactive menu

Arguments:

  • N (optional): Number of blocks (1-6). If omitted, interactive menu appears
  • -e: Enable extended mode (polykings/pseudo-polyominos)
  • -m: Enable mix mode (include lower-order polyominos)
  • -c COLOR: Block color (r, g, b, y, m, c, w or 0-255)
  • -bc NUMBER: Background color (0-255)
  • -h: Show help message

Examples:

python n-is.py              # Interactive menu
python n-is.py 4            # Classic Tetris
python n-is.py 3 -e         # Tris with polykings
python n-is.py 5 -c g -bc 0 # Green Pentis on black background
python n-is.py 4 -m         # Tetris with Tris and Dis pieces included

Game Controls

Movement & Rotation

  • Left/Right Arrow: Move piece horizontally
  • Down Arrow: Soft drop (faster fall + 1 point per cell)
  • Up Arrow: Rotate piece clockwise
  • Enter: Hard drop (instant drop + 2 points per cell)

Game Features

  • C: Hold current piece (swap with held piece)
  • P: Pause game (press any key to resume)
  • Q: Quit game

Audio Controls

  • M: Toggle all sound and music on/off
  • Page Up/Page Down: Adjust music volume

Visual Customization (During Game)

  • U/I: Change main block color (previous/next)
  • J/K: Change background color (previous/next)

Game Mechanics

Scoring System

  • Line Clears: Points based on number of lines cleared simultaneously
    • 1 line: 60 × (level + 1)
    • 2 lines: 120 × (level + 1)
    • 3 lines: 360 × (level + 1)
    • 4 lines: 1200 × (level + 1)
    • 5 lines: 4096 × (level + 1)
    • 6 lines: 16384 × (level + 1)
  • Combo Bonus: Additional points for consecutive line clears
  • Drop Bonus: 1 point per cell for soft drop, 2 points per cell for hard drop

Level Progression

  • Fall speed increases by ~14.5% each level
  • Minimum fall speed prevents game from becoming unplayable

Music Attribution

The game includes background music from the following sources:

Compatibility

Operating System Status Notes
Linux ✅ Fully Supported Tested on Fedora 42
Windows 11 ✅ Supported Works with modern Python installations
macOS ❓ Expected to work Unix-compatible, but untested

Troubleshooting

Error: "Your terminal may not be supported, or it probably is too small"

  • Solution: Increase your terminal window size, or make font smaller
  • For higher N values, larger terminals may be required

Colors not displaying correctly:

  • Try different color values (0-255)
  • Some terminals may have limited color support

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

n_is_python-0.0.11.tar.gz (35.5 MB view details)

Uploaded Source

Built Distribution

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

n_is_python-0.0.11-py3-none-any.whl (35.5 MB view details)

Uploaded Python 3

File details

Details for the file n_is_python-0.0.11.tar.gz.

File metadata

  • Download URL: n_is_python-0.0.11.tar.gz
  • Upload date:
  • Size: 35.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for n_is_python-0.0.11.tar.gz
Algorithm Hash digest
SHA256 8f343382145ab06676c571a9753c21c40cbae4324f5432808b2925f6fddd82a8
MD5 3f7d75737fead659abfc858dc943b01e
BLAKE2b-256 92020eae89f897a20c48d838f3e8b5175cd1c1cd5c4ba6a52ef2dfb9cadb2050

See more details on using hashes here.

File details

Details for the file n_is_python-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: n_is_python-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 35.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for n_is_python-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f1f3367ce7189393ecdc2c97d3f2c1b752bc22baf4e1bfb77b3d096a2d5c73d2
MD5 4bd554e5c96dfb70ce3f90c45f3d0948
BLAKE2b-256 9106258ef33d527d9214d2306d0e91129ef984271e224afb792aaec6836cf4a9

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