Gravity Wars
by Sohrab Ismail-Beigi completed 4/23/89
SYSOP of The 3D Graphics BBS
300/1200/2400 baud, N-8-1 Full duplex
(201) 444-4154
******************************************************************************
Note: This game requires a VGA display capable of the 640x480x16 color mode.
The program does no checking, so don't run it without VGA 640x480x16.
******************************************************************************
-----------------------------------------------------------------------------
INCLUDED FILES:
Length Name
------- ------
9519 GRAVWARS.DOC - This file
32172 GRAVWARS.PAS - Turbo Pascal 4.0 Source Code
42640 GRAVWARS.EXE - The actual game program
5139 EGAVGA.BGI - Required VGA driver
5452 SANS.CHR - Required Font
-------
94922
NOTE: EGAVGA.BGI and SANS.CHR must exist in the same directory that
GRAVWARS.EXE is running for the program to run properly
-----------------------------------------------------------------------------
The game and all attached material are released to the public domain (PD.)
The author does not ask for any monetary contributions, but instead asks you to
call his BBS and leave messages, comments, new ideas, contributions, bug
reports, etc. on his BBS.
DISCLAIMER: The author, Sohrab Ismail-Beigi, is not in any way responsible
for any damaged caused by, due to, in conjuction, in relation, in proximity,
in discussion of the use, transport, manipulation, misuse, contemplation,
mismanagement, etc. etc. etc. of the program GRAVWARS.EXE and the associated
files GRAVWARS.DOC and GRAVWARS.PAS.
Gravity Wars was originally a Shareware game on the Amiga. I liked the
game and decided to convert it for the IBM. GRAVWARS.EXE is the result and
I hope you like it.
------------------------------------------------------------------------------
GENERAL OVERVIEW:
Gravity Wars is a two-player game (or one-player if he plays against
himself.) The players choose ships (one the Enterprise, the other Klingon) and
try to shoot down each other by specifying angles and initial velocities for the
missiles.
Missiles move under the influence of the gravitational fields of the
various planets in the Gravity Wars universe. The planets are the spherical
and colored (Red, Green, or Blue) with each color representing a density:
Red=1.0, Green=1.5, Blue=2.0. The force of gravity is the well known inverse
square law, namely F=GMm/(r^2) (where ^ means exponent.)
There are also black holes (haha!) which appear as the blacking out of the
stars in the background (you have to watch for them when the scene is drawn.)
They are not very massive, and from far away, they act like small planets. But
when missiles approach them, their behavior becomes quite erratic, SO BE CAREFUL
WHEN FIRING CLOSE TO A BLACK HOLE!
------------------------------------------------------------------------------
DETAILED DESCRIPTION OF THE MENUS:
The game is menu driven. You see the choices and the associated numbers.
Press the number corresponding to your choice. Esc quits a submenu and
returns to the main menu. Esc also aborts other commands such as Move planet,
Make planet, etc.
Each submenu of the main menu is explained below.
Main Menu:
1. Playing the game - Choose a random setup or play the current one.
2. Options - Redraw the screen and turn sound on/off.
3. Changes - move ships, move, make, change, and delete planets.
4. Quit
Sub menu: 1. Playing the game
1. Random setup - the computer picks a random setup, destroying the current
setup and displaying the new one. If you don't like a
setup, either pick a new random one, or use the 3. Changes
menu (or both) to make a better setup.
2. Play game - Play the current setup. The players take turns entering
angles and initial velocities for the missiles. Angles are
in the standard 0-360 mode where 0 is horizontal and to the
right. Velocities are from 0 to 10. Note that non-integer
angles and velocities are allowed, so you can refine your
firing considerably.
The computer keeps tab of the last angle and velocity you used
and displays them inside the [] brackets. To use the same
angle and/or velocity, just press RETURN or ENTER alone and
the value in the bracket will be used.
To quit the play while entering angles and velocities, enter Q
or q as a response.
To abort a missile trajectory calculation in progress, press
any key. A message will appear. Pressing Esc will bring you
back to the menu. Pressing any other key will continue the
game.
Sub menu: 2. Options
1. Redraw screen - Redraws screen. The screen is cleared, and the planets
ships are drawn in their current positions. This is
useful when the missile trails are too many and are
irritating. The Redraw will clear them all out while
leaving the setup unchanged.
2. Sound on/off - turns the music option on/off. By default, music is on
(for example, the tune played when one player wins.)
Pressing 2 once will turn this off, 2 again will turn it
on.
Sub menu: 3. Changes
1. Move ship - This allows you to move either of the ships to any legal
position. Press the number corresponding to the ship you want
to move (or Esc to abort.) Then use the numeric keypad (with
Num Lock ON) up, down, left, and right to move the ship about.
Press RETURN or ENTER to place ship there, or Esc to abort.
If the position is illegal, the screen will flash, and you
will be informed. Move the ship to another position and
retry.
2. Move planet - This allows you to move any of the planets on the screen to
another legal location (including black holes!) A pointer
will appear. Use the numeric keypad to move the pointer
close to the planet you wish to move and press ENTER to
pick that planet, or Esc to abort (the computer will pick
the planet closest to the tip of the pointer.) You can use
the + and - keys to increase or descrease the size of the
jumps the pointer makes.
Move the pointer to the position new center of the planet to
and hit ENTER to place it there (or Esc to abort.) If the
location is legal, it will be accepted and the planet/black
hole will move there; if not, the screen will flash and you
will have to retry.
3. Make planet - Allows you to make a new planet. The maximum number of
planets allowed is 9, so if there are already 9, you will
have to 5. Delete some first.
Use the pointer to choose a location for the center of the
new planet and press ENTER to pick a spot. (The screen
will flash and you'll have to retry if the spot is not
legal.) Then use the pointer to move to a point which
will lie on the surface of the planet (thereby specifying
the radius) and press ENTER. Press Esc at any point to
abort.
Note that you can not make black holes, planets only.
4. Change planet - Allows you to change the density (color) of an existing
planet. Use the pointer and move close to the planet in
question (only planets can be changed; black holes can
not.) Press ENTER to pick the planet (the computer will
pick the planet closest to the pointer tip.) Then press
1, 2, or 3 for the planet density (a message will inform
you of the choices): 1=Red 2=Green 3=Blue. Press Esc at
any point to abort.
5. Delete planet - You can delete a planet or a black hole. Use the
pointer to move close to the planet or black hole in
question and press ENTER (again, planet/black hole
closest is chosen.) The planet/black hole will be
deleted. Press Esc to abort.
------------------------------------------------------------------------------
FINAL WORDS OF WISDOM:
Ok. There are the rules and descriptions. Notice that black holes are
"God-given." You can't create them, but you can keep picking random setups
until you get one (or more!)
Also, in the above text, "the planet closest to the tip of the pointer"
means the planet whose center is closest to the pointer tip, not the planets'
surface.
There are many ways of refining firing angles. You can either change the
angle, change the velocity, or do both, or pick new paths, or even try to put
the missiles in orbit so they will wrap around! But be careful with orbits,
they may wrap around and hit your own ship!
If you notice that the calculations for the missile trajectory are too
slow, that means that there are many planets. Delete some useless ones to
speed things up a bit.
If you like the game and have any suggestions, bug reports,
contributions, complaints, etc., call the above BBS and leave me (the SYSOP)
some mail. If you want new updates, PLEASE tell me and if you have written
your own updates and modifications, please tell me. Thank you very much!
HAVE FUN, AND BEWARE OF BLACK HOLES!!!!!!
************************ NEW VERSION ***************************
updated 16 sep 90
by Arthur R. Hicken
SysOp The Midnight BBS
Prodigy: CVTS94A
GE: A.HICKEN
added color stars
added different color tracks for different ships
Linked in bgi and chr files
error checking for non-vga systems
compiled for TP 5.0
compiled including Coprocessor code
No longer does the program require the egavga.bgi file and the sans.chr file
now the only files are:
GRAVWAR2.DOC this file
GRAVWAR2.PAS NEW source code
GRAVWAR2.EXE Executable file with graphics drivers and fonts linked in