Finesse

Finesse is a fast paced tetromino game, where the goal is to output pieces in a constructive manner at the highest rate possible. The goal of creating this game is to experiment with optimizing human tetromino placement speed. This game/research project is inspired by KeyBlox and modern (post 2006) SRS Tetris, while addressing several factors to make the game faster

I claim no affiliation to either of these projects.

fi·nesse  (fɪˈnɛs)
n.
1. Refinement and delicacy of performance, execution, or artisanship.
2. Skillful, subtle handling of a situation; tactful, diplomatic maneuvering.

In the hunt for stacking tetrominos in the fastest possible way, several methods have been explored to enable humans to stack blocks faster.

The idea behind Finesse is not to spam keys quickly in order to play faster, but rather to optimize inputs such that less inputs are used

for the same amount of stacking speed.

Features

  • Cross-platform
  • Multiple randomizers, including Bag, Pure and History (6 roll)
  • 9-piece preview
  • "Column clamping" - drops a piece in the nearest valid column if you place it outside the playfield
  • "Double Holding" - press space to switch the active piece with the hold slot, at any point of time.
  • Correct typing mistakes, just like real typing! (Press Backspace to undo a move)
  • Replays
    • Automatic replay saving based on time
    • Ability to save losses as well as winning games
    • Sorting by filename leaves meaningful replays at the top
  • Customizable piece colouring/styles (via PNG import)
  • Separate Preview, Active and Stack graphics.
  • Outline of the stack in white.
  • Sound effects (based on column)
  • Statistics and game info are shown in-game
  • Settings can be saved if desired.
  • 180° modifier keys

Controls

Changelog

19/06/2015

Fixed replays - fixed a bug where cloning the replayMaker didn't clone all settings. Also passed Undo setting into replayMaker and loader.

Added more things to readme for things todo.

My code was so good that shift keys were already included in replay handling.

Shift now works in game mode, but needs to be implemented in replays (add keybind for shift into replays)

Added more stuff to TODO list.

Undo and REVERSE_ORIENT show up in the GUI , and can be changed via OPTIONS_MENU

Added version string to DisplayExample class.

Set default for "Allow undo" to true.

Removed Finesse-2015-06-12.zip. In future, upload the built version to https://bitbucket.org/XeaLouS/finesse/downloads

12/06/2015

Added dependencies.zip. This should hopefully alleviate finding old versions of LWJGL later.

Added README.txt, Got a proper build.xml post-build

Updated to Netbeans 8.0.2

Removed Old versions of zip, placed in new ones.

v1.0b

Keybinds now configurable

Added KeybindMenu

Added framework for custom keybinds

Settings can be saved

Key bindings are saved in replays

Keys can be changed

v1.0a

Fixed a bug where pressing escape while watching a replay would break all replays

TODO

Timer accuracy graph instead of randomizer graph.

Multiplayer

Driller