Some of this is work in progress, and some it is just stuff I'd like to see.
Check out <http://www.mattdm.org/icebreaker/development.shtml> for details.

* many (78 at last count) sections of the code are marked with "FIX", in
  places where I know I did something messy, foolish, or inefficient.
* there are likely other bits of messiness, foolishness, and inefficiency
  which I haven't realized are there
* this is part of the above, but bears mentioning separately: some of the
  code is the product of late-night hacking and, while it works fine,
  desperately needs cleaning up


For 2.0:
- add command line option for themes
- fix man page to show command-line options
- add confirm dialog for changing difficulty level (have patch from Enrico)
- add keyboard support (especially needed for MacOS)
  * ESC to exit full-screen mode and to cancel menus.
  * SPACE or CTRL or X or . for toggle direction
  * ENTER or Z or , for start lines
  ? Arrow keys move mouse (would anyone really do that?)
  ? user-definable keys (a big pain for little reward....)
- have 10-12 themes (currently at 7)
- write README.themes to document how to create themes
- make man page version of themes help?
- fix race condition in readhiscore()/checkhiscore()/addhiscore() -- 
  add lock file
- autopause causes refreshes to not happen. bad.
- that annoying "entire iceshelf collapses" bug is *still* there. happens
  very very very very rarely, though, so I can't figure out what exactly
  the problem is. probably something wrong with squarefill() or some other
  part of checkempty() in grid.c. I tried changing a few things, but it's
  hard to prove that the problem is solved when you can't recreate it....
- make it so when both lines get broken exactly at once, the second sound
  is delayed very slightly so that the user gets audio feedback that two
  lives were lost

Post 2.0 (but sooner if we're lucky):
- check for high scores on 'quit' when in the midst of a game
- option to turn off scrolling level-end text (transitions = normal/fast)
- there is a little bug where in certain situations you can start an
  opposing line directly in the path of an oncoming line, causing lines 
  which are essentially on top of each other. Not a terribly fatal flaw,
  but I'm going to fix it sometime. :)
- make the program not crash if data files can't be found. (Of course, on
  Win32, we're SOL without the SDL DLLs anyway.)
- code cleanup in the event loops -- move stuff to helper functions

For 3.0:
- convert to C++ -- reduce global variables
- animated sprites
- replace randomized "demo" with a real demo that at least follows the
  rules -- and ideally plays a decent game. random semi-AI play would be
  great; a recording mechanism of some sort is second-best

Possibly:
- Have bonus Things which get you points (or change game mechanics) for
  trapping with a single penguin. (in a small enough space?)

Probably never:
- make GNOME/KDE versions?
- the animation is really jerky with some refresh rates. what to do about
  this? last time I wrote a game was under DOS, and you could easily
  sync to the vertical refresh.....
