A free OpenGL game for Linux and Windows

based on the Super Nintendo classic
Tetris Attack

by Daniel Nelson

version 1.1.10



Download, Installation, and Running | Requirements | Screen Shots | Wallpaper
Game Play | Advanced Features | Final Notes | Links | Contact

Video of Game Play



Download, Installation, and Running

Linux

Linux download, installation, and running instructions.


Windows

Windows download and installation instructions.


OS X

OS X download. (Thanks to Jeff Disher for porting Crack Attack! to OS X.)


Requirements

  • Linux, Windows, or OS X
  • OpenGL - Standard with all modern Windows versions.
  • 3D Graphics Hardware Support - The game is unplayable without it. That is, unless it's the year 2010 or higher.
  • Screen Shots

    Here are a few quick screen shots so you have some idea what you're getting yourself into.

    Wallpaper

    You know you need lame Crack Attack! wallpaper. Right click on the links to download.


    1280x1024 standard wallpaper
    1152x864 standard wallpaper

    1280x1024 X-treme wallpaper
    1152x864 X-treme wallpaper


    Game Play

    Screen Description

    First a quick overview of the game screen.

    1. Crack Attack! logo.

    2. Your opponent's level lights. These indicate the height of your opponent's stack. When the red reaches the top and they start flashing, he's in trouble!

    3. Your level lights. These correspond to the height of your stack. When your stack reaches the top of the screen, these lights flash to warn you of your impending doom. You've got seven seconds to reduce your stack or you lose. If nothing else, just eliminate some blocks. Time during which blocks are disappearing or garbage is shattering do not count towards these seven seconds.

    4. Players' names.

    5. Your star collection. When you win a game, you get a happy yellow star. Once you earn two, you win the match! In this case the player won the first game, lost the second, and the third star is being contested.

    6. The clock keeps track of how long the current game has taken. In solo mode the clock is replaced by your score.

    7. The four orange blocks have been eliminated and are disappearing. Any time three or more of the same color blocks are in a row, they eliminate. In this case, since the elimination is more than the minimum size of three, a '4' appeared to let the player know he was doing a good job. The rectangular-ish white thing is your cursor. You control it with the arrow keys and use it to manipulate the colored blocks in your stack.

    8. These are the blocks in your stack. You can use your cursor to swap blocks which are side-by-side in order to put blocks of like color into a row, which causes them to eliminate. And you'd better be quick about it, because your stack will creep up from the bottom and once it reaches the top of the screen, you loose.

    9. This is a piece of garbage in your stack. When your opponent does something clever, for example eliminating four blocks at once, garbage will fall from above, cluttering your stack. You can shatter garbage into normal blocks by eliminating blocks that are in contact with the garbage.

    Play Control

    Play control is very simple.
    Arrow Keys

    Move your cursor. Also, in solo mode, rotates the Hall of Fame.

    Space Bar

    Swap the blocks your cursor surrounds.

    Enter

    Advance your stack upwards one row.

    P | p

    Pause the game. During online play, either player is able to unpause a paused game.

    Esc

    Concede the current match or exit Crack Attack! after a match.


    Game Play

    The Basics

    Slowly, your stack of blocks grows from the bottom, and you've got to make sure it never reaches the top. Because once it does, you lose! To eliminate blocks from the stack, line up at least three of one color, horizontally or vertically. Once you do, those blocks disappear, and slightly postpone your inevitable demise.

    To add to the excitement, chunks of red garbage will fall from above. It is impossible to eliminate this garbage directly. However, if you eliminate any blocks which are touching the garbage, the garbage will shatter into normal, run-of-the-mill blocks.

    Throughout the game your stack of blocks will slowly grow from below, initially quite slowly but always faster and faster. When the stack reaches the top it will pause and you have seven seconds to save yourself. It is possible, however, to get a momentary reprieve from your stack's assent. When you eliminate a block or cause garbage to shatter, the growth of your stack will pause. Even if your stack has reached the top and you're about to lose, you will be given a little more time to save yourself. Time during which a block is disappearing or a chunk of garbage is shattering does not count towards your seven seconds.

    Multiple Eliminations

    So, what is it that causes this garbage? Well, the garbage is your opponent's way of sticking it to you; and, conversely, your way of sticking it to him. While any old slod can eliminate a ho-hum three blocks, a true master will eliminate four, five, or even more blocks at one time. And when he does, not only will he be rewarded with a little light show, but garbage will come raining down onto his opponent's stack! Just remember, the bigger the elimination, the bigger the downpour.

    Combos

    Beyond the multiple elimination method, there is yet another technique to generate troublesome garbage. I speak of the dreaded combo. Whenever you eliminate blocks, it's likely to cause other blocks to fall, either simply because they were above the eliminated blocks, or because you have freed them from a piece of overhanging garbage. If, when these blocks fall, they cause a second elimination, you've got yourself a combo. If you're good enough to keep the combo rolling, your combo multiplier will increment for each elimination. And, when the combo is finally complete, a massive chunk of garbage will descend upon your opponent, its size proportional to your final multiplier.

    Solo Mode

    Solo play works a little differently. Instead of trying to last longer than an opponent, now you're attempting to rack up as many points as possible before you die. The number of points you get for an elimination depends on how fancy it is.

    EliminationValue
    3 blocks2 point
    4 blocks4 points
    5 blocks5 points
    N blocksN points
    ......

    When you get a combo, all of the points you earned in the eliminations which made up that combo are multiplied by the combo's highest multiplier. So, for example, if you work up to a x5 combo, then all of the eliminations in that combo will be worth five times the points.

    But watch out! Eliminations generate garbage in solo mode too. Except the garbage falls on you! So, it's a tradeoff between points and garbage.

    Once the game is over, if your score is within the top thirty scores ever, you win and your name is added to the Hall of Fame! If you manage to get the number one spot, you're in for an extra special treat. Use the arrow keys when viewing the Hall of Fame in order to check out the other scores.

    Gray Block

    While there is little more to say about the five standard colored blocks, there is an additional color of block, more rare than the others, the gray block. Even the elimination of just three gray blocks generates garbage, and this is no ordinary garbage. Normally when a piece of garbage shatters, the effect propagates on, destroying all garbage that it is in contact with. Often just one well placed elimination by your opponent can shatter all of your hard earned garbage. Well, gray garbage stops shattering propagation like a firewall and can only be destroyed by an elimination in direct contact with it.

    In solo mode a gray elimination generates three times the points! Because gray blocks are worth so many points, it's a good idea to try and work them into a combo multiplier.

    EliminationValue
    3 gray blocks6 points
    4 gray blocks12 points
    5 gray blocks15 points
    N gray blocks3N points

    X-treme Play Mode

    For those who have mastered the art of Crack Attack! and hunger for something more, we offer Crack Attack! X-treme!!! In Crack Attack! X-treme, long lost block types, thought by some to be extinct, have resurfaced. Gone is the ho-hum, work-a-day world of the lone gray special block type. Replacing it is a cavalcade of color: over eight special block types!

    Use the -X command-line option to access X-treme play mode. One should note that normal play mode is the true test of one's Crack Attack! skill. While normal play mode can be likened to chess, X-treme play mode is more akin to winging a super ball as hard as you can in a small room, and seeing who gets hit first. It's fun, just a bit random.

    In Crack Attack! X-treme no block can be trusted and nothing is as it seems!

    Wild Block

    This crazy block can't decide which color it wants to be! Slowly it shifts though the spectrum, hoping to cause an unexpected match.

    Special Orange Block

    This baby lays out a hunk of garbage taller than it is wide, guaranteed to add height to your opponent's stack, and quick!

    Special Yellow Block

    Knock your opponent flat with this block's diseased garbage! All his controls will be reversed until he can figure out a way to shatter the garbage and cure himself.

    Special Green Block

    Special green blocks generate poisoned garbage which blinds your opponent! Well, sort of. Actually, it will cause his cursor to flicker and then disappear. The cursor will remain nearly invisible until the poisoned garbage is shattered.

    Special Blue Block

    When you cause the blue garbage generated by this special block to shatter, instead of turning into blocks, it becomes normal garbage. What a pain!

    Special Purple Block

    Forget those big, easy-to-shatter chunks of connected garbage. Any elimination with this block causes a veritable downpour of miniature purple garbage onto your opponent's stack. That stuff has a nasty habit of getting into all the wrong places.

    Gray Block

    This old guy's still along for the ride. You'll need him to help eliminate his relatives.

    Ancient Ancestors of the Gray Block

    There are rumored to be even more rare and powerful block colors: lost relatives of the gray block. Legend speaks of a black block and a white block, one which generates obsidian garbage that is nigh impossible to shatter and the other which generates pearl garbage and has dominion over the sun itself!

    Point Values

    In solo mode many of the X-treme blocks are worth bonus points. But are the points worth their deadly garbage!? You must decide. It's always a good idea to try and work any special block eliminations into a combo. That way the special blocks' bonus points will be multiplied by the combo's multiplier.

    Special BlockValue
    special orange10 points
    special yellow15 points
    special green8 points
    special blue5 points
    special purple5 points
    black? points
    white? points

    Advanced Features

    Personal Garbage Image

    Crack Attack! is fully customizable!

    That is a big lie. However, you can get it to use your own personal giant garbage image. Often, whenever you lay a really serious piece of garbage down on your opponent, it will have some sort of inspirational message on it. Normally, Crack Attack! chooses an image at random from its little stock pile. However, if you specify your own personal image, Crack Attack! will use it more often than not. During online play your image will be placed on any giant pieces of garbage which fall on your opponent. With solo play the image will be used on garbage you send to yourself. Just think of the possibilities! You can communicate your views on your opponent's intelligence, at the same time as you play a rousing game of Crack Attack! You could propose to your girlfriend, assuming she's enough of a loser to play Crack Attack! The list goes on.

    A personal garbage image must be 128x128 or smaller. Save the image as an uncompressed TGA with alpha channel. Name the image file garbage_flavor_my.tga. If you are running Linux, put the file in the directory .crack-attack/ which is located in your home directory. If you are running Windows, put the file in the directory localdata which is located in Crack Attack!'s application directory. Remember, do NOT use RLE compression when saving. Why? Because I'm too lazy to code up an uncompressor but too proud to use someone else's. Plus, your hard drive is huge. If you're really hard up for space, maybe you could delete a few of those LEXX episodes. When creating a personal garbage image, use a transparent background and keep in mind that that transparent background will become red once the image is placed on the garbage.

    As you play against a multitude of opponents, Crack Attack! will accumulate a set of garbage images and will use them from time to time. If you manage to obtain a garbage image which is of particularly bad taste and you'd like to be rid of it, find its file. Under Linux it will be found in the directory .crack-attack/ located in your home directory. Under Windows it will be found in the directory localdata located in Crack Attack!'s application directory. The file will be among the files named garbage_flavor_###.tga. Simply delete it.

    Links

    Sound and Music for Crack Attack!, thanks to Miguel Ángel Vilela.

    Final Notes

    Potential Improvements

    Believe it or not, there are improvements which could be made to Crack Attack!
    • Improved Socket Code

      Crack Attack!'s socket code was written based on my experience with parallel scientific simulation code. And no one has ever accused a piece of academic simulation code of being nimble. That is, my socket use is perhaps a bit naive, and I doubt it deals as effectively as it might with such things as not having a direct and dedicated connection. Much to my surprise, games have been successfully played between opponents on opposite coasts of the US. None the less, there is still much for me to learn when it comes to writing robust, time-critical socket code. Until then, your best bet is to stay inside your LAN.

    • Triangle Strips

      I'm lazy and thus never got around to triangle stripping the basic block. As it is the block has over five hundred vertices. That's almost embarrassing.

    • Windows Version

      Done!

    • Sound

      See the Links section!

    • Chat

      Want to chat during a game? Go download AIM.

    • Money

      Someday someone will pay me to do this kind of crap. And I'll have an artist!

    Thanks to...

    Colin Walters | Wade Lutgen, friend and co-conspirator | Roland Peetz, play tester | Greg Kilcup, my infinitely patient graduate studies professor | Andy Colebourne, creator of AC3D - used to model the basic block | Mark Kilgard, creator of GLUT | the GIMP team | Nullsoft, creators of NSIS - an excellent and free utility for creating Windows install scripts | Mark Wilde | Mom

    GNU General Public License

    Copyright (C) 2002 Daniel Richard Nelson

    19229 Aenta St.
    Tarzana, CA 91356 USA
    nelson@aluminumangel.org
    aluminumangel.org

    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    The GNU General Public License can be found online at http://www.gnu.org/copyleft/gpl.html. Additionally, a copy can be obtained by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

    Disclaimer

    It is important to realize that the name of Crack Attack! X-treme play mode is meant to be humorous, and thus should not itself be the subject of derision. Thank you.

    Contact

    Direct comments, questions, praise, flames, and job offers to nelson@aluminumangel.org. Visit my homepage at aluminumangel.org.