Program XBLAST V2.6.beta 
1993-1996 (C) by Oliver Vogel (e-mail: vogel@ikp.uni-koeln.de)
October 16th, 1997
started August 1993

File: README


LICENSE

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public Licenses as published
by the Free Software Foundation; either version 2; or (at your option)
any later version

This program is distributed in the hope that it will be entertaining,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA.

AUTHORS

Oliver Vogel (main author)
vogel@ikp.uni-koeln.de

Garth Denley (coauthor)
g0denley@teaching.cs.adeleaide.edu.au

INTRO

XBlast is a multi-player arcade game for X11R5/R6. The game can be played
with at least two players and up to four players. It was inspired by
the video/computer game Bomberman(Dynablaster), which was to my
knowledge first programmed for NEC's PC Engine/Turbo Grafx. Other
(commercial) versions of the original game exist for IBM-PC, Atari ST,
Amiga, NES, GameBoy and Super NES.


FEATURES
 o  2 to 6 players
 o  1 or 2 players per X-Server
 o  95 different Levels
 o  X11R5 or X11R6
 o  Full color and monochrome support (including true color modes)
 o  PoV-Ray rendered color graphics.
 o  Resolution: 960x688
 o  monochrome XBlast needs ~200 kB (~280 kB with Backing Store) 
    of X-Server memory. Color XBlast needs about 8 times the 
    memory on an 8-bit display, however.
 o  Compact binary ~350 kB with shared libraries ~600kB with static
    libraries.
 o  Small CPU usage 


HINT

For descriptions of command-line arguments read the man-page:
$ man xblast
or
$ nroff -man xblast | more

If you start xblast without any option an interactive setup of game
parameters is started.

Install tkXBlast which makes the setup really easy. Change to the
tkXBlast/-directory and read the INSTALL file.


FTP SITE

The current version of xblast will be uploaded to the FTP server
ftp.x.org in the directory /contrib/games/multi_player and to
sunsite.unc.edu in the directory /pub/linux/games/x11/video.


FILES

The XBlast package contains the following files:

  o  COPYING		- GNU Public License
  o  INSTALL            - how to install xblast
  o  Imakefile          - imakefile for xmkmf
  o  README             - this file
  o  XBlast.ad          - application resource file
  o  Xresources         - a sample Xresources file
  o  xblast.man         - xblast man-page
  o  WEB_SITE           - URL of the XBlast home page

  o  block.c		\
  o  block.h		|- xblast source files
  o  bomb.c		|
  o  bomb.h		|
  o  const.h		|
  o  data.c		|
  o  data.h		|
  o  defaults.h		|
  o  event.c		|
  o  event.h		|
  o  expl.c		|
  o  expl.h		|
  o  func.c		|
  o  func.h		|
  o  graphics.c		|
  o  graphics.h		|
  o  include.h		|
  o  info.c		|
  o  info.h		|
  o  intro.c		|
  o  intro.h		|
  o  introdat.h		|
  o  main.c		|
  o  main.h		|
  o  map.c		|
  o  map.h		|
  o  maze.c		|
  o  maze.h		|
  o  memtest.c		|
  o  mytypes.h		|
  o  patchlev.h		|
  o  pipe.c		|
  o  pipe.h		|
  o  resource.h		|
  o  score.c		|
  o  score.h		|
  o  setup.c		|
  o  setup.h		|
  o  shrink.c		|
  o  shrink.h		|
  o  shrinkdat.h	|
  o  sprite.c		|
  o  sprite.h		|
  o  status.c		|
  o  status.h		/

  o  bitmap/		- subdirectory for all bitmap files
  o  level/             - subdirectory for all level data files
  o  tkXBlast/          - xblast launcher tcl/tk script


GAMEPLAY

The idea of the game is quite simple "There can be only one ...".  So
the aim is to blast away all the other players. You can set the number
of victorious matches required to win the total game with the `-v`
option.  Use your bombs to blast away the other players and certain
blocks (e.g. the ?-Blocks in the 1st level). Under some of these
blocks are extras, which increase the number of bombs you can drop
simultaneously (the bomb symbol) or increase the range of your bombs
(the flame symbol). In higher levels there are other extras like the
skull-symbol which infects the player with a random illness. These
illnesses heal after some time, but while infected the player can also
infect other players. Another extra is the star symbol which makes the
player invincible for some time.


CONTROL 

The number keys 2,4,6,8 on the number pad are used to control the
first player of each X-server. If you press one of these keys the
player starts walking in this direction and stops only if he/she hits
an obstacle or the stop key 5 is pressed. In the latter case the
player stops in the middle of the next field. Furthermore you can
change the walking direction by using the direction keys.  If the key
0 is pressed a bomb is dropped in the middle of the player's current
field. Be careful not to drop the bomb to early, as you can block your
own way with it (bombs are always blocking the way).  If you have
found a remote control (in "Running Man") press + to ignite your
bombs.

The second player of the X-Server uses the keys T, F, H, B/V to walk,
SPACE to bomb, G to stop and TAB for remote control. If only one
player uses an X-Server both controls will work for him.

The control keys can now be defined via XResources, refer to the manpage
and/or use tkXBlast.


TESTED PLATFORMS

I have tested the current version program on the following computers

  o AMD5x86P75-133 PC with Linux 2.0.18
  o DEC 5000/240 with Ultrix 4.2A
  o HP 9000-730S with HP-UX 9.01
  o Motorola MVME-147SA with LynxOS 2.1
  o Sun Sparc 2 with SunOS 4.1.3
  o Force Sparc 2CE with NetBSD 1.1
  O Ultra Sparc with Solaris 

Furthermore older versions were compiled by other persons on 
the following machines

  o DEC Alpha with OSF/1 Motif
  o SGI workstation IRIX Release 4.0.5 System V
  o IBM RS/6000 with AIX 3.2.4
  o Sparc 10/41 with Solaris 2.3 (using gcc)
  o PC with SCO Open Desktop 3.0 (using gcc)
  o Sun Sparc Classic with SunOS 4.1.3c
  o HP 9000-710 with HP-UX 9.01
  o PC 486DX2 with NetBSD 0.9


I hope it will run on all other computers with X11R5/R6.  If you managed
to build the game on any other machine, please send me a short notice
to the E-Mail adress below.

CREATING YOUR OWN LEVELS

Garth Denley is currently working on an ASCII level format, which should
allows an easier level editing as well as level loading on runtime.
So new levels can be included without recompiling.

XBLAST SETUP

You have three possibilities when starting XBlast:
 
 o no command-line options and configuration via text interface
 o configuration via command-line options
 o tk/tcl script for a setup with a X Interface

In order to use the tkXBlast script, first take a look at the README file 
in the subdirectory tkXBlast/.

WHAST NEW In V2.6.1
 
 o 


WHATS NEW IN V2.2.1

 o "name bug" in Interactive Setup, when using fork mode removed.
   fork mode saved to setup files

 o DSP sound mode queried by Interactive Setup (Linux)
   DSP sound setup saved to setup file

 o The Button extra is now distributed, right after taking it.

 o Star extras (invincibility) are now cumulative.

 o XBlast now allocates a private colormap, if necassary.

 o Window title now displays players' names.

 o Colors for player #6 are changed
 
 o Added template level file level/Template.h


WHATS NEW IN V2.2
 
 o Support for up to 6 players
  
 o Team mode with 2 or 3 teams of two.

 o Sound support for Linux (in a separate archive).

 o tkXBlast - a vastly improved tcl/tk based XBlast launcher, featuring
   resource setup and game statistics.

 o 7 new levels 

 o Keyboard customisation via X-Resources.

 o Short delay and bell when the restarts game after a pause.

 o Code optimisation for smoother game play for up to six players


WHATS NEW IN V2.0

 o Support for color graphics

 o 22 new levels most of them from Garth Denley
 
 o New Tcl/Tk based launcher for XBlast. Now allows loading and 
   saving setups.

 o Revised command-line interface, with easier player and display
   setup.

 o Improved (and more stable) interactive setup.

 o Support for Xresources. Setup individual colors and in-game messages
   for your player using xrdb. (G.D and me)

 o Several different setups can now be saved. The setup file
   is now an Xresource file, and should be more readable
   than the old one. 

 o intro screen for each level (G.D. and me)
  - just read what awaits you in the next level.

 o new extras:
  - Air pump, blow bombs out of your way (G.D.)
  - Junkie Virus, once you get , you will need it (G.D.)
  - Napalm bombs, Garth's devasting area effect bombs (G.D.)
  - Firecracker, another one of Garth's devious new bombs. (G.D).

 o two further sicknesses
  - teleporter sickness
  - reverse walking sickness (by Xavier Caron)

 o new (optional) bomb behaviors (G.D.)
  - snooker bombs
  - bomb launching walls
  - bomb bounce off walls, others bombs or players in some levels 
  - bomb detonate at walls, others bombs or players in some levels 

 o other new features
  - random player start positions (G.D.)

 o Each level and each bitmaps now has its own include file,
   (Bitmaps in xbm format) for easier editing and sharing
   levels and bitmaps.

 o Tcl scripts to add/remove levels/bitmaps files to the source code.


WHATS NEW IN V1.2

 o  21 new levels, of which 19 are contribution from xblasters
    all over the world. (See also CREDITS below).

 o  a new extra type:
   - teleporter extra (by Patrick Durish )

 o several new features:
   - short fuse bomb (by Mike Schneider)
   - haunted bombs (by Garth Denley)

 o two new sickness types
   - malfunction sickness
   - invisible sickness

 o new command-line switches
   - "-nokick" to disable kick bomb extra\
   - "-s[howlevels]" to show all levels in the game
   - "-u[se]" to give a list of levels to play
   - "-f[rames]" to set the number of frames per second

 o bugfix for Solaris
   - xblast now calls XtToolkitInitialize()

WHATS NEW IN V1.1

 o  Filenames are changed to less than 15 char
    (Required for X11R6 contrib)

 o  TWO new extra types:
   - kicking bombs
   - blast ALL bombs

 o  new shrinking feature for many levels
   - the level starts shrinking after half the game time
   - shrinking is more moderate than in Shrinking World

 o  extra conservation
   - when a player dies, his extras are distributed
     on the map

 o  bomb malfunction
   - sometimes a bomb will take longer to explode.

 o  bugfix of a timing bug, which appeared under Solaris 
    (this bugs makes the players run uncontrollable).


THE FUTURE

The following things are planned for the future version
(with absolutely NO WARRANTY that they will come):

 o  Team modes : all on 1, 4x2 player mode.

Things which are planned, but will take some time 

 o  real client/server model.
 o  a better and more detailed guide how to build your own levels
 o  a tcl/tk based level editor.
 o  more levels with new extras, graphics and monsters?


BUGS

Known are the following:

 o  "make depend" makes troubles on some computers. There
    seem to be too many files opened. Most of the time
    it does not get all dependencies. If it does not work correctly,
    just use "xmkmf" instead of "xmkmf -a".

 o  If the program doesn't react to any key press, move the mouse pointer
    outside the window and then inside again.

 o  XBlast needs a quite fast XServer for color graphics.
    A rough estimate is about 100000 XStones. Linux PCs
    with an accelerated card work or modern color X terminals
    work as well.

 o  With certain X-Servers the control via number-pad doesn't work.
    Try Num-Lock or  change your Xmodmap (This should be
    fixed since XBlast 1.1). 

If you find any other bugs, please report them to

E-MAIL: vogel@ikp.uni-koeln.de


CREDITS

CONTRIBUTORS

Xavier Caron (x-caron@es2.fr)

 o New Illness:
   -  new reverse walking illness
 
 o Bugfix:
   -  bombs falling into walls (Gravitation)

Chris Doherty (cpdohert@teaching.cs.adelaide.edu.au)

 o New Features:
   -  Fungus bombs
   -  Three bombs
   -  Grenade
   -  Triangle bombs
   -  Destruction bombs
   -  Renovation bombs

 O New Levels:
   -  Spindizzy (together with Garth Denley=

Patrick Durish (dri@eup.siemens-albis.ch)

 o New Features:
   - Teleporter Extra
 
 o New Levels:
   - Mr. Beam

Rob Hite (hite@tellabs.com)

 o New Levels:
  - Indiana Jones
  - Hallways

Keith Gillow (...@...)

 o New Levels:
  - Fungus Fun
  - Open Warfare
  - Get Your Kit Out (together with Mark Shepherd)
  - Moonwalking
  - Pot Luck 

Christophe Kalt and Pierre Ramet 
(kalt@hugo.int-evry.fr,ramet@labri.u-bordeaux.fr)

  o New Levels:
    - Shrinking Arena

Joachim Kaltz (kaltz@essi.fr):

 o New Levels:
   - Nowhere to Run aka Full Power Level 2
   - Losange Over-Excitation

Laurent Marsan (mbaye@univ-mlv.fr)

 o New Levels
   - La Ruee Vers L'Or
   - Survivor
   - INV-X_IBLE
   - Tic Tac Toe (without Short Fuse and Haunted Bombs)
   - Je m'apelle Rico
   - Toutencarton
   - Born to be Killed

Mike Schneider (schneid@tellabs.com)

 o New Features:
   - Short Fuse Bombs

 o New Levels:
   - Suicide

Rob, Simon and Tristan (...@...)

 o New Levels:
   - Bouncy, Bouncy
   - Watch that Banana


SPECIAL UNIX CONSULTANT
Norbert Nicolay

"SENIOR" BETA TESTERS
Rodi Herzberg
Eckhard Grah (gone to Wuppertal :( )
Norbert Nicolay
Harald Tiesler

BETA TESTERS 
Stefan Esser
Andreas Fitzler 
Joerg Gableske
Rolf Kuehn
Christian Meier (gone to Bremen :( )
Holger Meise
Johannes Rest (gone to Munich :( )
Hajo Richter
Susanne Schell

BETA TESTERS (Australia)

Chris Doherty (CPD)
Mark Black (Blackie)


FURTHER THANX TO
 o Cameron Gregory(cameron@cs.jcu.edu.au) for converting my README
   into a manpage
 o Henrik W. Nielsen(hwn@cci.dk) for his bugfix for the number-pad control.
 o Jamie(be136@city.ac.uk) for his great idea of the extra, which
   detonate ALL bombs (in the Halloween level) 
 o Ian Jamison(ianj@melko.co.uk) for his bugfix of a timimg problem
   with gettimeofday under Solaris 

THANX
to all people, who send me an e-mail, that the programm runs on the their
machine or just that they enjoyed the game.











