Program XBLAST V2.2 1993-1996 (C) by Oliver Vogel (e-mail: vogel@ikp.uni-koeln.de) December 9th, 1996 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 60 different Levels o X11R5 or X11R6 o Full color and monochrome support 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 o level-convert/ - contains a tcl-script for level conversion (XBlast 2.0 to 2.2) 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/. 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 (gillow@maths.ox.ac.uk) o New Levels: - Fungus Fun - Open Warfare - Get Your Kit Out (together with Mark Shepherd) - Moonwalking - Pot Luck Robert Godfrey, Simon and Tristan (rrg@dcs.ed.ac.uk) o New Levels: - Bouncy, Bouncy - Watch that Banana 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 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.