Coding Projects‎ > ‎



The latest version is KeyBlox v1.07, released on 6/12/10.
KeyBlox v1.07 - Windows - Linux - Mac (OS X)

KeyBlox is a tetromino stacking game that clones the unique keyboard controls of Typomino/UTypomino and Typing Tetromino, wrapping them up in a nice package with oodles of options to configure.

The basic idea of Typomino is to create a totally different input method for dropping tetrominos.  Instead of moving a piece left and right and then dropping it, Typomino combines the two actions into a single keystroke--to drop a piece on the far left, you press A.  If you instead wanted to place it one space to the right, you would press S.  D would be yet another space to the right, and so on and so forth.  The idea is that while the controls are extremely challenging to get used to, they theoretically allow faster play, since less keystrokes on average are required per placement, and there's no waiting for pieces to move to the left or right.  Combined with the large 10-piece preview and 180-degree rotation, you're essentially "typing" the tetrominos into their corresponding placements once you learn how to handle the input.

Typing Tetromino takes the idea even further and combines rotation AND placement into one keystroke.  In the Typing Tetromino system, you press letters in the "home row" of the keyboard (ASDF...) to drop pieces in their initial orientations, but if you wanted to drop them rotated clockwise, you would instead press the corresponding key in the bottom row (ZXCV...).  Pressing a key in the top row (QWER...) causes pieces to be rotated counter-clockwise, and pressing a number key (1234...) causes pieces to be rotated by 180 degrees.  A diagram can be seen here.

KeyBlox takes both of these input styles and improves upon their implementations, offering additional features such as an undo feature to help ease the learning curve of learning the new controls.  It's also cross-platform, so Linux and Mac users can join in on the fun as well. =)

-Choose between Typomino-style input and Typing Tetromino-style input
-Multiple placement systems - choose how pieces correspond to column placements
-Practice Mode: press backspace to undo your last move!
-Multiple randomizers, including Bag, History (6 roll), and a Bastet "Bastard" randomizer that gives you the worst possible pieces.
-10-piece preview
-Toggle-able "column clamping" - drops a piece in the nearest valid column if you place it outside the playfield
-Toggle-able deep drop - enables pieces to drop through other pieces, as an alternative since you can't shift a piece as it falls.
-Choose between SRS and ARS colors and spawn orientations
-Fun sounds ;)
-Stats and game info are shown in-game so one screenshot contains everything you need for a record post
-Big mode!
-Settings can be saved for the next play session, if you desire
-Ability to save screenshots, automatically named according to date, play mode, and completion time.
-Remappable controls

Known Issues
(none at this time)

Frequently Asked Questions
A: Go slooow, and take your time.  Remember, this is a completely different style of control than traditional Tetris games, so don't be alarmed if your times are an order of magnitude slower at first.  Use practice mode so your mistakes aren't as frustrating and so that you can go back and correct them.  Getting used to the controls can be extremely frustrating at first, but if you work at it you'll get it eventually.  Don't give up!
You also may find it helpful to focus on one particular area of the playfield at any given time and localize your piece placements so that you can use relative position differences instead of having to translate from column position to key name to finger every time.

Q: Why can my active piece drop through other pieces?
A: This is a feature called "Deep Drop", meant to alleviate the problem of not being able to perform the slide-in moves that you would normally be able to execute in conventional Tetromino games.  You can disable it in the options menu if you desire.

Q: What are the current records for 40 Lines/2 Minutes mode?
A: View the records thread here.

Q: How can I take a screenshot of my record?
A: Hit F2 and a screenshot will automatically be saved in the KeyBlox executable directory.  Alternatively, press alt + printscreen (prt sc) to take a screenshot of the KeyBlox window (make sure it has focus first) and put it in the clipboard.  Paste in your favorite image editing program.

Q: Where can I find the original Typomino/UTypomino/Typing Tetromino games?
A: I've conveniently zipped them all into one package and hosted them right here.

Q: (Linux) Where can I find the SDL libraries?
A: Most package managers should already have them available.  You'll want the following packages: libsdl1.2debian libsdl-image1.2 libsdl-mixer1.2 libsdl-ttf2.0-0
Alternatively, you can grab them from these links:

Q: How did you make KeyBlox?
A: Short answer: C++.
Long answer: KeyBlox is programmed in C++, and uses SDL with OpenGL.  SDL_image, SDL_mixer, and SDL_ttf are used as extension libraries.  The Windows build was developed in Visual Studio 2008, but the release build was compiled using MinGW.  The Linux build was compiled with g++ under VMWare running Ubuntu 9.10 RC.  The artwork was created in GIMP, and the sounds were made using FL Studio.

Q: Is the source code available?
A: At this time I don't have any plans to make KeyBlox an open-source project.

Q: Can I redistribute KeyBlox?
A: Please just link people to this page instead.

Q: I have an idea/suggestion/bug report for KeyBlox - how can I contact you about it?
A: You can post in the discussion thread here.