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!!!!!!