Sulk - README

------------------------------------------------------------------------------
    0. Contents:
------------------------------------------------------------------------------

1 - Intro
2 - Files
3 - Installation
4 - Requirements
5 - Running Sulk
6 - How to play
7 - Help us out
8 - Acknowledgements


------------------------------------------------------------------------------
    1. Intro (incl. LEGALESE)
------------------------------------------------------------------------------

Find the latest version of Sulk at http://sulk.sourceforge.net

Sulk is a version of the first edition of the board game 'Space Hulk',
published, but AFAIK not made any more, by Games Workshop Ltd in the United
Kingdom.

Space Hulk rocks!  But it's fiddly to set up, and no-one ever wants to play
when you're an adult.  And you can't paint for toffee.  Hence the race to
produce a nice networked version.

Right now Sulk is mainly a 'hot-seat', 2-player version of the game.  There is
a very stupid AI player for the Stealers, which you can choose from the first
menu.  We hope to eventually develop network support, plus more missions,
Deathwing and Genestealer (expansion pack) rules, and mission lists /
campaigns.

Sulk is in 'alpha' development.  If you would like to help, see 'Help us
out' below.  Feedback is always welcome!  Go to the web site and hit the
'forums' link to leave your comments.

A manual, screenshots and so on are available at the web site.


    LEGALESE follows...

Sulk, with its graphics, is copyright 2002 Toby Woodwark
<zirtix--at--softhome--dot--net>.  These parts are distributed under the GNU
General Public License.  You should have received a copy of this license in the
file COPYING.  If not, contact the Free Software Foundation for a copy
( http://www.fsf.org ).  You may use version 2 or (at your option) any later
version.

See the files ./data/fonts/FONTS_INFO and ./data/sounds/SOUNDS_INFO for details
of the copyright and distribution conditions on the fonts and sounds we have
included.

The following terms are trademarks of Games Workshop Limited: Warhammer, Space
Hulk, Genestealer, Space Marine, Storm Bolter, Deathwing.  Used without
permission.  No challenge to the trademark status of these or other terms is
intended.  Sulk is not endorsed by Games Workshop.


------------------------------------------------------------------------------
    2. Files
------------------------------------------------------------------------------

You should have the following files in a directory together:

README          - this file
COPYING         - distribution license
WHATSNEW        - list of changes, 'roadmap'
HACKING         - info on the code
AUTHORS         - the people responsible

sulk.py         - program
sulkrc          - example configuration file

src/            - program modules
data/           - missions, images, fonts, sounds


------------------------------------------------------------------------------
    3. Installation
------------------------------------------------------------------------------

You can't really 'install' Sulk at the moment.  Just unzip or untar it
somewhere.  You can put a config file at ~/.sulkrc or just edit ./sulkrc (read
for details).


------------------------------------------------------------------------------
    4. Requirements
------------------------------------------------------------------------------

Sulk is written in Python (http://www.python.org) and requires version >= 2.2.
It depends on the Pygame module (http://www.pygame.org) (version >= 1.5) so you
must have SDL (http://www.libsdl.org) and SDL_ttf installed.  It *should* run
on all platforms with Python and SDL support.  This includes GNU/Linux and MS 
Windows.


------------------------------------------------------------------------------
    5. Running Sulk
------------------------------------------------------------------------------

sulk.py is the Python script which launches the main program.  In a Unix shell,
if it is executable, you can run it:

$ ./sulk.py 
    
This depends on having env installed (e.g. as part of GNU sh-utils).
Otherwise, try:

$ python sulk.py
    
To see command-line options add the option '-h' or '--help', viz:

$ ./sulk.py -h
    
On some platforms (e.g. MS Windows) if Python is properly installed then you
can run sulk.py from the file browser, e.g. by double-clicking on it.

Note on RedHat: with distributions earlier than RH 8, the default 'python' rpm
package is not Python 2.  Make sure to install 'python2' (version 2.2 or later)
instead.  You might want to alter the first line of sulk.py to point to the
correct executable (this would be /usr/bin/python2.2).


------------------------------------------------------------------------------
    6. How to play
------------------------------------------------------------------------------

There is a manual on the web site at http://sulk.sourceforge.net/manual

This is often out of date, so be prepared for some things to be wrong.

Here is a summary of the default keyboard and mouse controls:

To quit:            
                    a) press escape
                    b) close the game window
                    
Yo pause the game and get a menu:
                    a) click the 'pause' button
                    b) press P
                    
To move the map around: 
                    a) click in the minimap at the top right
                    b) use the arrow keys
                    c) click in the main map with the middle mouse button
                    
To select a piece:
                    a) left-click on it
                    b) keep pressing TAB
                    
To move the selected piece:
                    a) left-click on the squares around it
                    b) right-click ahead of it
                    c) press the keypad number keys (NumLock must be on)
                    
To turn the selected piece:
                    a) click in the main map with the right mouse button
                    b) use keys: , or . or /
                    
To shoot at another piece or door (or square, with flamer):
                    a) click on it
                    b) the crosshair-button helps here
                    
To attack another piece or door:
                    a) click on it (if it isn't a door)
                    b) press keypad 0
                    c) use the triangle button
                    
To activate/deactivate move-and-shoot:
                    a) press keypad -
                    b) use the moving-crosshair button
                    
To open/close a door:
                    a) click on it (if it's closed)
                    b) press keypad +
                    c) the hand button helps here (e.g. when the door is 
                       open)
                       N.B. You'll get a choice of doors occasionally.
                       
To convert a blip:
                    a) press keypad .
                    b) use the 3-arrows button
                    
To use overwatch:
                    a) press keypad *
                    b) use the 'ow' button
                    
To unjam a gun:
                    a) press keypad .
                    b) use the crossed-out crosshair button
                    
To hide/show how many command points remain (if it is the marines' turn),
or hide/show the values of blips on the board/being deployed (if it is the
stealers' turn):
                    a) press S
                    b) use the 'secret' button
                    
To interrupt the stealers' turn to use Command Points:
                    press the spacebar
                    
To end your turn, or to cancel an interrupt:
                    a) press D
                    b) use the 'done' button
                    
To use or stop using Command Points:
                    a) press C
                    b) use the 'CP' button


------------------------------------------------------------------------------
    7. Help us out
------------------------------------------------------------------------------

There is a mailing list at <sulk-devel@lists.sourceforge.net>. Subscribe at 
http://lists.sourceforge.net/lists/listinfo/sulk-devel  

This is for any aspect of development, whether graphics, sound, mission design,
or 'serious' coding.

To get Sulk from CVS:

$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sulk login 

(press enter when prompted for a password)
 
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sulk co unstable

Here the main categories we'd like help in:

- More graphics: see ./data/images/THEMES_INFO for comments on the embryonic
  themeing support.
  
- More sounds: Genestealer noises especially.  Original music would be a huge
  bonus, too, as long as it suits the Space Hulk atmosphere.

- Bug testing, especially as regards niggly bits of the rules of Space Hulk.
  To assist this, the 0-9 and F1-F4 keys spawn pieces onto the board (shhh!).
  See roughly how many FPS you're getting with backspace.
  Note that if you see a crash with a traceback saying 'Pygame parachute', 
  then it was probably caused by an SDL error (that is, it's not Sulk's 
  fault).

- Take a look at the code and pitch in!  Toby can't promise to patch things
  quickly because he isn't exactly GOD_OF(Python), and is constantly
  re-crufting the code.
  Particular Python things TW is ignorant of: py2exe, Distutils, sockets, 
  profiling, memory management / gc.
  
- If you can understand the mission file format (see
  ./data/missions/MISSIONS_INFO), make some missions up!
  
- Hack on the XML file format from the guys at
  http://savannah.nongnu.org/projects/spacehulk
  ... we should be switching over to it pretty soon.  ish.
    
- Write a Space Hulk server and/or invent the protocol!

- General feedback/encouragement e.g. on graphics, user interface, platform
  compatibility (e.g. MacOS - any hints?), performance.

    
------------------------------------------------------------------------------
    8. Acknowledgements
------------------------------------------------------------------------------

David Clark -- los-checking code (from the Pygame code repository).
Ray "that's how we spell it in Canada" Larabie, Matthew Welch -- fonts
Matthias Kalisch -- bug testing on Sourceforge
TLK Games -- sound effects
