gather
======

Who can say how it happened? Stray gamma rays, broken neurotronics.... 
swizzled turbo encabulator? Suffice to say, one droid has gained intelligence 
and must now reprogram its brethren to destroy the evil overlords.

Gather your fellow workers from across the frozen desert and unite against 
the big tank like things that shoot rockets!

    "Gather ye rosebuds while ye may, 
    Old Times is still a-flying: 
    And this same flower that smiles today, 
    Tomorrow will be dying."

--  Robert Herrick    

===================================================================
PLAY:

Contol with the arrow keys, shoot with spacebar, show the in-game menu/pause 
by pressing "m" or ESC.

When you get close enough to a friendly, a connection will form and you will 
begin conversion.  Once the green bar fills up, the friendly will seek out and 
attack the nearest overlord.  When all the overlords have been destroyed, the 
level ends.

Some game variables can be modified in the file "locals.py".  Save a backup
copy, and have fun tweaking.  

Normal Game = four levels of increasing difficulty
Custom Game = set the number of friends, enemies and lives and have at it for 
    one round.
Survival = Every enemy that blows up spawns two in its place.  Last as long as 
    you can

CODE:

This code massively breaks style guidlines, has more control mishandling than a
spaghetti factory, and probably has some mispellings.  But, it works on 
my Ubuntu box and my Windows box, so there ya' go.  You can get the full source
with svn: 
   $ svn checkout http://adam-games.googlecode.com/svn/trunk/pyweek-06/gather gather

Much love to the creator of the Splush package 
(http://www.hectigo.net/puskutraktori/tutorials/splush.php) for freely providing 
a framework to take the hassle out of creating a game.  Every .py file that 
starts with a lowercase letter is originally from the Splush package.

For questions or complaints, you can contact me, Adam Bachman, at:
    adam.bachman@gmail.com 


CHANGES: 

1.2 (post pyweek)
    * added survival mode.
    * fixed self-blit bug (no more crashing at the end of the first level)
    * added conversion animation
    * minor gameplay tweaks (change number of friendlies during gameplay)
    * removed numpy requirement
    * fixed score reset bug (score never reset)
1.1 (pyweek edition)
    * is what it is


DEPENDENCIES:

You need to install these before using this code:

  Python:     http://www.python.org/
  PyGame:     http://www.pygame.org/
  
The pysyco package is also *highly* recommended:

  Psyco:    http://psyco.sourceforge.net/
  
  
RUNNING:

On Windows or Mac OS X, locate the "run_game.py" file and double-click it.

Othewise open a terminal / console and "cd" to the game directory and run:

  python run_game.py
  

LICENSE:

All the included code and documentation is placed in the Public Domain.
This means you can use, modify and redistribute it any way you like.

The included sounds, "menu_loop.ogg" and "game_song_02.ogg", are from the song, 
"A Few Blocks" by Monokai and licensed under a Creative Commmons by-nc-sa 
license. (non commercial, remixes welcome with attribution to the original 
creator)

All other sounds are from http://www.soundsnap.com.

The background tile (polar_bg_small.jpg) is from Spiral Graphics:
    http://www.spiralgraphics.biz/packs/terrain_desert_barren/index.htm?25#anchor
    
All character art if from the Hard Vacuum graphics set available at:
    http://www.lostgarden.com/files/HardVacuum.zip 
and described at:
    http://lostgarden.com/2005/03/game-post-mortem-hard-vacuum.html
They all still belong to Danc.  Thanks to him I barely had to open GIMP.


