<html> <head> <title>Crack Attack!</title> <meta name="keywords" content="crack attack free software game Linux Windows OpenGL download instructions installation Daniel Nelson"> <meta name="description" content="Download, installation, and game play instructions for the free OpenGL game Crack Attack! by Daniel Nelson."> </head> <body text="#c0c0c0" link="#cc00cc" vlink="#eeeeee" bgcolor="#000000"> <table width=100%><tr> <td width=40% align=center valign=center> <img src="logo_big.jpg" border=0> <td width=60% align=center valign=center> <font size=+3> <br><br> A free OpenGL game for Linux and Windows <font size=+1> <p>based on the Super Nintendo classic <br>Tetris Attack <font size=+0> <p>by Daniel Nelson <p> <p><font size=-1>version 1.1.8</font> <br> <br> <p><font size=-1><a href="http://www.gnugeneration.ch/attack/">Version française</a></font> </tr></table> <br><br> <br><br><center> <a href="#download">Download, Installation, and Running</a> | <a href="#requirements">Requirements</a> | <a href="#screen shots">Screen Shots</a> | <a href="#wallpaper">Wallpaper</a> <br> <a href="#game play">Game Play</a> | <a href="#advanced features">Advanced Features</a> | <a href="#final note">Final Notes</a> | <a href="#contact">Contact</a> </center><br> <hr> <br> <h1><a name="download">Download, Installation, and Running</a></h1> <h3>Linux</h3> <a href="dl_ii_linux.html">Linux download, installation, and running instructions.</a> <br><br><br> <h3>Windows</h3> <a href="dl_ii_windows.html">Windows download and installation instructions.</a> <br><br><br> <h1><a name="requirements">Requirements</a></h1> <menu> <li>Linux or Windows <li>OpenGL - Standard with all modern Windows versions. <li>3D Graphics Hardware Support - The game is unplayable with out it. That is, unless it's the year 2010 or higher. </menu> <h1><a name="screen shots">Screen Shots</a></h1> Here are a few quick screen shots so you have some idea what you're getting yourself into. <br><br> <center> <table><tr> <td><a href="http://aluminumangel.org/attack/screen_shot_0.jpg"> <img src="tn_screen_shot_0.jpg" border=1></a> <td><a href="http://aluminumangel.org/attack/screen_shot_1.jpg"> <img src="tn_screen_shot_1.jpg" border=1></a> <td><a href="http://aluminumangel.org/attack/screen_shot_2.jpg"> <img src="tn_screen_shot_2.jpg" border=1></a> <tr> <td><a href="http://aluminumangel.org/attack/screen_shot_3.jpg"> <img src="tn_screen_shot_3.jpg" border=1></a> <td><a href="http://aluminumangel.org/attack/screen_shot_4.jpg"> <img src="tn_screen_shot_4.jpg" border=1></a> <td><a href="http://aluminumangel.org/attack/screen_shot_5.jpg"> <img src="tn_screen_shot_5.jpg" border=1></a> <tr> <td><a href="http://aluminumangel.org/attack/screen_shot_6.jpg"> <img src="tn_screen_shot_6.jpg" border=1></a> <td><a href="http://aluminumangel.org/attack/screen_shot_7.jpg"> <img src="tn_screen_shot_7.jpg" border=1></a> <td><a href="http://aluminumangel.org/attack/screen_shot_8.jpg"> <img src="tn_screen_shot_8.jpg" border=1></a> </table></center> <h1><a name="wallpaper">Wallpaper</a></h1> You know you need lame Crack Attack! wallpaper. Right click on the links to download. <p> <table width=100%><tr> <td align=center><img border=1 src="tn_wallpaper_a.jpg"><br> <a href="http://aluminumangel.org/attack/crack_wp_a_1280x1024.bmp"> <font size=-1>1280x1024 standard wallpaper</a><br> <a href="http://aluminumangel.org/attack/crack_wp_a_1152x864.bmp"> 1152x864 standard wallpaper</a> <td align=center><img border=1 src="tn_wallpaper_b.jpg"><br> <a href="http://aluminumangel.org/attack/crack_wp_b_1280x1024.bmp"> <font size=-1>1280x1024 X-treme wallpaper</a><br> <a href="http://aluminumangel.org/attack/crack_wp_b_1152x864.bmp"> 1152x864 X-treme wallpaper</a> </table><br><br> <h1><a name="game play">Game Play</a></h1> <h3>Screen Description</h3> First a quick overview of the game screen. <br><br><table cellspacing=0 cellpadding=0> <tr><td width=50% valign=top> <ol> <li>Crack Attack! logo. <br><br><li>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! <br><br><li>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. <br><br><li>Players' names. <br><br><li>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. <br><br><li>The clock keeps track of how long the current game has taken. In solo mode the clock is replaced by your score. <br><br><li>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. <br><br><li>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 to top of the screen, you loose. <br><br><li>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 causing a bordering elimination. </ol> <td width=50% align=center valign=center> <img src="screen_explanation.jpg" border=1> </table> <h3>Play Control</h3> Play control is very simple. <menu><dt><dd> <dt><code>Arrow Keys</code><br><br> <dd>Move your cursor. Also, in solo mode, rotates the Hall of Fame. <br><br><dt><code>Space Bar</code><br><br> <dd>Swap the blocks your cursor surrounds. <br><br><dt><code>Enter</code><br><br> <dd>Advance your stack upwards one row. <br><br><dt><code>P | p</code><br><br> <dd>Pause the game. During online play, either player is able to unpause a paused game. <br><br><dt><code>Esc</code><br><br> <dd>Concede the current match or exit Crack Attack! after a match. </menu><br><br> <table width=100%><tr><td width=40%> <h3>Game Play</h3> <h4>The Basics</h4> 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 put off slightly your inevitable demise. <p> 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. <p> 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 repose 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. <h4>Multiple Eliminations</h4> 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. <h4>Combos</h4> 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, it's size proportional to your final multiplier. <h4>Solo Mode</h4> 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. <p> <table border=1> <tr><th>Elimination<th>Value <tr><th>3 blocks<th>2 point <tr><th>4 blocks<th>4 points <tr><th>5 blocks<th>5 points <tr><th>N blocks<th>N points <tr><th>...<th>... </table> <p> 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. <p> But watch out! Eliminations generate garbage in solo mode too. Except the garbage falls on you! So, its a tradeoff between points and garbage. <p> 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. <h4>Gray Block</h4> 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. <p> 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. <p> <table border=1> <tr><th>Elimination<th>Value <tr><th>3 gray blocks<th>6 points <tr><th>4 gray blocks<th>12 points <tr><th>5 gray blocks<th>15 points <tr><th>N gray blocks<th>3N points </table> <h3>X-treme Play Mode</h3> 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! <p> Use the <code>-X</code> 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. <p> In Crack Attack! X-treme no block can be trusted and nothing is as it seems! <h4>Wild Block</h4> This crazy block can't decide which color it wants to be! Slowly it shifts though the spectrum, hoping to cause an unexpected match. <h4>Special Orange Block</h4> This baby lays out a hunk of garbage taller than it is wide, guaranteed to add height to your opponent's stack, and quick! <h4>Special Yellow Block</h4> 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. <h4>Special Green Block</h4> 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. <h4>Special Blue Block</h4> 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! <h4>Special Purple Block</h4> 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. <h4>Gray Block</h4> This old guy's still along for the ride. You'll need him to help eliminate his relatives. <h4>Ancient Ancestors of the Gray Block</h4> 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! <h4>Point Values</h4> 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. <p> <table border=1> <tr><th>Special Block<th>Value <tr><th>special orange<th>10 points <tr><th>special yellow<th>15 points <tr><th>special green<th>8 points <tr><th>special blue<th>5 points <tr><th>special purple<th>5 points <tr><th>black<th>? points <tr><th>white<th>? points </table> </menu> <h1><a name="advanced features">Advanced Features</a></h1> <h3>Personal Garbage Image</h3> Crack Attack! is fully customizable! <p> 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. <p> A personal garbage image must be 128x128 or smaller. Save the image as an uncompressed TGA with alpha channel. Name the image file <code>garbage_flavor_my.tga</code>. If you are running Linux, put the file in the directory <code>.crack-attack/</code> which is located in your home directory. If you are running Windows, put the file in the directory <code>localdata</code> 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. <p> 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 <code>.crack-attack/</code> located in your home directory. Under Windows it will be found in the directory <code>localdata</code> located in Crack Attack!'s application directory. The file will be among the files named <code>garbage_flavor_###.tga</code>. Simply delete it. <h1><a name="final note">Final Notes</a></h1> <h3>Potential Improvements</h3> Believe it or not, there are improvements which could be made to Crack Attack! <ul> <li>Improved Socket Code <br><br> 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. 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. <br><br> <li>Triangle Strips <br><br> 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. <br><br> <li>Windows Version <br><br> Done! <br><br> <li>Sound <br><br> I'm only one man!!! I don't have the time or the tools right now. <br><br> <li>Chat <br><br> Want to chat during a game? Go download AIM. <br><br> <li>Money <br><br> Someday someone will pay me to do this kind of crap. And I'll have an artist! </ul> <h3>Thanks to...</h3> 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 <h3>GNU General Public License</h3> Copyright (C) 2002 Daniel Richard Nelson <p> 174 W. 18th Ave.<br> Columbus, OH 43210 USA<br> <a href="mailto:nelson@aluminumangel.org"> nelson@aluminumangel.org</a><br> <a href="http://aluminumangel.org">aluminumangel.org</a><br> <p> 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. <p> 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. <p> The GNU General Public License can be found online at <a href="http://www.gnu.org/copyleft/gpl.html"> http://www.gnu.org/copyleft/gpl.html</a>. Additionally, a copy can be obtained by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. <h3>Disclaimer</h3> 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. <h1><a name="contact">Contact</a></h1> Direct comments, questions, praise, flames, and job offers to <a href="mailto:nelson@aluminumangel.org"> nelson@aluminumangel.org</a>. Visit my homepage at <a href="http://aluminumangel.org">aluminumangel.org</a>. <p> <td width=60%></table> </body> </html>