Skip to content

Releases: veteranbv/falliant

Falliant v2.0.0

Choose a tag to compare

@veteranbv veteranbv released this 10 Jul 21:13

The arcade release. Full engine rewrite around two authentic rule sets.

Added

  • Classic mode: NES-style rules. Biased re-roll randomizer, no wall
    kicks, two-state S/Z/I rotation, lock on the gravity tick, NES scoring
    (x level + 1) and speed curve including the level 29 kill screen,
    starting levels 0-19.
  • Modern mode: guideline-style rules. 7-bag randomizer, Super
    Rotation System with wall kicks, lock delay with move resets, hold
    piece, ghost piece, hard drop, three-piece preview, T-spin detection
    (full and mini), combos, back-to-back bonuses, perfect clears,
    starting levels 1-15.
  • Line clear flash animation and score callouts: FALLIANT!, T-SPIN!,
    B2B, COMBO, PERFECT CLEAR!
  • Counter-clockwise rotation on Z, clockwise also on X.
  • Per-mode top-10 leaderboards. Initials entry accepts direct typing.
  • Minimum terminal size guard with a friendly message.
  • Test suite covering rotation, kicks, scoring, T-spins, hold, lock
    delay, level progression, and score persistence.

Changed

  • High scores now live in a per-user data directory (XDG on Linux,
    Application Support on macOS, APPDATA on Windows) instead of the
    current working directory. Old score files migrate to the classic
    leaderboard automatically when found at the new location.
  • Gravity and lock timing run on real time instead of frame counts, so
    game speed is identical on every terminal.
  • Input is drained fully every frame; fast play no longer loses
    keystrokes. The old blanket drop debounce is gone (hard drop keeps a
    short cooldown against key repeat).
  • Rendering uses erase() rather than clear(): no more flicker.
  • The board blanks while paused.
  • Menu redesigned with mode and level selection built in; the separate
    level select and intro screens are gone.
  • L-piece renders orange on 256-color terminals.
  • ESC responds instantly in menus (no more one-second delay).
  • Requires Python 3.9+.

Fixed

  • Enter key now recognized on terminals that send code 13 or KEY_ENTER.
  • Hold-swap now checks for collision and can trigger game over instead
    of embedding a piece in the stack.
  • Terminal resize is handled through KEY_RESIZE without recreating the
    renderer mid-frame.

Version 1.0.2

Choose a tag to compare

@veteranbv veteranbv released this 31 Mar 15:21
36e3ed6

#1 First official release of Falliant