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-3 Toby Woodwark and the contributing authors (see AUTHORS). 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 To 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 ------------------------------------------------------------------------------ Please report any bugs; go to the Sourceforge project page and use the bug tracker there. If the game crashes, you should provide us with a traceback to make debugging easier. There will be a log file called 'crash_sulk.log' in the Sulk directory with this traceback in it. 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). There is a mailing list at . 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 as regards niggly bits of the rules of Space Hulk. To assist this, the 0-9 and F1-F12 keys spawn pieces onto the board (shhh!). See roughly how many FPS you're getting with backspace. - 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 The UCS scalable font collection authors, and maintainer Primoz Peterlin -- fonts Matthias Kalisch -- bug testing on Sourceforge TLK Games -- sound effects BZFlag authors -- sound effects