1WHAT:
2
3  So, uh, there's a bunch of penguins on an iceberg in Antarctica. You have
4  been selected to catch them so they can be shipped to Finland, where they
5  are essential to a secret plot for world domination.
6
7  In order to trap the penguins, you'll need to break the iceberg into small
8  chunks. (They're afraid of water, for no apparent reason. Ah well. "The
9  Matrix" had more plot holes than this, and it still was a hit.) You do
10  this by melting lines in the ice with Special High-Tech GNU Tools.
11
12  If a penguin hits a line in progress, however, it vanishes with a loud
13  noise, and you lose a life. (Yes, a life. This story is really breaking
14  down, isn't it? But never fear -- I'll keep going until it's completely
15  dead.)
16
17  Once 80% or more of the iceberg is gone, the remaining chunks are small
18  enough for shipping. Of course, if you manage to get rid of more than
19  that, you'll save on postage, thus earning you exponential amounts of Geek
20  Cred (a.k.a. "score").
21
22  After you ship off one batch of penguins, it's time to move on to the
23  next. Each subsequent 'berg will have one more penguin, and you'll have
24  one more life. This will continue until you lose, or until you exceed
25  level one hundred or so, which Ain't Gonna Happen.
26
27  Of course, this is an urgent mission, so you'll be penalized if you're
28  slow -- every second or so, your score drops down by one. But don't worry,
29  I'm not completely cruel, so any points you earn on one level are yours to
30  keep forever, no matter how long you take on subsequent icebergs.
31
32  As far as I can tell, this makes no narrative sense whatsoever, so at this
33  point, I declare the backstory / game metaphor completely collapsed. Just
34  go play.
35
36
37HOW:
38
39  The left mouse button starts drawing lines; the right (and/or middle)
40  button toggles between making vertical and horizontal lines.  Note that
41  left clicking actually starts *two* lines: either up and down or left and
42  right. (This will make plenty of sense when you're actually playing.) If
43  one of these lines is hit before it reaches the edge of the iceberg,
44  you'll lose a life. If both are hit, you'll lose two lives.
45
46  As a tiny bit of grace, if you click directly on a penguin, it'll say
47  "Ouch" and nothing else will happen.
48
49  Once a line is completed, any area containing no penguins is cleared.
50  Falls into the ocean, so to speak. Once 80% has been cleared, the level is
51  complete. However, you get an exponential bonus for every percentage point
52  above that, so you want to try to make your last line suddenly clear a
53  huge chunk of ice. (Again, this will make sense once you've played for a
54  while.) Oh, and you also get a (much smaller) bonus for having lives left
55  over at the end of a level.
56
57  Taking a long time on a level doesn't affect these bonuses, but it can
58  chip away at your score, so you have to balance the time it takes to set
59  up a situation where you can clear 99% of the iceberg against the bonus
60  you'll get for doing so.
61
62  Having trouble? A hint: it's useful to make traps by intentionally letting
63  some of your lines get broken. That way, you can create smaller areas in
64  which you can catch the pesky little things easily.
65
66
67WHY:
68
69  There's a game for MS Windows called "Jezzball". You may notice that this
70  one is extremely similar. There's a reason for that. See, our main
71  computer at home runs Linux most of the time, but it has Win95 set up to
72  dual-boot if need be. (Unfortunately, it's too slow to run VMware or Wine
73  well.) Ideally, of course, the machine stays in Linux, but my wife, Karen,
74  really likes puzzle sorts of games and became highly addicted to this
75  Jezzball thing. Well, we simply couldn't have the system wasting its life
76  in Windows all that time, so I took it upon myself to create a
77  sort-of-clone. (It's not a pure clone, because I like to think that I've
78  done many things in a far superior way.) So this game can be thought of,
79  in a simultaneously dangerously geeky and dangerously mushy way, as sort
80  of a dual love-letter, to both Karen and Linux. :)
81
82  It's therefore somewhat ironic that IceBreaker now exists in a MS
83  Windows version. Ah well. I know not all of you have been converted yet,
84  and you might as well enjoy the game too.
85
86  Oh, and to answer another "Why" question, especially for my friend Lars:
87  why is this program written in C and yet uses C++ style comments? Because
88  I like C++ style comments, that's why.
89
90WHO:
91
92  This game was written by Matthew Miller <mattdm@mattdm.org>.
93
94  Recent versions have benefited immensely from the help of Enrico Tassi
95  <gareuselesinge@infinito.it>. He's responsible for getting the Win32 port
96  to work so nicely, and for a lot of fancy new features. Enrico doesn't
97  live here in Boston, but he's a huge fan of Boston band Letters To Cleo,
98  so that counts for something.
99
100  Much thanks to Karen for everything. In fact, if you really love this
101  game, check out Ten Thousand Villages <http://www.tenthousandvillages.org>,
102  the non-profit organization for which she works. And if you live near
103  Boston, MA, stop in to the store in Coolidge Corner (Brookline) and say
104  "Hi" and perhaps buy something -- they have cool stuff and it's a really
105  great organization.
106
107  Thanks also to Tae-Jin, for helping me squash a nasty bug, and to Paul for
108  testing and suggestions and proofreading this document. And to the folks
109  at the helpdesk downstairs for playing this game instead of working.
110
111  The sounds were either originally created or borrowed from freely-licensed
112  sources and modified heavily. Thanks to Wesley Crossman for his
113  contributions. I'd still like lots more cool good ones -- either
114  improvements of the existing sounds or for new themes.
115
116  The penguin image is mostly my own work, but is based on a graphic
117  from Pingus <http://dark.x.dtu.dk/~grumbel/pingus/>.
118
119  Actually, I'm quite open to accepting any help anyone wants to give.
120
121
122WHEN:
123
124  A week or two in September 2000, and then some more time in July 2001,
125  and then in May 2002, so on.
126
127
128WHERE:
129
130  Get it from: <http://www.mattdm.org/icebreaker/>
131
132  Report bugs: <mattdm@mattdm.org>
133
134
135WHICH:
136
137  (As in, "On which libraries does icebreaker depend?")
138
139  libSDL and libSDL_mixer. <http://www.libsdl.org/>
140
141
142WHITHER:
143
144  I'm now actively working on IceBreaker, and a few other people have been
145  too (most notably, Enrico Tassi). If you want to help, or are just
146  interested in what's going on, check out the development section of the
147  IceBreaker website at <http://www.mattdm.org/icebreaker/development.html>.
148
149
150------------------------------------------------------------------------------
151Copyright (C) 2000-2002 Matthew Miller and others and released under the
152terms of the GNU General Public License.
153
154This project uses the Simple DirectMedia Layer and SDL Mixer libraries which
155are available under the GNU LGPL license. SDL and SDL_mixer source code
156should be available from wherever you got IceBreaker; if you can't find it,
157it is available at <http://www.mattdm.org/icebreaker/> or at the main SDL
158site <http://www.libsdl.org/>.
159