HOWITZER Version 0.90beta by Randall Spangler (rspangle@micro.caltech.edu) 1. Introduction 1 1.1 Shareware Concept and Registration 1 1.2 Distributing Howitzer 2 1.3 Contacting the Author (please do!) 3 1.4 Disclaimer and Warranty: 3 1.5 About the Code 4 2. How to play 4 2.1 Flow of Play 5 2.2 The System Screen 6 2.3 The Aiming Screen 7 2.4 The Marketplace 9 2.5 The Popup System Menu 10 3. Equipment Reference 11 3.1 Ammunition 11 3.2 Fuses 13 3.3 Guidance Systems 14 3.4 Fall Protection 14 3.5 Shields 15 3.6 Tank Modifications 15 4. System Settings and Command Line Options 16 4.1 Beginner Settings Menu Options 16 4.2 Expert Settings Menu Options 17 4.2 Command Line Options 24 5. Computer Opponents 25 6. Game Mechanics 26 6.1 Bullets: 26 6.2 Damage: 26 6.3 Scoring and Money: 27 7. Howitzer and Memory 27 7.1 Memory Basics: 28 7.2 Conventional Memory Consumption 28 7.3 Expanded Memory Consumption 29 7.4 Examples 29 8. Howitzer and Microsoft Windows 30 9. Troubleshooting Howitzer 30 1. Introduction Howitzer is one of a style of games known as "artillery" or "tank war" games. Tanks on a 2-D landscape lob shells at each other; the goal is to be the last tank alive. Tanks can be controlled by humans or the computer. Howitzer has many exciting features, including: * Higher resolution - Howitzer runs in 800x600x256 Super-VGA graphics on most common video cards. * Support for Adlib and Soundblaster compatible sound cards. * Pop-up help - Alt+H from any screen brings up a help window. * More realistic terrain and background, which generate in advance while the program waits for input * Over 60 types of ammunition, shields, guidance, etc. - including tank modifications such as armor, different bodies, and improved barrels and turrets. * All bullets and explosions are resolved simultaneously, instead of one bullet at a time. (Yes, this means that bullets actually move AT THE SAME TIME explosions are happening.) * 32-bit fixed point math, for quick and accurate modeling without a math coprocessor. * Six types of computer opponents * A beginner mode which removes some of the more complicated controls and equipment In order to provide this, Howitzer requires the following hardware: * At least a 386-based machine * A video card capable of displaying 800x600x256 * 432 KB of free memory (though you can get by with less if you have enough expanded memory- see Howitzer and Memory, section 7) Howitzer will run better with the following: * A two or three button mouse, with its driver already installed * A 486-based or Pentium-based machine * 540 KB or more free conventional memory * 2048 KB or more of expanded memory 1.1 Shareware Concept and Registration Howitzer is shareware, and has never been "public domain" or "free" software. The Howitzer source, executable, and documentation are Copyrighted 1993 by Randall Spangler. You are allowed a two-week trial period to determine if Howitzer is worth the registration fee. At the end of those two weeks, you must either register Howitzer or stop using it. Registering Howitzer entitles you to the following benefits: * A personalized copy of the game, without the shareware screen * A more detailed manual, with information on how to access several "cheat" features, including infinite ammunition and the ability to set your own prices for equipment (manual available in PostScript or ASCII text) * Notification of updates via E-mail * Automatic registration of all (not just beta) future versions of Howitzer - you will be supplied a datafile which will remove the shareware screen and enable the cheat features of all future versions of Howitzer. * Support direct from the author via E-mail * A clean conscience Depending on your status, you can register Howitzer in one of three ways: STANDARD REGISTRATION: I believe that the shareware concept works most effectively when the registration fee is reasonable. To support this idea, the registration fee for Howitzer is only ten dollars ($10). This entitles you to the above benefits, and I will mail your copy of the game to you on a 5.25" DS/DD disk via US mail (to addresses in the US only). STUDENT REGISTRATION: If you are a full-time student, you can register Howitzer for only five dollars ($5). I'm a starving graduate student too; I understand the financial difficulties many students face. This entitles you to the above benefits, and I will E-mail your copy of the game to you instead of mailing you a disk. FOREIGN REGISTRATION: If you live outside of the US and do not have a US mailing address, you are eligible for foreign registration. This is mostly because I have no idea how much it costs to mail to addresses outside of the US. Instead of money, send me a postcard from your country, and I'll E-mail your copy of the game to you. (If you want me to mail you a disk, contact me and we'll work out a reasonable registration fee which will cover my postage costs.) Please send me a filled out register.frm via e-mail if you don't enclose it with the postcard. All registration fees should be in the form of a check or money order in US currency. Do not send me cash; I cannot be responsible if it is lost or stolen in the mail. Please print out and fill in the supplied registration form (register.frm). Mail it and your registration fee, or (for foreign registration only) a postcard to me at: Randall Spangler Caltech 116-81 Pasadena, CA 91125 These registration offers will remain in effect until September 1st, 1993. After that date, I reserve the right to change the registration offers and costs. If you want to register Howitzer after that date, please contact me for updated prices. 1.2 Distributing Howitzer You may copy and distribute this shareware version of Howitzer via any means, electronic or disk, subject to the following conditions: * The shareware version of Howitzer may not be rented or sold, nor bundled with a product that is sold or offered as an incentive to buy a product that is sold, without the prior written permission of the author. Such permission is usually granted. * Howitzer must be distributed with all files intact with no modifications. You may repack the archive into a different format (ZIP, ZOO, ARJ, etc.) so long as all the original files contained in the archive are intact. If you maintain a BBS or ftp site and wish to offer Howitzer for downloading, please contact me. This allows you to be informed of updates to Howitzer as they are released. It also allows me to let other people know where to find updated versions. If you are unable to find Howitzer on an ftp site or BBS, you may obtain the most recent shareware version by sending me a check for five dollars ($5). I will then mail the program to any US address on a DS/DD 5.25" disk. If you live outside the US, it may cost more to mail a disk to you - contact me for information. 1.3 Contacting the Author (please do!) Please contact me if you have any comments about Howitzer, suggestions for features I could add, bug reports (bugs? what bugs?), etc. I can be reached via E-mail (the fastest) or snail mail (the slowest). E-mail: rspangle@micro.caltech.edu US mail: Randy Spangler Caltech 116-81 Pasadena, CA 91125 If you find a bug or undocumented feature, the following information will aid me in tracking down and squashing it (or at least documenting it): * What version of Howitzer you are using * A description of what happened. * The howitzer.log file * What type of system, video card, and mouse you have * What operating system you were running (DOS, OS/2, Windows) and what version 1.4 Disclaimer and Warranty: Howitzer is currently in beta-test. On my machine, it rarely crashes. However, that doesn't mean that it won't crash and melt down your computer and hard drive and everything else of value within ten meters of it when it goes. In particular, I don't recommend that you run Howitzer with anything of value (such as unsaved 100-page documents in a word processor) running in the background Microsoft Windows. In any case, I take no responsibility for any damages of any kind resulting in any way (indirect, consequential, special, whatever) from your use of this software. Howitzer makes a reasonable attempt to make sure its executable has not been modified or contaminated by a virus. However, I make no guarantees that the copy of Howitzer you are running has not been modified or virused in a way which Howitzer cannot detect. If you think you may have received a modified or 'hacked' version of Howitzer, please contact me immediately. LIMITED WARRANTY: Howitzer is provided on an "as is" basis without warranty of any kind, expressed or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Use this program at your own risk. 1.5 About the Code Howitzer is over 23,000 lines of C code (watch it grow!), and has taken me eight months and hundreds of hours to write. Howitzer uses a 32- bit fixed point math library written by the author to calculate bullet trajectories; this alleviates the need for a math coprocessor. In addition to my code, Howitzer makes use of code and/or object modules from the following authors: EMSIF expanded memory interface by James W. Birdsall (support@picarefy.com) 256-color SVGA BGI module by Jordan Hargrave (jh5y@andrew.cmu.edu) CRCSET routines by Kevin Dean (Compu$erve ID 76336,3114) All of these modules are used under the terms of their license agreements, and those portions of code are copyrighted by their respective authors. 2. How to play Type howitzer from the DOS prompt. The program will check itself to make sure it has not been modified or corrupted, and then it will display a shareware reminder message. If you agree to the terms of the message, press 'U'. Howitzer will display a nifty animated title screen. If you haven't run Howitzer before, it will display some message boxes as it configures itself for your system. You will then be placed in the System Screen (see section 2.2). Howitzer accepts a number of command-line options which modify its memory usage and the types of information stored to its logfile (see section 4.2). Howitzer utilizes a menuing system written by the author, consisting of buttons and menus. A button is a single line of text with a box around it. To activate the function of a button, click on the button with the mouse or press the letter which is a different color than the rest of the button text. To select a menu item, click on the item with the mouse. You can press the Escape key or click somewhere other than on the menu if you didn't really want to select anything on the menu. Throughout this manual, "clicking" means moving the mouse cursor on top of something and pushing the mouse button. "Pressing" refers to a key on your keyboard. Several keyboard commands work from almost anywhere in the game. Alt+H or F1 brings up Popup Help for the current screen. Alt+Z brings up the Popup System Menu (see section 2.5). Alt+W saves the screen, so you can switch to another application if you are running Microsoft Windows. Alt+R redraws the screen. Alt+X or Alt+F4 exits immediately to DOS. (However, you will be asked to confirm that you really want to exit - this way you don't lose your game if you accidentally hit Alt+X during play. If you really want to exit, press 'Y' or the space bar - anything else will return you to the game.) Howitzer's user interface is designed to be easy and intuitive to use with a mouse. However, this means that Howitzer is a little painful to use without a mouse. If you don't have a mouse, Howitzer simulates the mouse using the numeric keypad and the Ctrl (control) key. Note that for this purpose the numbers on the numeric keypad are NOT the same as the numbers above the top row of letters on your keyboard. _______________ | | | 7 8 9 | Ctrl + 7,8,9,4,6,1,2,3 move cursor | \ | / | | \|/ | Ctrl + 5 toggles fast/slow cursor speed | 4--+--6 | | /|\ | Ctrl + 0 clicks left button | / | \ | | 1 2 3 | Ctrl + . clicks right button |_______________| | | | | L='0' |R='.'| | | | |_________|_____| 2.1 Flow of Play The following flowchart shows the order of events in a game of Howitzer: You type HOWITZER from the DOS prompt | Howitzer checks itself for viruses and prints a shareware message | Animated title screen | System Screen - set options for a game ^ | | (start of a round) | Allow tanks with money to buy equipment at the Marketplace | ^ | | | If next screen hasn't generated in advance, do it now | | | | | (start of a turn) | | Allow all tanks to aim at targets (Aiming Screen) | | ^ | | | | Fire all bullets simultaneously (Resolve combat...) | | | | | | | Landslide dirt, drop tanks (Update landscape...) | | | | | | -- If more than one tank is alive | | If not, pop up current scores | | | | -------- If game has rounds left to play -------------- If game is finished Each game consists of up to 100 rounds (you can set the exact number at the system screen). Each round can have up to 200 turns (you can also set this number); this is limited so that computer players won't tie up the game if they finish off the humans and then can't seem to kill each other. Rounds that run out of turns are declared stalemates, meaning that no tank wins them. Of course, you can always pop up the system menu with Alt+Z and end the round or game (see section 2.5). 2.2 The System Screen This is the first screen you see when you start the game. It allows you to set various parameters before game play. The "Save settings" button writes all the currently visible settings to howitzer.ini. Settings stored in howitzer.ini are automatically loaded on startup unless Howitzer is started with the -N option. Settings can be reloaded from howitzer.ini with the "Load settings" button. If you delete howitzer.ini, Howitzer will run with its built-in default settings, and create another howitzer.ini using these default settings. To start playing a new game, click on the "Start game" button, or press 'G' or the spacebar. Clicking on the "Exit to DOS" button or pressing 'X' exits Howitzer and returns you to the DOS prompt. If Beginner mode is ON, some of the more complicated settings and equipment will not appear. This is a good setting if you've never played Howitzer before. However, after a few games you'll probably want to turn beginner mode OFF and play with the more advanced features. The menu to the left side of the screen is the System Settings Menu. This controls many of the game's options. Clicking on a line with the left or right buttons of the mouse increments or decrements a value, respectively. If you decrement past the minimum allowed value, it will wrap around to the maximum allowed value. All these settings are saved in the howitzer.ini file if you click on the "Save settings" button. This menu is different for beginner and expert modes (see sections 4.1 and 4.2). The expert menu has sub-menus, which are indicated by an arrow on the right side of a menu entry. Clicking on that entry pops up the SUB-MENU. To dismiss the SUB-MENU, click somewhere other than on the SUB-MENU. The menu on the right side of the screen is the Tank Menu. This displays the names of the tanks and what type of opponent they are (see Computer Opponents, section 5). Clicking on the name of a tank brings up an input box where you can type a new name for the tank. Right or left clicking on the opponent type toggles the type of opponent controlling the tank. If you change the environment you run under (for example, if you run Howitzer on a friend's 486/66 instead of your 386/20) you should click on "Calculate Delays." This allows Howitzer to determine appropriate delays for your computer so that bullets move at an even speed. What you will see is two sets of bullets dropping from the top of the screen. After the calculation finishes, you will be returned to the System Screen. At this point, click the "Save Settings" button to save the delay values to howitzer.ini. (If you don't, the settings will be lost when you exit Howitzer.) You should also recalculate the delays if you change the values for Bullet Shapes or Bullet Traces (see section 9). Keyboard commands for System Screen: S Save current settings to howitzer.ini L Load stored settings from howitzer.ini G, Spacebar Start new game with current settings D Recalculate delays X, Alt+X Exit to DOS H, Alt+H Pop up help on the Marketplace Alt+W Save the screen before switching to Windows Alt+Z Pop up the system menu (see section 2.5) 2.3 The Aiming Screen This screen allows you to aim your tank and select what equipment it will use for the next turn. At the top of the screen is a status bar showing the name of the tank which is currently being aimed, the current equipment systems it is using, and how many of each system it has remaining. This text will change color to that of the current tank. The status bar also shows the round and turn numbers, current wind speed, and border type. There are several ways to change the angle and power settings for the tank. Clicking the right mouse button on the current power or pressing the Up Arrow or '8' key will raise the power by one unit. Clicking the left mouse button on the current power or pressing the Down Arrow or '2' key will lower the power by one unit. Pressing PageUp or PageDown will change the power by 10 up or down. Pressing Home will set the tank's power to maximum, and pressing End will set the power to minimum. The angle can be changed in one degree increments by clicking on the current angle or by pressing the '4', '6', Left Arrow, or Right Arrow. Note that the angle can go down to -10 degrees, so you can fire a little bit downward. The two bar graphs underneath the status bar show the current power and angle. The power bar has tick marks every 100 power. If your tank is damaged, the power bar will have a shaded section at the right above your new maximum power. Clicking on the power bar will set your power to the level you clicked. However, the power bar does not have enough resolution to make fine adjustments in your power setting; for fine adjustments you may need to use the keyboard commands. The angle bar has tick marks every 15 degrees, and allows you to select your angle by clicking on it. You can return your tank's angle and power to the way they were when you started aiming by pressing the 'D' key. This is helpful if you lose track of where you were aiming. To fire your tank, click on the "Fire!" button or press the space bar or Enter key. If you have selected a guidance, fuse, or ammunition type that requires you to designate a target, a message will appear in the status bar asking you to click on the target, and the mouse cursor will change to cross hairs. Then click on the desired target. Depending on the background type, it may be hard to see your tank against the sky. If you have problems figuring out where your tank is aiming, pressing the 'V' key temporarily toggles your tank's color to all white or all black. Your tank will return to its normal colors when you finish aiming. Equipment can be selected in a number of ways. The procedure is the same for ammo, fuse, and guidance systems, and except where noted is the same for shield and fall protection. Clicking on the current type (e.g. High Explosive, Proximity, Homing) will move up or down through the available types; this is not available for shields or fall protection, since there isn't enough room on the status line to display their current types. Pressing the highlighted letter will move down through the list. Clicking on the equipment system (e.g. Ammo:, Fuse:, Guide:, (Shield), (FallP) or pressing Alt+(the highlighted letter) will pop up a menu of all your choices for that system. You can click on the new type that you want to select; clicking somewhere besides the menu or pressing Escape allows you to retain the current type. If you have selected a shield type, you must click on the [E] button or press 'E' to energize the shield; it will then become visible around your tank. If you have selected a fall protection, it will automatically be used when necessary (whenever you fall). You can click on any tank to see information on it, including who is controlling it, what its maximum power is, and how much of its shields remain. Pressing Alt+R will refresh the screen, clearing all traces from the sky. This will also fix minor screen glitches. Keyboard commands for Aiming screen: 8, Up Increase power by one unit 2, Down Decrease power by one unit PageUp Increase power by 10 units PageDown Decrease power by 10 units Home Increase power to maximum End Decrease power to minimum 4, Left Rotate barrel one degree counter-clockwise 6, Right Rotate barrel one degree clockwise Spacebar Fire gun D Return power and elevation to previous settings V Adjust tank visibility by toggling its color A Scroll through available ammo types F Scroll through available fuse types G Scroll through available guidance types S Scroll through available shield types P Scroll through available fall protection types Alt+A Pop up menu of available ammo types Alt+F Pop up menu of available fuse types Alt+G Pop up menu of available guidance types Alt+S Pop up menu of available shield types Alt+P Pop up menu of available fall protection types E Energize current shields Alt+R Refresh the screen Alt+W Save the screen before switching to Windows Alt+H Pop up help on the Aiming Screen Alt+Z Pop up the system menu (see below) Alt+X Exit to DOS immediately 2.4 The Marketplace Before each round, each tank with money is given a chance to buy equipment at the marketplace. The left side of the screen shows the current inventory of the tank, divided into a column for ammunition and a column for everything else. If you have an infinity symbol next to an item in your inventory, it means that you have more than 99 of that item. The menu on the right size of the screen displays all the available items, with a price for a given number of each item. Items must be bought in groups of the specified size (for example, High Explosive ammo must be bought 10 at a time, at a cost of $50 per 10 shots). If an item on the menu is grayed out, you can't afford it. At the bottom of the screen is a legend, showing the text backgrounds that correspond to item categories: Blue Ammunition Cyan Fuses Magenta Guidance Brown Fall Protection Green Shields Black Tank Modification To buy one group of an item, either click on the item, or press the letter next to the item. Your tank's inventory will then be updated and its funds reduced. To scroll up or down through the list, press the PageUp or PageDown key, or click on the UP or DOWN button. Press the spacebar or click on "Done Buying" when you are finished purchasing supplies for your tank. If you buy fall protection, it will automatically be selected for you, so that the next time you fall it will take effect. Tank modifications last for the rest of the current game. Buying more than one of a tank modification gives no additional benefit. Keyboard commands for Marketplace: A-Z Buy one lot of the item, if your tank can afford it PageUp Scroll up through the list of available items PageDown Scroll down through the list of available items Spacebar Done buying Alt+R Refresh the screen Alt+W Save the screen before switching to Windows Alt+H Pop up help on the Marketplace Alt+Z Pop up the system menu (see section 2.5) Alt+X Exit to DOS immediately 2.5 The Popup System Menu The system menu can be popped up from any screen by pressing Alt+Z. Some of the following options may not appear if they wouldn't make sense (for example, the End [R]ound option doesn't appear if the menu is popped up from the System Screen, since no round is in progress). An option may be selected by clicking on it or pressing the letter in brackets. System [I]nformation Shows the following information: * Which version of Howitzer you are running * The types of data being written to the logfile * Whether end-of-round scores require a keypress to dismiss * How much of the ground for next round has been calculated in advance * How much of the sky for next round has been calculated in advance * The amount of event compensation per event and the number of compensated events * Whether explosion and flight sounds are on or off [M]emory Usage Shows the amount of memory Howitzer found, and how much of it has been used. If the total free for conventional memory is less than zero, it means that Howitzer is running low on memory, and could behave strangely. [C]urrent Scores Shows the current wins, kills, and total money earned for each tank. If you select this option after a game has finished, it will display the scores from the last game. Info on a [T]ank Will ask you to click on a tank. Howitzer will then show you the tank's name, type, maximum power, and current shields and fall protection. Switch to [W]indows Enables task switching for Microsoft Windows. If you have enough EMS, Howitzer's screen will be preserved perfectly during the task switch. This duplicates the Alt+W command. (see section 8) Refresh [S]creen Clears all traces from the sky. Also clears up minor screen glitches. This duplicates the Alt+R command. End [R]ound Ends the round in progress. This option only shows up in the Aiming Screen. No tank will be given credit for winning the round, but all kills and damage will be credited as usual. End [G]ame Ends the current game, and returns to the System Screen. E[x]it Immediately Exits to DOS immediately, quitting anything in progress. This duplicates the Alt+X command. 3. Equipment Reference This section details all equipment available in the Marketplace. Equipment types are preceded by a letter, which is the complexity of the item: [B]eginner, [I]ntermediate, [A]dvanced, or [E]xpert. 3.1 Ammunition [B] Steel Shot The cheapest bullet available. Does damage based on its speed at impact. Usually won't kill a tank in one shot, unless it's fired at full power. [B] Tracer Leaves a visible trail. Does no damage to anything it hits. Not really useful unless Bullet Traces is set to TRACER ONLY. [A] DU Penetrator Does damage based on its speed at impact, but four times more damaging than steel shot at the same velocity. Since this bullet is so dense, it can penetrate through much more dirt than other rounds, and can even shoot through earthen shields. [B] High Explosive The default bullet. Creates a small explosion which does moderate damage to tanks. [B] Improved HE An improved high explosive bullet, with a larger explosion. [B] Fuel-Air The largest non-nuclear explosive available. [I] Fission Warhead Creates a large explosion and subsequent nuclear fireball and/or mushroom cloud. [A] Fusion Warhead The big brother of the fission warhead. Don't use this one near your own tank. [A] Flechette This bullet explodes and releases many small fragments, each equivalent to a steel shot. Does a good job of draining shields, since so many bullets hit the shield. [I] Submunition Explodes, releasing five small submunitions. Each of these is capable of destroying a tank. [A] Thermite Releases several chunks of burning thermite, which can melt their way down through ground, concrete, and some shields. [I] Autocannon Fires five explosive shells in rapid succession. Each is slightly less powerful than a high explosive bullet. Autocannon shells can't be guided. [A] Autocannon-2 Like the autocannon, but each shell is equal in power to a high explosive round. [A] Napalm When this bullet hits, it releases a stream of flaming liquid, which flows downhill and is capable of damaging both tanks and shields. Napalm is not very effective against deflector or earthen shields, but can cause major damage to other shield types. [E] Napalm-2 Releases a larger amount of liquid, which burns longer and hotter than normal napalm. [E] HEAT (High Explosive Anti-Tank) This shell contains a shaped explosive charge which squeezes a copper shell into a super-hot liquid jet capable of penetrating significant distances into armor or ground. The effectiveness of the jet decreases as it gets farther from the initial explosion. [I] MIRV (Multiple Independent Reentry Vehicles) At the peak of its trajectory, this bullet releases five warheads. The warheads will not be guided, even if the bullet is launched with guidance. (Compare to MARV, below.) [A] MARV (MAneuverable Reentry Vehicles) Similar to the MIRV, this bullet releases three warheads at the peak of its trajectory. These warheads retain the same guidance type as their "parent" bullet. This is particularly effective when combined with auto-homing guidance (see below). [E] Cruise Missile This weapon contains its own targeting computer, and is capable of homing in on its target. This computer is programmed with the terrain that was present at the time the round was launched, making it capable of avoiding most obstacles while flying close to the ground. If it cannot reach its target, it will eventually run out of fuel and cause no damage. You will be asked to designate a target for the missile. The missile will not explode in mid-air unless you use some sort of fuse (see below). Cruise missiles may be confused by dirt hanging in mid-air (which can happen if the dirt fall percent is set to less than 100 - see section 4.1). [B] Disruptor Explodes and destroys all dirt in a moderate radius. The explosion does no damage to tanks. [B] Disruptor-2 Same as a disruptor, but removes a larger disc of dirt. [E] Water Ball Explodes in a burst of water, which de-stabilizes the surrounding terrain. This usually causes landslides. [A] Seismic Blast Does very little damage, but its loud explosion shakes down any airborne dirt or unstable slopes. [I] Termites Releases several sub-warheads which tunnel through the ground and destroy dirt. [A] Termites-2 Same as termites, but there are more warheads and they last longer. [B] Snowball Generates a ball of snow where it hits. [B] Snowball-2 Same as snowball, but bigger. [I] Snowball-3 Same as snowball, but much bigger. [A] AutoSnowCannon Like the autocannon, but fires five small snowballs in rapid succession. More cute than effective. [I] Earth Burst Releases a spray of dirt on impact. [E] Aerogel The explosion of this bullet creates a cube of aerogel. This is a lightweight substance, much less dense than ordinary ground or snow. Because of this, it slows rounds down less than dirt, but more than air (see section 6.1). [A] Slurry Releases a stream of very runny concrete, which quickly solidifies. [I] Concrete Similar to slurry, but much less runny. Tends to generate a nice flat plateau. [E] Wall of Glass Creates a tall, thin wall of glass dense enough to stop most bullets. However, the wall is quite fragile, and will shatter the first time it drops or is touched by an explosion. Can be used as a temporary defense to block incoming shots. (Try stacking walls of glass!) [E] Liquid Rubber Similar to slurry, this releases a stream of rubber. Bullets hitting rubber tend to bounce (although sometimes they will become stuck in the rubber and explode). 3.2 Fuses [B] Normal Normally, a bullet explodes when it hits a tank, or when it slows to a stop after penetrating some distance into the ground. [A] Contact Causes a bullet to explode as soon as it hits the ground. Also causes it to explode against reflective shields (see below). [I] Proximity Causes a bullet to explode when it comes within a fixed distance of a tank. This is a good way to explode submunition rounds (or nukes) near targets. [E] Bounce The first time a bounce-fused bullet hits the ground, it will reflect off the ground. Sometimes a round will bounce downhill directly into an obstacle, so don't always expect to see the bullet fly up into the air (see Physics, below). Also allows bullets to bounce off of the SOLID border type. [E] Altitude Causes a bullet to explode when it drops below a certain altitude. The fuse will not detonate the bullet unless it is heading down (though the bullet will explode against obstacles as normal). You will be asked to click on a target altitude. 3.3 Guidance Systems [I] Homing When the shell gets within a certain range of a target you designate, it will try and adjust its velocity to bring it closer to the target. This is most effective when the shell passes close to the target and is traveling slow enough to allow it time to maneuver. Very effective when combined with MARV ammunition. [I] Homing-2 Similar to homing guidance, but with a longer range and more maneuvering power. [A] Retard When the bullet gets above the specified target, it stops. It then falls, and can be blown by wind. (So if there's significant wind, you may want to aim upwind of your real target.) [E] Retard-2 Similar to retard guidance, but compensates for wind so that the bullet drops straight down. [A] Auto-Homing This is similar to homing guidance, but the shell will automatically home in on the closest tank instead of requiring a specific target to be selected. 3.4 Fall Protection [B] None Normally, if your tank doesn't have enough support underneath it, it falls and takes damage. [I] Rocket Brakes These slow your tank, allowing it to take half damage from falling. [B] Parachute Better than rocket brakes, a parachute prevents your tank from taking any damage when it falls. [A] Balloon A balloon will inflate as your tank starts to fall, and allow it to hang in midair. However, if the balloon is hit by any bullet, it will pop and drop your tank. [E] Anti-Grav The ultimate defense against falling, this allows your tank to hover in mid-air. The anti-gravity field may affect the landsliding of dirt beneath the tank (this is a minor effect). 3.5 Shields All shields must be energized before they do anything (press 'E' during the aiming phase). You can click on a tank during the aiming phase to see how much of its shields are left. Shields act only against inbound rounds (those heading towards the shielded tank). As shields are damaged, their colors fade. [B] Deflector This shield pushes inbound bullets away from your tank. It isn't very effective against bullets which are traveling very fast. [A] Phase Creates a pair of vertical fields. Bullets entering one field pass out the other without touching anything between the fields. [I] Earthen Creates a dome of dense dirt, which acts to slow bullets enough that they explode. The dirt is regenerated at the beginning of every turn, until the shields are depleted. [B] Solid Creates a dome which explodes all bullets which come into contact with it. This and all other more expensive shields are redrawn as soon as they are damaged, so no holes are left for subsequent bullets to fly through. [A] Reflect Any bullets which hit reflective shields bounce off. However, bullets armed with contact fuses will explode when they hit the shield. [E] Absorb Absorbs all bullets which hit the shield, before they can explode. 3.6 Tank Modifications Buying these allows you to improve your tank. When you buy a modification, your tank is changed for the rest of the rounds left in the current game. Buying more than one of a modification does not do anything (other than waste money) - for example, buying two Armor modifications will not give you 400 points of armor. [E] Improved Turret Allows you to depress your tank's barrel to 20 degrees below horizontal (instead of just 10). [E] Improved Barrel A more efficient design, this gives your shots 25% higher velocity at the same power. This allows them to cut through more dirt. DU and steel ammo will do more damage, since the bullets can go faster. [E] Smaller Body Makes you harder to hit. [E] Better Traction Builds better support under your tank, so that it is less likely to fall if some of the dirt underneath it is removed. [E] Backup Generator If your tank is damaged, this repairs you by 25 power per round. This will not allow your tank to go above 1000 power, nor will it repair damaged armor. [E] Armor The first 200 damage your tank takes each round will be absorbed by thicker armor. After that, your tank takes damage normally. You can click on a tank in the Aiming Screen to see how much armor it has left. Armor sometimes allows a tank to survive a direct hit. 4. System Settings and Command Line Options The behavior of Howitzer is controlled through two means: command line options and the System Settings menu. Command line options take effect as soon as Howitzer is run, and remain in effect until it is exited. Options in the System Settings Menu may be changed between games. There are actually two system settings menus, although only one is visible at a time. The "Beginner Settings" menu is shown if beginner mode is turned on; it has only a few options. The "Expert Settings" menu is shown if beginner mode is turned off, allowing greater customization of Howitzer. 4.1 Beginner Settings Menu Options This presents a reduced set of options, so new users of Howitzer won't get overwhelmed. Options not shown on this menu are set to reasonable defaults. Game Length The number of rounds the next game will last. (Games can be aborted at any time using the "End [G]ame command of the popup system menu - see section 2.5.) Players The number of players, human or computer, that will participate in this game. Their names and player type can be set in the tank menu on the settings screen. Howitzer can handle up to 10 players. Starting Money The amount of money each player begins the game with. This allows stocking up on weapons before the first round of combat. Background Type Selects the type of background that will appear behind the terrain. If you are low on memory, you may want to choose SIMPLE - it isn't as pretty, but doesn't use any expanded memory. More detailed descriptions of the other backgrounds are listed in the Expert Settings Menu Options section. Ground Type Selects the type of terrain. In beginner mode, the only difference between terrain types is that they look different. Border Type Determines what happens when a bullet hits one of the playfield borders. Normally, bullets that go off the top of the screen will come back down, unless they go too far off one side of the playfield. Other border types can block bullets or cause them to bounce back onto the playfield. Explosion Sounds Toggles whether explosions make noise or not. This only makes a difference if you have a sound card installed. Flight Sounds Turns sound on for bullets in flight. This can be based on height (the higher up a bullet, the higher the pitch) or velocity (the faster the bullet, the higher the pitch). Bullet Traces Normally, bullet traces gradually fade into the background. If you are running low on memory, you may want to set this to TRACER ONLY (in which case only Tracer ammo leaves traces) or PERMANENT (where all ammo leaves traces, but the traces don't fade). 4.2 Expert Settings Menu Options Game Length The number of rounds the next game will last. (Games can be aborted at any time using the "End [G]ame command of the popup system menu - see section 2.5.) Players The number of players, human or computer, that will participate in this game. Their names and player type can be set in the tank menu on the settings screen. Howitzer can handle up to 10 players. Auto-Name Tanks If this is on and you change the opponent type of a tank, the tank's name will be automatically changed to the opponent type and tank number ("Human 2", "Chooser 7", etc.) This makes it easier to tell who's shooting at whom. Of course, you can always click on a tank in the aiming screen to see what type of opponent is controlling it. Aiming Order The order in which tanks aim. Aiming last can be an advantage, since you know where everyone else is going to fire, and can plan what you're going to do based on that information. However, if firing order is SEQUENTIAL, aiming first means that you have a chance to destroy an enemy tank before it can fire back. Choices are: FIXED Tanks always aim in the same order they appear in the Tank Menu in the System Screen. RANDOM Each turn, tanks aim in a random order. ROTATE The tank that aimed first the previous turn aims last this turn; everyone else aims one position sooner. RICH LAST Tanks aim in order of money on hand, so poorer tanks will aim before richer tanks. This makes spending every last penny on better weapons a slight disadvantage. WINNER FIRST Tanks aim in descending order of number of games won. This gives a slight advantage to the tanks that are losing. Firing Order The order in which tanks actually fire their bullets: SIMULTANEOUS All tanks aim and select their weapons. They then all fire their bullets at the same time IRREGULAR All tanks aim and select their weapons. Some tanks fire their bullets a bit before the other tanks, some a bit after, randomly. SEQUENTIAL One tank aims and fires. Then the next tank aims and fires. Firing first is an advantage, since you may be able to destroy an opponent before he/she even gets a chance to fire back or raise shields. Order Scores By The tank scores list can be ordered in several different ways, depending on what you think is most important: NAME Tank scores are given in the same order the tanks appear in the Tank Menu in the System Screen. WINS Tanks with the most wins are listed first. KILLS Tanks with the most kills are listed first. MONEY Tanks which have earned the most total money are listed first. Max. Round Length The maximum number of turns in a round. If two or more tanks are alive after this many turns, the round is declared a stalemate and no one wins it. Although humans don't usually run into this limit, computer players sometimes seem to take forever to kill each other. Fast Endgame Controls what happens when the computer players kill off all the humans. During a fast endgame (or any other time only computer players are left), pressing 'X' will end the round. OFF Play proceeds normally, until the computer players kill each other off. ON Howitzer will temporarily turn off traces, reduce all delays, and use point bullets in an attempt to finish the round as soon as possible. This reduces the waiting between rounds for the humans. VERY The same as ON, but Howitzer makes the bullets invisible too (since this is slightly faster than displaying them). Pause at Scores After every round, the current scores are displayed. If this option is turned on, Howitzer waits for a keypress or mouse click to continue. If off, Howitzer will pause for one second and then go on to the Marketplace or the next round. Howitzer always pauses at the final scores for a game. LANDSCAPE OPTIONS SUBMENU: Background Type This is the same as the Background Type option in the Beginner Settings menu. The type of background that will be displayed. Using any setting but SIMPLE requires 464 KB of expanded memory. Possibilities for the background are: SUNSET Fades from one color at the top of the screen to another at the bottom. Colors depend on the ground type (see Ground Type, below). GRID Faint yellow grid over a plain background. Nice for estimating distances and angles. STARS Black background with lots of stars. They don't twinkle (yet!) GALAXY Same as stars, but with the Milky Way in the background. Added to please my astronomer and astrophysicist friends. CLOUDS On Earth or Venus, displays a cloudy sky. On Mars or the Moon, displays plasma discharges (since we can't have clouds there, can we?) RANDOM Picks a new background type each round - SIMPLE will not be chosen, since it's not as pretty. SIMPLE All one color. Mushroom clouds are not permanent, and will be obscured by other explosions or bullet traces. If speed is a problem on your system, simple sky will make things move a little faster. This is also your only choice if you don't have any expanded memory. Ground Type This is the same as the Ground Type option in the Beginner Settings menu. Selects the type of ground for the game. SIMPLE ground is faster to calculate. If Use Real Gravity (see below) is turned on, gravity is different for each choice. Choices are: SIMPLE Earth-like terrain, with snow, bare rock, and tree-covered slopes. Not as pretty as EARTH, but faster to calculate. Gravity is 9.80 m/s. EARTH Snow-topped mountains with tree-covered slopes. Gravity is 9.80 m/s. MARS Red mountains. Gravity is 3.72 m/s. MOON Gray mountains. Gravity is 1.67 m/s. (which is still high enough that tank bullets can't reach escape velocity) VENUS Yellowish-brown mountains. Gravity is 8.62 m/s. RANDOM Picks a new ground type each round - SIMPLE will not be chosen, since it's not as pretty. Advance Generation If you have enough expanded memory, Howitzer can generate the screen for the next round while you're playing the current one. This setting controls which parts of the next screen are generated in advance. SIMPLE ground and sky don't need to be generated in advance, so will ignore this setting. NOTHING The screen for the next round will be generated after you finish this one. This is your only choice if you don't have any expanded memory. GROUND ONLY The ground will be generated in advance. This setting requires 368 KB of expanded memory. SKY ONLY The sky will be generated in advance. This setting requires 464 KB of expanded memory. (This is in addition to the 464 KB of expanded memory required for detailed skies in the first place.) GROUND+SKY Both the ground and sky will be generated in advance. This setting requires 832 KB of expanded memory. Border This is the same as the Border option in the Beginner Settings menu. The type of border that exists at the edges of the playfield. Possibilities are: NORMAL Bullets that go off the top of the screen will come back down, unless they go too far off the sides of the playfield (see Border Extends setting, below). PHASE Bullets that hit the left side of the screen reappear on the right side, and vice versa. Bullets that go off the top of the screen will continue to wrap side-to-side, and will eventually come back down. SOLID Bullets that hit any edge of the screen explode. REFLECT Bullets that hit any edge of the screen bounce off, losing no speed in the process. ABSORB Bullets that hit any edge of the screen are absorbed without exploding. DECEL Similar to REFLECT, except that bullets hitting a border lose speed when they bounce. ACCEL Similar to REFLECT, except that bullets hitting a border gain speed when they bounce. However, if the bullet is moving too quickly when it hits the border, it will explode rather than bounce. RANDOM At the beginning of a new round, the border type is randomly picked from the above types. Playfield Extends For NORMAL border type, the number of pixels past the sides of the screen that bullets are allowed to exist. In high winds, this allows a "hook shot," where the bullet is fired into the wind and goes off-screen to one side, then is blown back on screen to hit a target. Max. Wind The maximum wind velocity. Bullets are blown downwind more by higher winds. Use Real Gravity If turned on, gravity is different depending on the ground type (see above). If turned off, gravity is Earth-like (9.80 m/s) for all ground types. Air Viscosity This controls how thick the atmosphere is. A thicker atmosphere slows down bullets, so they don't go as far. If viscosity is zero, bullets travel in parabolic paths (this is what you're used to). Bumpiness How bumpy the terrain is. Higher numbers make steeper, more irregular mountains. Lower numbers make gentle slopes. Max. Stable Slope The maximum stable slope of ground. If at the end of a turn the ground has too steep a slope in an area, the dirt will landslide until the slope reduces to below the maximum value. No matter what the Bumpiness setting, the initial terrain for any round will be entirely below maximum slope. (Setting maximum slope to 1 doesn't make very interesting terrain.) Dirt Fall Percent The fraction of time that dirt will fall. If this is set to a low number, dirt may hang in midair for several turns before finally falling. Hanging dirt can be shaken down with Seismic Blast ammo (see section 3.1). Computer players and cruise missiles don't deal very well with hanging dirt. EQUIPMENT OPTIONS SUBMENU: Starting Money The amount of money each player begins the game with. This allows stocking up on weapons before the first round of combat. Unlimited HE Ammo If turned on, all players have an infinite supply of High Explosive ammunition. Otherwise, only Steel Shot ammo is unlimited. When turned off, it can make for more conservative games. Computer players don't deal well with running out of HE ammo, though. Marketplace Shows Selects which items appear on the Available Items menu in the Marketplace. Choices are: ALL Shows every piece of equipment, whether the tank can afford it or not. AFFORDABLE Only shows equipment the tank can afford. TICKLER Shows equipment the tank can afford, plus items the tank could afford if it had another $300. Useful for determining whether there's something you want to save up for. Technology Selects the complexity of items that will be available in the Marketplace. I suggest setting this to BEGINNER if you've never played before, and gradually working your way up to EXPERT. Choices are: BEGINNER The easiest setting. No guidance or fuses to worry about. Tank modifications are also unavailable. Ammo is restricted to the least complicated items (basically things that just explode). INTERMEDIATE Adds in some fuses and guidance, and a lot of ammo. Nuclear weapons become available. ADVANCED Even more items available, including Napalm and Phase Shields. EXPERT Everything available, including tank modifications. DELAYS SUBMENU: Tank Fall Delay Larger numbers make tanks appear to fall slower. Falling damage is unaffected - this just makes the game more enjoyable on fast machines. Compensated Events If there are fewer than this many bullets and explosions on-screen, Howitzer will add a delay so things continue to happen at the same speed. (Otherwise, if you just had one bullet on the screen, it would move five times faster than five bullets on the screen.) Lowering this value will speed up the game, but the apparent speed of bullets may change. This is best set using the Calculate Delays button in the System Screen. (see section 2.2) Event Compensation This is the delay Howitzer adds in for each event less than the number of Compensated Events that is on-screen. For example, if Compensated Events is 5, Event Compensation is 150, and there are currently 2 bullets on-screen, Howitzer would delay for (5-2)*150 = 450 MTU (meaningless time units). Lower this number if things actually speed up if there are more bullets on-screen (for example, when a MIRV splits). This is best set using the Calculate Delays button in the System Screen. (see section 2.2) Plot Frequency Howitzer calculates the position of the bullet several times for each time it's plotted on the screen. This setting affects how often the bullet is drawn to the screen. Larger numbers will plot the bullet more frequently, making it appear to move more smoothly. Smaller numbers will speed the game up without reducing accuracy - each bullet's position is still calculated the same number of times; it's just plotted to the screen less. Explosion Sizes Affects the sizes of all explosions. ITTY-BITTY, TINY, and SMALLISH will make all explosions smaller than normal. LARGISH, HUGE, MUNCHKIN, and WHAT WAS THAT? will make explosions larger than normal. Little brothers seem to be especially fond of MUNCHKIN-sized fusion warhead explosions. Animate Nukes Controls the appearance of Fission and Fusion Warhead explosions. Using a setting other than NO is slightly slower, but a heck of a lot more attractive. NO Nuclear explosions flash the screen white, but don't do any special animation. FIREBALL After the flash, a fireball rises into the sky, then fades away. MUSHROOM CLOUD As the fireball fades, it leaves a mushroom cloud behind. This is the setting used for the intro screen. Mushroom clouds will last until the end of the current round. Explosions Sounds Toggles whether explosions make noise if you have an Adlib-compatible sound card. Bullet Shapes Controls the appearance of bullets: NORMAL Bullets will have different shapes depending on their type (nukes and cruise missiles are particularly cute). POINT All bullets will look like little dots. This can make them harder to see (since single pixels are pretty tiny on an 800x600 display) but will also speed up the game on slow machines. INVISIBLE Bullets are not visible at all. This does not affect the appearance of traces, which is set via the Bullet Traces option. Using INVISIBLE bullets and PERMANENT traces is even faster than using POINT bullets if you have a really slow machine. Bullet Traces Determines the nature of traces: TRACER ONLY Tracer bullets leave traces, which are permanent. Traces may be erased by selecting Refresh [S]creen from the system menu. Ordinary ammunition leaves no traces. This setting can be a real challenge when combined with INVISIBLE bullets. FADING All bullets leave traces, which fade from the sky (see Trace Duration, below). This setting requires 128 KB of conventional memory, so you may not be able to use fading traces under low memory conditions. It is also slightly slower than the other two settings. PERMANENT All bullets leave traces, which are permanent unless the screen is refreshed. Trace Thickness Larger numbers make traces more dense. Smaller numbers make traces thinner, and speed up the game slightly. Trace Duration The number of turns a trace will last, before fading into the background. Ignored if Trace Type is not FADING. Flight Sounds If you have an Adlib-compatible sound card, bullets can make noise while in flight. The type of noise generated is determined by this setting: NONE Bullets don't make any noise while in flight. This is slightly faster than the other settings. HEIGHT The pitch of a bullet's flight sound is based on how high up it is. The higher the bullet, the higher the pitch SPEED Flight sounds are based on how fast bullets are moving. Faster bullets make higher-pitched noises. (This is amusing to listen to if you're using Deflector shields.) 4.2 Command Line Options You can control much of Howitzer's behavior by specifying options on the command line when you run it. For example, howitzer -OX -L will make Howitzer skip the opening screen, ignore expanded memory, and not generate a logfile. Command line options may be connected (such as -ONX) or separated (such as -O -N -X). The only exception is the -I option, which must be by itself; if you specified -IFOOX, Howitzer wouldn't know whether you wanted to read input from a file called "FOOX", or whether you wanted to read input from a file called "FOO" (-IFOO) while ignoring expanded memory (-X). Command line options may start with a dash (like -X -N) or slash (like /X /N). -? Print a list of all the command line options This prints help on the command line options that you can use to control Howitzer. -O Skip opening screen This allows you to skip the animated opening screen and go right to the system settings screen. -N Do not read howitzer.ini on startup Ordinarily, Howitzer reads its system settings from howitzer.ini. Using this option causes Howitzer to ignore the file and use its own built-in defaults. -X Do not search for expanded memory On some computers which have no expanded memory, Howitzer can get confused when it looks for expanded memory. If you have no expanded memory and Howitzer won't run, try this option. -W Don't warn that Windows is running Normally, Howitzer will print a warning if it is run under Microsoft Windows. This option suppresses the warning message. -S Allow Windows task switching at all times Howitzer ordinarily disables Windows task switching, except in special cases (see section 8). This option allows switching at all times. USE WITH CAUTION, since switching away from Howitzer in the middle of a game can corrupt the screen. The following options affect the types of information stored to the logfile. -L Don't generate a logfile By default, Howitzer creates a file called howitzer.log in its directory. Any errors that may occur will be logged to this file (this is a BIG help if I'm trying to track down a bug you report). This option disables creation of the log file. -D Log damage taken by all tanks If this option is enabled, any time a tank takes damage it will create an entry in the logfile showing who damaged whom, and by how much. -M Log money and purchases Records tanks' earnings and expenditures to the logfile. -C Log conventional memory allocations Records allocation and freeing of conventional (<640 KB limit) memory to the logfile. -E Log expanded memory allocations Records allocation and freeing of expanded (EMS) memory to the logfile. -T Log thinking of computer tanks Records information on what the computer tanks are doing and where they are aiming to the logfile. -K Log keyboard and mouse input Records all keypresses and mouse clicks to the logfile. This allows you to save a game for later viewing, and also helps me track down bugs (since I can duplicate exactly what you did). The last option must be specified by itself. It allows you to playback a previous game by reading input from that game's logfile. If you're going to do this, you should rename the old logfile to something besides howitzer.log, or Howitzer will overwrite the old logfile when it starts up. -Ifile Read keyboard and mouse input from specified file The counterpart to -K, this option specifies a logfile to playback user input from. If Howitzer runs out of input from this file, it will revert to using the real keyboard and mouse. Playback can also be aborted by pressing the Escape key several times (though the game may take several seconds to return control to the keyboard and mouse). Note that Howitzer does NOT automatically set the same command-line options that were used to record the playback file in the first place - you must set these manually 5. Computer Opponents Howitzer has several types of computer opponents. Computer-controlled tanks have the same limitations as human-controlled tanks. For example, the tank barrel's elevation must be an integer number of degrees; a Rebounder (see below) can't fire at 57.3 degrees to kill you on the first shot - it has to try 57 or 58 degrees and hope, just like a human. If they have enough money, computer opponents will buy and use several types of ammunition, shields, and fall protection. Opponent types are: Target Drone Doesn't fire at all. Useful for target practice when you don't want an opponent that shoots back. Chancer The simplest (and stupidest) computer opponent. Each turn, it picks a random angle and power to fire at. Linear Looks for the best straight-line shot to an opponent. If it doesn't have one, fires randomly. Flinger Tries to arc shots over intervening mountains to hit its target. Although it's not very good at guessing the best power for its next shot, it can eventually pin down and kill most targets. Rebounder If the border type is REFLECT, ACCEL, or DECEL, tries to bounce shots off the top border to hit opponents. If a rebounder has a clear shot, it usually hits on the first or second try. Arcer Similar to the Flinger, it tries to fire arcing shots over obstacles. However, the Arcer is much more accurate, and usually can kill a target in two or three shots. Chooser Can shoot as a Linear if it has a straight shot, or as an Arcer if it doesn't. The chooser is an even match for an average human player. 6. Game Mechanics 6.1 Bullets: Tanks launch bullets at a speed that is super-linear with respect to power. What that means is that a 1000-power shot is more than twice as fast as a 500-power shot. Once a bullet is in the air, gravity drags it downward, and wind blows it downwind. Air viscosity also affects bullets by slowing them down (in the same way a marble dropped into a pitcher of syrup slowly sinks to the bottom). Bullets slow down a lot when passing through ground or concrete, and somewhat when passing through aerogel. If a bullet slows down too much, and has a normal fuse, it explodes (see the equipment section on Fuses). If a bullet hits a reflective border or shield, or the bullet has a Bounce fuse and hits the ground, it will rebound from the surface at the same angle it strikes it. Examples: \ ^ # | \ ## \ / ## | \ ## \ / ### | \## \ / ####+---> /## \/ ##### / ## ########## ###### / ## ########## ####### V ## 6.2 Damage: Most types of explosive ammo will kill outright any tank they directly hit. If a bullet doesn't hit directly, but instead explodes nearby, the tank may be caught in the explosion and still take damage. Explosions are more damaging near the center than at the edges. Tanks also take damage from falling. A tank will become unstable and fall if less than half of it is touching the ground, and will continue falling until it becomes stable again. The damage a tank takes is proportional to the height it fell times the gravity. (Falling on the Moon does virtually no damage. Falling on Jupiter HURTS.) When a tank is damaged, it will not be able to use as much power to fire shots. In the Aiming Screen, you can click on a tank to see what its maximum power currently is. Bullets hitting shields do damage based on how much the bullet weighs. A Fission Warhead weighs more than a High Explosive round, which weighs more than a Steel Shot. Tracers don't weigh enough to damage shields. 6.3 Scoring and Money: A tank wins a round if it is the last tank alive. It is possible for all the tanks to kill each other; in this case, the round is a tie and no one wins. (How can you win when you're dead?) One kill is equivalent to doing 1000 damage to a tank, which is the damage required to destroy a tank that was at full power. Tanks get credit for partial kills, so doing 300 damage to a tank is worth 0.3 kills. If a tank makes an enemy fall (for example, by using Termites to dig out the ground underneath it), it gets credit for any falling damage the enemy takes. Tanks can earn money in the following ways: $25 for each 100 damage done to an enemy tank $10 for each 10% damage done to an enemy's shield $50 for firing the shot which kills an enemy tank $250 for winning a round Tanks are fined for the following actions: $42 for each 100 damage done to yourself $17 for each 10% damage done to your own shield $84 for firing the shot which kills yourself You can change how Howitzer ranks players by setting the Scoring Order option in the System Screen. 7. Howitzer and Memory Howitzer likes having lots of memory. (ANY program which is doing Super VGA graphics and animation likes having lots of memory.) Howitzer is most happy with 512 KB or more free conventional memory and 2048 KB or more free expanded (EMS) memory. 7.1 Memory Basics: Memory on PC's comes in three flavors: conventional, exPANded (also called EMS), and exTENded. The first is always available to you, but the second and third require you to have device drivers loaded from your config.sys file. Techniques to free up more memory are somewhat arcane, and far more detailed than belong in a manual for a game. The simplest way, if you've got DOS 6.0, is to type MEMMAKER from the DOS prompt. If the suggestions below don't seem to work on your computer, ask a friend for help. To see how much free memory MS-DOS thinks you have, type MEM from the DOS prompt. You should see a display similar to this: C:\BCC\HOWITZER\EXE>mem Memory Type Total = Used + Free ---------------- ------ ------ ------ Conventional 636K 103K 533K Upper 0K 0K 0K Adapter RAM/ROM 0K 0K 0K Extended (XMS) 15360K 15360K 0K <---*** ---------------- ------ ------ ------ Total memory 15996K 15463K 533K Total under 1 MB 636K 103K 533K Total Expanded (EMS) 1536K (1572864 bytes) Free Expanded (EMS) 1472K (1507328 bytes) <---* Largest executable program size 533K (545872 bytes) <---** Largest free upper memory block 0K (0 bytes) MS-DOS is resident in the high memory area. The first number with an arrow pointing to it (<---*) is the amount of free conventional memory you have. The second number (<---**) is the amount of free expanded memory. The third number (<---***) is the amount of free extended memory. Howitzer can't use extended memory, but the good news is you CAN turn extended memory into expanded memory by adding the following lines to your config.sys file: device = c:\dos\himem.sys device = c:\dos\emm386.exe 2048 RAM That should turn your exTENded memory into exPANded memory. (Isn't MS- DOS fun?) 7.2 Conventional Memory Consumption At a bare minimum, Howitzer requires 432 KB of free conventional memory. Options such as detailed skies, fading traces, and large explosions require more memory on top of this number. If you have enough expanded memory, Howitzer may be able to use less conventional memory. At any point during the game, you can use Alt+Z to display the Popup System Menu, then select [M]emory Usage to see how much memory Howitzer is using and how much it has left. Condition Memory required (KB) Minimum to run Howitzer 432 Explosion Sizes set larger than NORMAL +10 Traces are set to FADING +128 Enough EMS for backing stores (see below) -128 KB 7.3 Expanded Memory Consumption Howitzer will use expanded (EMS) memory for storing special effects and graphics. It also needs expanded memory to save the screen so you can switch to Windows from the Aiming Screen. You can control some of how Howitzer uses expanded memory with the Background Type and Advance Generation settings (see section 4). The following table summarizes the amount of expanded memory required for each setting. Condition EMS required (KB) Background Type is SIMPLE 0 Background Type is anything else +464 Advance Generation is GROUND ONLY +368 Advance Generation is SKY ONLY +464 Advance Generation is GROUND+SKY +832 Backing stores (see below) +128 Screen save buffer for switching to Windows +464 Howitzer can use up to 128 KB of expanded memory for BACKING STORES. These are the screen areas which are covered up when you pop up a menu (such as the Popup System Menu, Popup Help, or an equipment menu in the Aiming Screen). If you have 128 KB of free EMS after that used by the Background Type and Advance Generation settings, Howitzer will only use about 304 KB of conventional memory. (This is good news for those of you using LAN's or lots of device drivers.) 7.4 Examples Example 1: 360 KB of free conventional memory and 1024 KB of free EMS. Since you have less than 432 KB of free conventional memory, you must save 128 KB of free expanded memory for backing stores. This leaves you (1024 - 128) = 896 KB of free EMS. So you could run Howitzer with a non- SIMPLE Background Type and Advance Generation = GROUND ONLY. You couldn't use a non-SIMPLE Background Type and Advance Generation = SKY ONLY, because you wouldn't have enough free EMS for backing stores, since (464 + 464) = 928 KB is more EMS than you have left. Example 2: 500 KB of free conventional memory and no EMS. You have enough free conventional memory to run Howitzer. However, you won't be able to use fading traces, since that would take (432 + 128) = 560 KB of free memory. Since you don't have any EMS, you also won't be able to use detailed skies. 8. Howitzer and Microsoft Windows Microsoft Windows doesn't coexist very well with DOS applications that use Super VGA (SVGA) graphics. The main reason is that many video drivers for Windows can't handle saving and restoring SVGA screens. If you switch away from a SVGA DOS application to Windows or another DOS application, the screen of the SVGA application may be corrupted when you switch back into it. To minimize these inadequacies, Howitzer incorporates several features designed to reduce the damage caused by a corrupted screen. Howitzer normally prevents Windows from trashing its screen by disabling task swaps except in special circumstances (see below). This means that Windows hot keys like Alt+Esc, Alt+Enter, and Ctrl+Esc will not work from within Howitzer. Applications that are running in the background (like a communications program that is downloading files) will continue to get time slices, but you won't be able to switch to them. If you have enough free expanded memory, you can use Alt+W (or the "Switch to [W]indows" option in the popup system menu) to switch from Howitzer to Windows or another DOS prompt. Howitzer will save its screen and display a message, then enable task switching. When you switch back to Howitzer, press the spacebar to restore the screen and continue playing. Saving the screen costs no memory from the System Screen or Marketplace, but requires 464 KB of free EMS in the Aiming Screen. If you don't have enough free memory, Howitzer will suggest ways you can free up more memory. If you are running Windows in 386 enhanced mode, you may be able to use a swap file to fool Windows into thinking you have more memory. (The information is in chapter 14 of my Windows 3.1 manual, under "Working with Windows Swap Files" - your mileage may vary.) If you still can't scrounge enough memory to allow Howitzer to save its screen, you can take your chances and switch to Windows anyway. If you're lucky, the damage will be minor and will be fixed by Alt+R (or the Restore Screen option in the popup system menu). Because of these potential problems, Howitzer will print a warning message if it discovers that it has been run under Windows. You can disable this warning by using the -W option when running Howitzer. 9. Troubleshooting Howitzer Because Howitzer is still in beta-test, there is a chance you'll run into a bug that isn't solved by any of these hints. If so, send me e-mail and I'll try to fix it in the next release. If you're lucky, one or all of the suggestions for a problem will fix it on your machine. Anything out of the ordinary Run Howitzer with the following options: -K -C -E. This won't fix anything, but the logfile will contain much more helpful (well, to me anyway) information. Please send me the logfile if you've got problems. Howitzer claims your card doesn't support 800x600x256, but other things use that mode just fine. Strange streaks appear on the screen during play, or the graphics are squished to the bottom inch of the screen. Try loading a VESA driver before running Howitzer. Some new VESA drivers for all video cards were just uploaded to oak.oakland.edu (141.210.10.117) in the directory pub/msdos/graphics as uvesa32.zip. Howitzer runs too darn slow, even on your 33 MHz 386 machine Buy a VESA local bus 66 MHz Pentium-based machine. While you're at it, buy one for me too :-) Set Compensated Events to 0 in the DELAYS SUB-MENU. Increase the value for Plot Frequency in the DELAYS SUB-MENU. Set Bullet Shapes to POINT or INVISIBLE. Set Bullet Traces to TRACER ONLY or PERMANENT. Set Background Type to SIMPLE. THIS IS THE END OF HOWITZER.TXT - NOW GO PLAY THE GAME! DON'T FORGET TO REGISTER HOWITZER!