Copyright updates. I hope that I didn't miss anybody.
[crack-attack.git] / doc / index.html
blob16507d15061ea1ee3b648ac799a53717d42eb160
1 <html>
2 <head>
3 <title>Crack Attack!</title>
4 <meta name="keywords" content="crack attack free software game Linux Windows OpenGL download instructions installation Daniel Nelson">
5 <meta name="description" content="Download, installation, and game play instructions for the free OpenGL game Crack Attack! by Daniel Nelson.">
6 </head>
8 <body text="#c0c0c0" link="#cc00cc" vlink="#eeeeee" bgcolor="#000000">
10 <table width=100%><tr>
11 <td width=40% align=center valign=center>
12 <img src="logo_big.jpg" border=0>
13 <td width=60% align=center valign=center>
14 <font size=+3>
15 <br><br>
16 A free OpenGL game for Linux and Windows
17 <font size=+1>
18 <p>based on the Super Nintendo classic
19 <br>Tetris Attack
20 <font size=+0>
21 <p>by Daniel Nelson
22 <p>
23 <p><font size=-1>version 1.1.8</font>
24 <br>
25 <br>
26 <p><font size=-1><a href="http://www.gnugeneration.ch/attack/">Version fran&ccedil;aise</a></font>
27 </tr></table>
28 <br><br>
29 <br><br><center>
30 <a href="#download">Download, Installation, and Running</a> |
31 <a href="#requirements">Requirements</a> |
32 <a href="#screen shots">Screen Shots</a> |
33 <a href="#wallpaper">Wallpaper</a> <br>
34 <a href="#game play">Game Play</a> |
35 <a href="#advanced features">Advanced Features</a> |
36 <a href="#final note">Final Notes</a> |
37 <a href="#contact">Contact</a>
38 </center><br>
39 <hr>
40 <br>
42 <h1><a name="download">Download, Installation, and Running</a></h1>
43 <h3>Linux</h3>
44 <a href="dl_ii_linux.html">Linux download, installation, and running instructions.</a>
45 <br><br><br>
46 <h3>Windows</h3>
47 <a href="dl_ii_windows.html">Windows download and installation instructions.</a>
48 <br><br><br>
50 <h1><a name="requirements">Requirements</a></h1>
51 <menu>
52 <li>Linux or Windows
53 <li>OpenGL - Standard with all modern Windows versions.
54 <li>3D Graphics Hardware Support - The game is unplayable with out it. That is,
55 unless it's the year 2010 or higher.
56 </menu>
58 <h1><a name="screen shots">Screen Shots</a></h1>
59 Here are a few quick screen shots so you have some idea what you're getting
60 yourself into.
61 <br><br>
62 <center>
63 <table><tr>
64 <td><a href="http://aluminumangel.org/attack/screen_shot_0.jpg">
65 <img src="tn_screen_shot_0.jpg" border=1></a>
66 <td><a href="http://aluminumangel.org/attack/screen_shot_1.jpg">
67 <img src="tn_screen_shot_1.jpg" border=1></a>
68 <td><a href="http://aluminumangel.org/attack/screen_shot_2.jpg">
69 <img src="tn_screen_shot_2.jpg" border=1></a>
70 <tr>
71 <td><a href="http://aluminumangel.org/attack/screen_shot_3.jpg">
72 <img src="tn_screen_shot_3.jpg" border=1></a>
73 <td><a href="http://aluminumangel.org/attack/screen_shot_4.jpg">
74 <img src="tn_screen_shot_4.jpg" border=1></a>
75 <td><a href="http://aluminumangel.org/attack/screen_shot_5.jpg">
76 <img src="tn_screen_shot_5.jpg" border=1></a>
77 <tr>
78 <td><a href="http://aluminumangel.org/attack/screen_shot_6.jpg">
79 <img src="tn_screen_shot_6.jpg" border=1></a>
80 <td><a href="http://aluminumangel.org/attack/screen_shot_7.jpg">
81 <img src="tn_screen_shot_7.jpg" border=1></a>
82 <td><a href="http://aluminumangel.org/attack/screen_shot_8.jpg">
83 <img src="tn_screen_shot_8.jpg" border=1></a>
84 </table></center>
86 <h1><a name="wallpaper">Wallpaper</a></h1>
87 You know you need lame Crack Attack! wallpaper. Right click on the links to
88 download.
89 <p>
90 <table width=100%><tr>
91 <td align=center><img border=1 src="tn_wallpaper_a.jpg"><br>
92 <a href="http://aluminumangel.org/attack/crack_wp_a_1280x1024.bmp">
93 <font size=-1>1280x1024 standard wallpaper</a><br>
94 <a href="http://aluminumangel.org/attack/crack_wp_a_1152x864.bmp">
95 1152x864 standard wallpaper</a>
96 <td align=center><img border=1 src="tn_wallpaper_b.jpg"><br>
97 <a href="http://aluminumangel.org/attack/crack_wp_b_1280x1024.bmp">
98 <font size=-1>1280x1024 X-treme wallpaper</a><br>
99 <a href="http://aluminumangel.org/attack/crack_wp_b_1152x864.bmp">
100 1152x864 X-treme wallpaper</a>
101 </table><br><br>
103 <h1><a name="game play">Game Play</a></h1>
105 <h3>Screen Description</h3>
106 First a quick overview of the game screen.
107 <br><br><table cellspacing=0 cellpadding=0>
108 <tr><td width=50% valign=top>
109 <ol>
110 <li>Crack Attack! logo.
111 <br><br><li>Your opponent's level lights. These indicate the height of your
112 opponent's stack. When the red reaches the top and they start flashing, he's in
113 trouble!
114 <br><br><li>Your level lights. These correspond to the height of your stack.
115 When your stack reaches the top of the screen, these lights flash to warn you of
116 your impending doom. You've got seven seconds to reduce your stack or you lose.
117 If nothing else, just eliminate some blocks. Time during which blocks are
118 disappearing or garbage is shattering do not count towards these seven seconds.
119 <br><br><li>Players' names.
120 <br><br><li>Your star collection. When you win a game, you get a happy yellow
121 star. Once you earn two, you win the match! In this case the player won the
122 first game, lost the second, and the third star is being contested.
123 <br><br><li>The clock keeps track of how long the current game has taken. In
124 solo mode the clock is replaced by your score.
125 <br><br><li>The four orange blocks have been eliminated and are disappearing.
126 Any time three or more of the same color blocks are in a row, they eliminate.
127 In this case, since the elimination is more than the minimum size of three, a
128 '4' appeared to let the player know he was doing a good job. The
129 rectangular-ish white thing is your cursor. You control it with the arrow keys
130 and use it to manipulate the colored blocks in your stack.
131 <br><br><li>These are the blocks in your stack. You can use your cursor to swap
132 blocks which are side-by-side in order to put blocks of like color into a row,
133 which causes them to eliminate. And you'd better be quick about it, because
134 your stack will creep up from the bottom and once it reaches to top of the
135 screen, you loose.
136 <br><br><li>This is a piece of garbage in your stack. When your opponent does
137 something clever, for example eliminating four blocks at once, garbage will fall
138 from above, cluttering your stack. You can shatter garbage into normal blocks
139 by causing a bordering elimination.
140 </ol>
141 <td width=50% align=center valign=center>
142 <img src="screen_explanation.jpg" border=1>
143 </table>
145 <h3>Play Control</h3>
146 Play control is very simple.
147 <menu><dt><dd>
148 <dt><code>Arrow Keys</code><br><br>
149 <dd>Move your cursor. Also, in solo mode, rotates the Hall of Fame.
150 <br><br><dt><code>Space Bar</code><br><br>
151 <dd>Swap the blocks your cursor surrounds.
152 <br><br><dt><code>Enter</code><br><br>
153 <dd>Advance your stack upwards one row.
154 <br><br><dt><code>P | p</code><br><br>
155 <dd>Pause the game. During online play, either player is able to unpause a
156 paused game.
157 <br><br><dt><code>Esc</code><br><br>
158 <dd>Concede the current match or exit Crack Attack! after a match.
159 </menu><br><br>
161 <table width=100%><tr><td width=40%>
162 <h3>Game Play</h3>
163 <h4>The Basics</h4>
164 Slowly, your stack of blocks grows from the bottom, and you've got to make sure
165 it never reaches the top. Because, once it does, you lose! To eliminate
166 blocks from the stack, line up at least three of one color, horizontally or
167 vertically. Once you do, those blocks disappear, and put off slightly your
168 inevitable demise.
170 To add to the excitement, chunks of red garbage will fall from above. It is
171 impossible to eliminate this garbage directly. However, if you eliminate any
172 blocks which are touching the garbage, the garbage will shatter into normal,
173 run-of-the-mill blocks.
175 Throughout the game your stack of blocks will slowly grow from below, initially
176 quite slowly but always faster and faster. When the stack reaches the top it
177 will pause and you have seven seconds to save yourself.
178 It is possible, however, to get a momentary repose from your stack's assent.
179 When you eliminate a block or cause garbage to shatter, the growth of your
180 stack will pause. Even if your stack has reached the top and you're about to
181 lose, you will be given a little more time to save yourself. Time during which
182 a block is disappearing or a chunk of garbage is shattering does not count
183 towards your seven seconds.
184 <h4>Multiple Eliminations</h4>
185 So, what is it that causes this garbage? Well, the garbage is your opponent's
186 way of sticking it to you; and, conversely, your way of sticking it to him.
187 While any old slod can eliminate a ho-hum three blocks, a true master will
188 eliminate four, five, or even more blocks at one time. And when he does,
189 not only will he be rewarded with a little light show, but garbage will
190 come raining down onto his opponent's stack! Just remember, the bigger the
191 elimination, the bigger the downpour.
192 <h4>Combos</h4>
193 Beyond the multiple elimination method, there is yet another technique to
194 generate troublesome garbage. I speak of the dreaded combo. Whenever you
195 eliminate blocks, it's likely to cause other blocks to fall, either simply
196 because they were above the eliminated blocks, or because you have freed them
197 from a piece of overhanging garbage. If, when these blocks fall, they cause a
198 second elimination, you've got yourself a combo. If you're good enough to
199 keep the combo rolling, your combo multiplier will increment for each
200 elimination. And, when the combo is finally complete, a massive chunk of
201 garbage will descend upon your opponent, it's size proportional to your final
202 multiplier.
203 <h4>Solo Mode</h4>
204 Solo play works a little differently. Instead of trying to last longer than an
205 opponent, now you're attempting to rack up as many points as possible before
206 you die. The number of points you get for an elimination depends on how fancy
207 it is.
209 <table border=1>
210 <tr><th>Elimination<th>Value
211 <tr><th>3 blocks<th>2 point
212 <tr><th>4 blocks<th>4 points
213 <tr><th>5 blocks<th>5 points
214 <tr><th>N blocks<th>N points
215 <tr><th>...<th>...
216 </table>
218 When you get a combo, all of the points you earned in the eliminations which
219 made up that combo are multiplied by the combo's highest multiplier. So, for
220 example, if you work up to a x5 combo, then all of the eliminations in that
221 combo will be worth five times the points.
223 But watch out! Eliminations generate garbage in solo mode too. Except the
224 garbage falls on you! So, its a tradeoff between points and garbage.
226 Once the game is over, if your score is within the top thirty scores ever, you
227 win and your name is added to the Hall of Fame! If you manage to get the
228 number one spot, you're in for an extra special treat. Use the arrow keys when
229 viewing the Hall of Fame in order to check out the other scores.
230 <h4>Gray Block</h4>
231 While there is little more to say about the five standard colored blocks,
232 there is an additional color of block, more rare than the others, the gray
233 block. Even the elimination of just three gray blocks generates garbage,
234 and this is no ordinary garbage. Normally when a piece of garbage shatters,
235 the effect propagates on, destroying all garbage that it is in contact with.
236 Often just one well placed elimination by your opponent can shatter all
237 of your hard earned garbage. Well, gray garbage stops shattering
238 propagation like a firewall and can only be destroyed by an elimination
239 in direct contact with it.
241 In solo mode a gray elimination generates three times the points! Because gray
242 blocks are worth so many points, it's a good idea to try and work them into a
243 combo multiplier.
245 <table border=1>
246 <tr><th>Elimination<th>Value
247 <tr><th>3 gray blocks<th>6 points
248 <tr><th>4 gray blocks<th>12 points
249 <tr><th>5 gray blocks<th>15 points
250 <tr><th>N gray blocks<th>3N points
251 </table>
253 <h3>X-treme Play Mode</h3>
254 For those who have mastered the art of Crack Attack! and hunger for something
255 more, we offer Crack Attack! X-treme!!! In Crack Attack! X-treme long lost
256 block types, thought by some to be extinct, have resurfaced. Gone is the
257 ho-hum, work-a-day world of the lone gray special block type. Replacing it is
258 a cavalcade of color: over eight special block types!
260 Use the <code>-X</code> command-line option to access X-treme play
261 mode. One should note that normal play mode is the true test of one's
262 Crack Attack! skill. While normal play mode can be likened to chess, X-treme
263 play mode is more akin to winging a super ball as hard as you can in a small
264 room, and seeing who gets hit first. It's fun, just a bit random.
266 In Crack Attack! X-treme no block can be trusted and nothing is as it seems!
267 <h4>Wild Block</h4>
268 This crazy block can't decide which color it wants to be! Slowly it shifts
269 though the spectrum, hoping to cause an unexpected match.
270 <h4>Special Orange Block</h4>
271 This baby lays out a hunk of garbage taller than it is wide, guaranteed to add
272 height to your opponent's stack, and quick!
273 <h4>Special Yellow Block</h4>
274 Knock your opponent flat with this block's diseased garbage! All his controls
275 will be reversed until he can figure out a way to shatter the garbage and cure
276 himself.
277 <h4>Special Green Block</h4>
278 Special green blocks generate poisoned garbage which blinds your opponent!
279 Well, sort of. Actually, it will cause his cursor to flicker and then
280 disappear. The cursor will remain nearly invisible until the poisoned garbage
281 is shattered.
282 <h4>Special Blue Block</h4>
283 When you cause the blue garbage generated by this special block to shatter,
284 instead of turning into blocks, it becomes normal garbage. What a pain!
285 <h4>Special Purple Block</h4>
286 Forget those big, easy-to-shatter chunks of connected garbage. Any elimination
287 with this block causes a veritable downpour of miniature purple garbage
288 onto your opponent's stack. That stuff has a nasty habit of getting into all
289 the wrong places.
290 <h4>Gray Block</h4>
291 This old guy's still along for the ride. You'll need him to help eliminate his
292 relatives.
293 <h4>Ancient Ancestors of the Gray Block</h4>
294 There are rumored to be even more rare and powerful block colors, lost
295 relatives of the gray block. Legend speaks of a black block and a white block,
296 one which generates obsidian garbage that is nigh impossible to shatter and the
297 other which generates pearl garbage and has dominion over the sun itself!
298 <h4>Point Values</h4>
299 In solo mode many of the X-treme blocks are worth bonus points. But are the
300 points worth their deadly garbage!? You must decide. It's always a good idea
301 to try and work any special block eliminations into a combo. That way the
302 special blocks' bonus points will be multiplied by the combo's multiplier.
304 <table border=1>
305 <tr><th>Special Block<th>Value
306 <tr><th>special orange<th>10 points
307 <tr><th>special yellow<th>15 points
308 <tr><th>special green<th>8 points
309 <tr><th>special blue<th>5 points
310 <tr><th>special purple<th>5 points
311 <tr><th>black<th>? points
312 <tr><th>white<th>? points
313 </table>
315 </menu>
317 <h1><a name="advanced features">Advanced Features</a></h1>
318 <h3>Personal Garbage Image</h3>
319 Crack Attack! is fully customizable!
321 That is a big lie. However, you can get it to use your own personal giant
322 garbage image. Often, whenever you lay a really serious piece of garbage
323 down on your opponent, it will have some sort of inspirational message
324 on it. Normally, Crack Attack! chooses an image at random from its little
325 stock pile. However, if you specify your own personal image, Crack Attack! will
326 use it more often than not. During online play your image will be placed on
327 any giant pieces of garbage which fall on your opponent. With solo play the
328 image will be used on garbage you send to yourself. Just think of the
329 possibilities! You can communicate your views on your opponent's
330 intelligence, at the same time as you play a rousing game of Crack Attack!
331 You could propose to your girlfriend, assuming she's enough of a loser to play
332 Crack Attack! The list goes on.
334 A personal garbage image must be 128x128 or smaller. Save the image as an
335 uncompressed TGA with alpha channel. Name the image file
336 <code>garbage_flavor_my.tga</code>. If you are running Linux, put the file in
337 the directory <code>.crack-attack/</code> which is located in your home
338 directory. If you are running Windows, put the file in the directory
339 <code>localdata</code> which is located in Crack Attack!'s application
340 directory. Remember, do NOT use RLE compression when saving. Why? Because
341 I'm too lazy to code up an uncompressor but too proud to use someone else's.
342 Plus, your hard drive is huge. If you're really hard up for space, maybe you
343 could delete a few of those LEXX episodes. When creating a personal garbage
344 image, use a transparent background and keep in mind that that transparent
345 background will become red once the image is placed on the garbage.
347 As you play against a multitude of opponents, Crack Attack! will accumulate a
348 set of garbage images and will use them from time to time. If you manage to
349 obtain a garbage image which is of particularly bad taste and you'd like to be
350 rid of it, find its file. Under Linux it will be found in the directory
351 <code>.crack-attack/</code> located in your home directory. Under Windows it
352 will be found in the directory <code>localdata</code> located in Crack
353 Attack!'s application directory. The file will be among the files named
354 <code>garbage_flavor_###.tga</code>. Simply delete it.
356 <h1><a name="final note">Final Notes</a></h1>
357 <h3>Potential Improvements</h3>
358 Believe it or not, there are improvements which could be made to Crack Attack!
359 <ul>
360 <li>Improved Socket Code
361 <br><br>
362 Crack Attack!'s socket code was written based on my experience
363 with parallel scientific simulation code. And no one has ever accused a
364 piece of academic simulation code of being nimble. That is, my socket use
365 is perhaps a bit naive, and I doubt it deals as effectively as it might with
366 such things as not having a direct and dedicated connection.
367 Much to my surprise, games have been successfully played between opponents
368 on opposite coasts. None the less, there is still much for me to learn when
369 it comes to writing robust, time-critical socket code. Until then, your best
370 bet is to stay inside your LAN.
371 <br><br>
372 <li>Triangle Strips
373 <br><br>
374 I'm lazy and thus never got around to triangle stripping the basic block. As it
375 is the block has over five hundred vertices. That's almost embarrassing.
376 <br><br>
377 <li>Windows Version
378 <br><br>
379 Done!
380 <br><br>
381 <li>Sound
382 <br><br>
383 I'm only one man!!! I don't have the time or the tools right now.
384 <br><br>
385 <li>Chat
386 <br><br>
387 Want to chat during a game? Go download AIM.
388 <br><br>
389 <li>Money
390 <br><br>
391 Someday someone will pay me to do this kind of crap. And I'll have an artist!
392 </ul>
394 <h3>Thanks to...</h3>
395 Colin Walters | Wade Lutgen, friend and co-conspirator | Roland Peetz, play
396 tester | Greg Kilcup, my infinitely patient graduate studies professor | Andy
397 Colebourne, creator of AC3D - used to model the basic block | Mark Kilgard,
398 creator of GLUT | the GIMP team | Nullsoft, creators of NSIS - an excellent and
399 free utility for creating Windows install scripts | Mark Wilde | Mom
401 <h3>GNU General Public License</h3>
402 Copyright (C) 2002 Daniel Richard Nelson
404 174 W. 18th Ave.<br>
405 Columbus, OH 43210 USA<br>
406 <a href="mailto:nelson@aluminumangel.org">
407 nelson@aluminumangel.org</a><br>
408 <a href="http://aluminumangel.org">aluminumangel.org</a><br>
410 This program is free software; you can redistribute it and/or
411 modify it under the terms of the GNU General Public License
412 as published by the Free Software Foundation; either version 2
413 of the License, or (at your option) any later version.
415 This program is distributed in the hope that it will be useful,
416 but WITHOUT ANY WARRANTY; without even the implied warranty of
417 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
418 GNU General Public License for more details.
420 The GNU General Public License can be found online at
421 <a href="http://www.gnu.org/copyleft/gpl.html">
422 http://www.gnu.org/copyleft/gpl.html</a>.
423 Additionally, a copy can be obtained by writing to the Free Software
424 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
426 <h3>Disclaimer</h3>
427 It is important to realize that the name of Crack Attack! X-treme play mode is
428 meant to be humorous, and thus should not itself be the subject of derision.
429 Thank you.
431 <h1><a name="contact">Contact</a></h1>
432 Direct comments, questions, praise, flames, and job offers to
433 <a href="mailto:nelson@aluminumangel.org">
434 nelson@aluminumangel.org</a>. Visit my homepage at
435 <a href="http://aluminumangel.org">aluminumangel.org</a>.
438 <td width=60%></table>
440 </body>
441 </html>