Skip to content

veteranbv/falliant

Repository files navigation

Falliant

A terminal block stacking game with a genuine arcade soul. Two complete rule sets: faithful NES-style Classic and guideline-style Modern. Pure Python standard library, zero dependencies.

Falliant Demo

Quick Start

pip install falliant
falliant

That's it. No config, no dependencies, no setup.

Two Modes, One Heart

Classic Mode (1989)

The NES experience, faithfully recreated:

  • Biased re-roll randomizer (droughts and floods included, as nature intended)
  • No wall kicks, two-state S/Z/I rotation
  • Pieces lock on the gravity tick, no hold, no hard drop
  • One next-piece preview
  • NES scoring: 40 / 100 / 300 / 1200 x (level + 1)
  • Authentic NES speed curve, including the level 29 kill screen
  • Start anywhere from level 0 to 19

Modern Mode (2006+)

Guideline-style play:

  • 7-bag randomizer: every piece once per bag, no droughts
  • Super Rotation System with full wall kicks
  • Lock delay with move resets, hold piece, ghost piece, hard drop
  • Three-piece preview
  • T-spins (full and mini), combos, back-to-back bonuses, perfect clears
  • Guideline scoring: 100 / 300 / 500 / 800 x level, and more for the fancy stuff
  • Start anywhere from level 1 to 15

Clear four lines in either mode and the game says its own name: FALLIANT!

Controls

Key Action
← → or A D Move left / right
↓ or S Soft drop
↑ or W or X Rotate clockwise
Z Rotate counter-clockwise
Space Hard drop (Modern only)
C Hold piece (Modern only)
P Pause
Q Quit to menu

Initials entry after a high score: just type your letters, or use the arrows arcade-style.

High Scores

Each mode keeps its own top-10 leaderboard with three-letter initials, saved per user:

  • Linux: ~/.local/share/falliant/high_scores.json (respects XDG_DATA_HOME)
  • macOS: ~/Library/Application Support/falliant/high_scores.json
  • Windows: %APPDATA%\falliant\high_scores.json

Requirements

  • Python 3.9+
  • A color terminal at least 60x24 (on Windows, windows-curses installs automatically)
  • A monospaced font (you have one; it's a terminal)

Install from Source

git clone https://github.com/veteranbv/falliant.git
cd falliant
pip install .

For development setup, tests, and the release process, see CONTRIBUTING.md.

Troubleshooting

  • "Terminal too small": enlarge to at least 60x24
  • Garbled borders or ghost pieces: use a terminal with UTF-8 and a font with box-drawing characters (any modern terminal qualifies)
  • Arrow keys act strangely over unusual SSH/tmux setups: WASD always works

License

MIT. See LICENSE.


Created by Henry Sowell

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages