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
-eflag to add non-standard polyominos (polykings) that can connect at vertices -
Mix Mode: Enable with
-mflag 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
-cand-bcflags - Change colors during gameplay with j/k and u/i
- Choose block and background colors with
-
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,wor 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:
-
Clair de lune (Claude Debussy) Suite bergamasque by Laurens Goedhart is licensed under Creative Commons Attribution 3.0
-
Tetris Theme (Korobeiniki) arrangements by GregorQuendel are licensed under the Pixabay License:
- Piano arrangement
- Music box arrangement
- String arrangement
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file n_is_python-0.0.13.tar.gz.
File metadata
- Download URL: n_is_python-0.0.13.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
074a55a2051ef9eed9314fff176a05f18074af533383f7105d3075f175c3e661
|
|
| MD5 |
965c9d638ed71824f756c11a4598b38e
|
|
| BLAKE2b-256 |
741852e5fcb57d5d00edb453799aa1d488c2f724d317c0b2fd6bd1dbd1ef4bed
|
File details
Details for the file n_is_python-0.0.13-py3-none-any.whl.
File metadata
- Download URL: n_is_python-0.0.13-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbe1337b7e72821841109139758250fe5bb43bebac04bb68499ac5526a4c7120
|
|
| MD5 |
52a48d255a1cde3b267d73a0b7bcb194
|
|
| BLAKE2b-256 |
d9a69854643147352476a467dc6cde8fc3cdaf5beb147d26ef5be35197f9875e
|