HOWITZER Version 0.95beta by Randall Spangler (rspangle@micro.caltech.edu) 1. Introduction 1 1.1 Shareware Concept and Registration 1 1.2 Distributing Howitzer 3 1.3 Contacting the Author (please do!) 3 1.4 Disclaimer and Warranty: 4 1.5 About the Code 4 2. How to play 4 2.1 Flow of Play 6 2.2 The System Screen 6 2.3 The Aiming Screen 7 2.4 The Marketplace 9 2.5 The Popup System Menu 10 2.6 Reassigning Players 12 3. Equipment Reference 12 3.1 Ammunition 12 3.2 Fuses 15 3.3 Guidance Systems 15 3.4 Fall Protection 15 3.5 Shields 16 3.6 Tank Modifications 16 4. System Settings and Command Line Options 17 4.1 Beginner Settings Menu Options 17 4.2 Expert Settings Menu Options 18 4.3 Command Line Options 27 5. Computer Opponents 29 6. Game Mechanics 29 6.1 Bullets: 29 6.2 Damage: 30 6.3 Scoring and Money: 30 6.4 Team Mode: 31 7. Howitzer and Memory 31 7.1 Memory Basics: 32 7.2 Conventional Memory Consumption 32 7.3 Expanded Memory Consumption 33 7.4 Examples 34 8. Howitzer and Microsoft Windows 34 9. Troubleshooting Howitzer 35 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 up to 1024x768x256 Super-VGA graphics on any VESA-compatible card * Support for Adlib and Soundblaster compatible sound cards, with 192KB of digital effects! * 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 and graphics, 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 * Team mode (pit your friends against a few teams of computer opponents) In order to provide this, Howitzer requires the following hardware and software: * At least a 386-based machine * A Super-VGA video card with at least 256KB of video memory, with VESA support via BIOS or a TSR (a freeware TSR, Univesa, is included with the Howitzer package) * 448 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 * 576 KB or more free conventional memory * 3072 KB or more of expanded memory * A Super-VGA video card with 1MB of video 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). If you want Howitzer on a 3.5" disk, please add another $0.50 (hey, the disks cost more). 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 (yes, only 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 Please allow 2-6 weeks for your disk/datafile to show up. (I may be on the verge of a new release, and I want to wait a week or two and send you the new release instead of the current one.) These registration offers will remain in effect until December 31st, 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 (US 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 and howitzer.ini files * What type of system, video card, and mouse you have * What operating system you were running (DOS, OS/2, Windows) and what version I will always respond to E-mail. I will always respond to snail mail too, if you send a self-addressed stamped envelope for me to put my reply in. 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 32,000 lines of C and 386 assembly code (watch it grow!), and has taken me eleven 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. Howitzer uses VESA graphics routines written by the author in 32-bit assembly, to squeeze the most performance from your video card. In addition to my code, Howitzer makes use of the CRCSET routines by Kevin Dean (Compu$erve ID 76336,3114). UNIVESA, an excellent VESA support TSR by Kendall Bennett (kjb@citri.edu.au) is bundled with Howitzer. These are used under the terms of their license agreements, and those portions of code are copyrighted by their respective authors. 2. How to play First, make sure your system has VESA support loaded. You may need to load a TSR program first. If you don't have a TSR, you can use univesa.exe, which is included with Howitzer. (In that case, just type univesa from the DOS prompt - see univesa.txt for details.) 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 control what information it stores to its logfile, skipping the title screen, etc. (see section 4.3). If Howitzer will not start up, try the tips in Troubleshooting (see section 9). 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. From time to time, Howitzer will display a message in a box in the center of your screen; after you have read the message, press any key to continue. Such boxes come in three main colors. Gray boxes provide you with information or ask normal questions (such as "do you really want to exit?"). Yellow boxes warn you that Howitzer isn't at its happiest - you may be a little short on memory, or have entered an invalid selection. None of those problems are serious. Red boxes indicate errors which may cause Howitzer to exit with little or no further warning. (You should never see any of these.) 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 1000 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. Holding down the SHIFT key while clicking on a line moves the value by five times as much as normal; this makes it easier to change values by large amounts. 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 that 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 are playing in team mode (see section 6.4), right or left clicking on the team number changes the team the tank is on. 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). This button does not appear in beginner mode. 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. A magnified image of your tank will appear in the upper right corner of the screen. This makes it easier to tell which direction your tank's barrel is pointing. You can also click on the tank to see what shields and fall protection you are currently using. 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 or traces against the sky. If you have problems figuring out where your tank is aiming or where your last shot went, pressing the 'V' key temporarily adjusts your tank's brightness to one of five settings. Your tank and traces will return to their 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, or press the letter in front of it. 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 re-energize your shields before they run out completely; however, this will cost you another shield. 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 screen mode you are using * What sound support Howitzer found * 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 * The current gravity and air viscosity [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. Ch[a]nge Some Settings Pops up a sub-menu which lets you change the following options in the middle of a game: * Game Length * Fast Endgame * Explosion Sounds * Flight Sounds * Border * Weather * Marketplace Shows (See section 4 for complete descriptions of these options.) [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 or press a number key to select a tank. Howitzer will then show you the following information on the tank: * Name * Type * Team * If still alive, maximum power and armor * If dead, who killed it * Shields * Fall protection From the information box, you can press 'T' to select another tank; this quickly lets you scan through the tanks. 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. 2.6 Reassigning Players At the end of each round, the current tank scores will pop up on the screen. At this point, you can press 'P' to reassign, add, or delete players. This option only appears at the end of each round; it will not appear if the scores are popped up at any other time during a game. When this option is selected, the tank menu will appear in the lower right portion of the screen. You can click on tanks' settings to change them exactly as you would in the System Screen (see section 2.2). You can also add or remove a player by pressing that tank's number on the keyboard. Make sure you use the number keys at the top of the keyboard (above the QWERTY keys). Pressing the '0', '-' and '=' keys toggle whether tanks 10, 11 and 12 are playing (since there aren't '10', '11', or '12' keys). Note that adding or deleting players can leave gaps in the player list; Howitzer will handle this properly and play will continue normally. 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.) [E] MIRV-2 Same as the MIRV, but with nine warheads for even more carnage. (Try this one with explosions set to "WHAT WAS THAT?") [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] MARV-2 Same as the MARV, but with seven warheads. [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 and borders (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. [A] Anti-Grav Projects a repulsive field above the tank. This field repels any bullets not fired by the tank upwards. Anti-Grav shields are stronger and last longer than Deflectors, but don't provide any protection against side shots. [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. Tank modifications tend to be very expensive; if you want to use them, I suggest setting Starting Money to $5000 or more so that you can afford one modification right away. [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 12 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. Team Members Adjacent If this is turned on, all members of a team will be placed next to each other on the screen. If three teams of four players each were playing, they might be placed in the order 222211113333. If this setting is turned off, they might be placed 132112133232. Teams of two or three choosers next to each other make deadly opponents. 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 Gravity or Air Viscosity (see below) are set to PLANET, their values will be 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 1.00 gees. Air viscosity is 1.0 Earth normal. EARTH Snow-topped mountains with tree-covered slopes. Gravity is 1.00 gees (since that's how a gee is defined). Air viscosity is 1.0 Earth normal (I wonder why...) MARS Red mountains. Gravity is 0.38 gees. Air viscosity is 0.2 Earth normal. MOON Gray mountains. Gravity is 0.17 gees. (which is still high enough that tank bullets can't reach escape velocity, even at max. power) Air viscosity is 0.0 Earth normal. VENUS Yellowish-brown mountains. Gravity is 0.88 gees. Air viscosity is 4.0 Earth normal. JUPITER Purplish-brown mountains. Gravity is 2.64 gees (falling hurts). Sunsets look really good on Jupiter. Air viscosity is 16.0 Earth normal. AEROGEL LAND A whimsical land, where all the mountains are made of aerogel. This means it's possible to shoot through them (especially with DU Penetrator rounds). The aerogel has impurities in it, which appear as specks of normal dirt; these can block shots. However, you'll probably want to stock up on dirt-producing weapons to build your own barriers. This terrain will not be chosen by the RANDOM ground type. Gravity is 1.00 gees. Air viscosity is 1.0 Earth normal. RANDOM Picks a new ground type each round from EARTH, MARS, MOON, VENUS, or JUPITER. 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. SCATTER Bullets hitting a border bounce off at a random angle. (Watch out for bullets bouncing back straight at you.) BLINK Similar to PHASE, except that bullets going off the top of the screen come back down at a random position. (Try firing three or four MIRV-2's off the top of the screen - Rain-O-Death!) 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. Gravity Sets the gravity for the playfield, in multiples of Earth gravity (gees). In higher gravity, bullets won't travel as far and falling causes more damage. Lower gravity makes bullets more affected by wind. If set to PLANET, gravity will depend on the ground type (see above). 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). If set to PLANET, air viscosity will depend on the ground type (see above) - Venus and Jupiter have thick atmospheres, while Mars and Moon have none. 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.) Chance Dirt Falls The percent 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. Weather Howitzer can simulate the effects of several types of weather. Weather takes effect at the end of each turn, at the same time that the landscape is being updated. NONE No weather at all (sort of like Southern California) DRIZZLE Light rain RAIN Pixels tend to get washed downhill. This eventually erodes steep hillsides and peaks. DOWNPOUR Heavy rain SNOW FLURRIES Light snow SNOW Snow falls onto the landscape, covering tanks, shields, and dirt. BLIZZARD Heavy snow AEROGEL SNOW Snow made out of Aerogel. Aerogel is a very lightweight substance that is much easier to shoot through than dirt. ACID DRIZZLE Light acid rain ACID RAIN Rain which eats away at the landscape. Doesn't damage shields or tanks, unless it eats away enough of the hillside beneath a tank that it falls. ACID DOWNPOUR Heavy acid rain HAIL Sort of like snow, but falls in large clumps instead of evenly over the screen. ACID HAIL Sort of like acid rain, but falls in large clumps instead of evenly over the screen. RANDOM Chooses a new type of weather each round. 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. Prize Size This setting affects all rewards and penalties described in Scoring and Money (section 6.3). Setting this to a high level makes it easier to buy better weapons and shields (but computer tanks will also be able to buy equipment more easily!) Choices are: STINGY Rewards and fines are 50% of normal. Good luck saving up for shields. POOR All values are 75% of normal. NORMAL What does it sound like? Rewards and fines are as listed in Scoring and Money. GOOD All values are 125% of normal. GREAT All values are 150% of normal. BOUNTIFUL All values are 200% of normal. MONTY HAUL All values are 300% of normal. Beware computer tanks with nukes! Interest Rate Controls the amount of interest earned on money you didn't spend last round. Negative interest rates make it harder to save up for the big items. Computers Buy Ammo If turned on, computer-controlled tanks will buy ammo ranging from HE-2 rounds up to Fusion Warheads and MIRV's. Computers Buy Shields If turned on, computer-controlled tanks will buy shields and parachutes. 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. Shields Keep Between Rounds If turned on, shields last until they are drained. If off, shields only last until the end of the round in which they were turned on. 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.3 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. -Zrrr Start Howitzer in a screen mode that has rrr rows Howitzer supports four screen sizes: 640x400, 640x480, 800x600, and 1024x768. The default is 800x600. Smaller screens require less memory. For example, to start Howitzer in 640x400 mode, use the "- Z400" option. -O Skip opening screen This allows you to skip the animated opening screen and go right to the system settings screen. -N Don't 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 Don't 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. -B Don't use Soundblaster digital sound Using digital sound requires 192KB of EMS, 56KB of conventional memory, and (of course) a sound card. If you have a sound card, but don't want to use digital sound, this flag disables it. You will still be able to get FM (Adlib-compatible) sound effects. -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. -M Don't look for a mouse Howitzer normally looks for and uses a mouse. If for some reason you don't want to use your mouse, this option will force Howitzer to use its built-in mouse emulation (see section 2). -V Initialize verbosely If Howitzer crashes during initialization, this will save more information to the logfile so I can get a better idea of where it crashed and how I can fix it. 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. -P 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 many 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 Rebounder or 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.) If a tank falls on top of another tank, the top tank will explode. This usually kills the bottom tank, too. 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. When a tank dies, it can explode in a number of different ways. 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. A complete list of ammunition weights is in the registered user's manual. 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. All rewards and penalties are multiplied by a constant factor based on the Prize Size option in the System Screen. (see section 4.2) 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: $40 for each 100 damage done to yourself $16 for each 10% damage done to your own shield $80 for firing the shot which kills yourself In team mode, money for winning a round is shared equally between all teammates. For example, if a team with five tanks won a round but only three of its tanks survived, each of the five tanks would get ($250 * 3)/5 = $150. In addition, the following penalties apply: $20 for each 100 damage done to a tank on your own team $8 for each 10% damage done to a tank on your own team $40 for firing the shot which kills a tank on your own team You can change how Howitzer ranks players by setting the Scoring Order option in the System Screen. 6.4 Team Mode: Team mode is a way for groups of tanks to work together. In team mode, you win a round by being part of the last team alive; it isn't necessary to kill off your teammates to win. In fact, it's a bad idea - you are fined for damaging other tanks on your team. Computer players are (usually) smart enough to pick targets that are on a different team. Teams get points based on the amount of money and kills accumulated by all their team members. To play in team mode, you must turn beginner mode OFF. Then click on the ""[T]eam mode is OFF" button on the System Screen. The screen will fade, and come back in team mode. In this mode, the tank menu has an additional column for the team each tank belongs to. Clicking the left or right mouse buttons on a tank's team changes the team number. It also changes the tank's color, because tanks are colored based on the team they are on. Note that you must have at least two teams to play a game in team mode. In the aiming screen, other tanks on your team will be dimmed to remind you not to shoot at them. This also makes it easier to tell which tank is actually aiming. 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 3072 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 3072 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 448 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 448 Explosion Sizes set larger than NORMAL +10 Traces are set to FADING +78 Soundblaster digital sound enabled +54 Enough EMS for backing stores (see below) -128 KB Should you start to run low on conventional memory, Howitzer will print a warning message advising you of things you can do to reduce memory usage. If later in the game you start running out of memory, Howitzer will automatically disable fading traces and then digital sound support to free up additional memory. 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). You can see how Howitzer is using your expanded memory by popping up the system menu with Alt+Z and then pressing 'M'. The following table summarizes the amount of expanded memory required for each setting in each screen mode (640x400 / 640x480 / 800x600 / 1024x768). Note that larger screen sizes require more memory. Condition EMS required (KB) Background Type is SIMPLE 0 Background Type is anything else +240/288/448/752 Advance Generation is GROUND ONLY +192/240/368/624 Advance Generation is SKY ONLY +240/288/448/752 Advance Generation is GROUND+SKY +432/528/816/1376 Soundblaster digital sound enabled +192 Backing stores (see below) +128 Screen save buffer for switching to Windows +240/288/448/752 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 320 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, in 800x600 mode. Since you have less than 448 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, in 800x600 mode. You have enough free conventional memory to run Howitzer. However, you won't be able to use fading traces, since that would take (448 + 78) = 526 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: -KCEV. This won't fix anything, but the logfile will contain much more helpful (well, to me anyway) information. Please send me the logfile and your howitzer.ini if you've got problems. If you were running Howitzer under Windows, try running it outside Windows. Howitzer claims your card isn't VESA-compatible Howitzer now uses a graphics library which only runs if a VESA interface is present. Some older graphics cards don't have this support built-in, and need to have a driver loaded first. (For example, my Video 7 VRAM-II card needs to have a TSR called v7vesa.com loaded.) This driver will probably be in the same directory or disk as any other utilities that came with your video card. It's possible that your VESA driver won't work with Howitzer. This is probably because Howitzer requires VESA 1.2 support. Many older drivers only support version 1.1 or 1.0 of the VESA standards. All is not lost! Howitzer now comes with Univesa, which is a free universal VESA driver capable of supporting many common video cards. If you don't have a VESA driver or your driver doesn't work, you can use Univesa instead. This should be as simple as typing univesa from the DOS prompt. Univesa comes with its own documentation (see univesa.txt) which may help track down any remaining problems. If these alternatives fail, contact me via E-mail and I'll try to connect you with a VESA driver that will work on your system. Howitzer claims your card or driver doesn't support the requested SVGA resolution By default, Howitzer starts up in 800x600x256 mode. If your card does not have 512KB of video memory, you will only be able to run in 640x400x256 mode - you can do that by starting Howitzer with the "- Z400" flag. Older Western Digital cards (such as the Paradise Pro) do not support 800x600x256, even though they have 512KB of memory - to run Howitzer on those cards, try the "-Z480" flag. You will only be able to use 1024x768x256 mode if your video card has 1MB of video memory. Starting with version 0.95beta, Howitzer should automatically start in a lower resolution if your card can't support 800x600x256. Howitzer claims your card or driver is out of date or not compatible Some old VESA drivers do not support the full VESA function set. If Howitzer detects one of these in your system, it may print a warning message or refuse to run. If this happens, you will need to update your VESA driver (see above). Howitzer doesn't make any spiffy digital sound If your sound card is at a non-standard IRQ or DMA channel, you will have to set the BLASTER environment variable before starting Howitzer (having your sound card's manual will come in handy here). You do this by typing "set blaster=A(addr) I(irq) D(dma)" at the DOS prompt. (addr) is your sound card's I/O address - the default is 220. (irq) is the card's IRQ setting - the default is 7, but some MediaVision PAS-16 cards come with it set to 5. (dma) is the card's DMA channel - the default is 1. Note that Howitzer can't handle IRQ's over 7 or DMA channels over 3 (let me know if this is seriously limiting you). For example, to set the BLASTER environment variable to the Soundblaster defaults, at the DOS prompt you would type "set blaster=A220 I7 D1" If you are running under very low memory conditions, you may not have enough conventional memory to use digital sound. Digital sound also requires 192KB of expanded memory. If you don't have any EMS, you won't be able to use digital sound. (See section 7 on how to get expanded memory.) Howitzer runs too darn slow, even on your 33 MHz 386 machine Buy a PCI 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. Run Howitzer in a smaller screen mode (use "-Z480" or "-Z400" command line flag). Howitzer doesn't generate any sound whatsoever Because Howitzer must generate sounds for many bullets and explosions at the same time, it can't use a generic PC speaker for sound. (The built-in speaker can only play one tone at a time.) Howitzer says it's missing a file and can't run without it Check your distribution disk or re-run the self-extracting archive file. If Howitzer still claims it can't find the file, please let me know which file and where you found Howitzer (someone must have been tampering with the archive, and I'd sure like to hear about it). Other crashes or strange behavior. Start Howitzer with the "-X" command line option. This will disable expanded memory support. If this fixes your problem, please send me the logfile Howitzer generates with the "-EV" options. Start Howitzer in the smallest screen mode (-Z400). This will use the least memory, and work on the most video cards. If Howitzer appears to have locked up (it's ignoring the mouse and Alt+X, and nothing seems to be happening on the screen), try pressing Ctrl+Break and then the spacebar a few times. Howitzer will do its best to return you to the DOS prompt without forcing you to reboot. If, heaven forbid, Howitzer DOES lock up so badly you have to reboot, type chkdsk /f at the DOS prompt. Chkdsk will probably tell you that you have some number of lost clusters in a few chains. When it asks you if you want to convert these chains to files, answer yes. This will create some files in your root directory called file0001.chk, file0002.chk, etc. Look through those files with a text editor for one which starts out "Logfile for HOWITZER". This is the logfile which Howitzer was writing to when it crashed. Please E-mail this file to me so I can try and find your bug. (see section 1.3) THIS IS THE END OF HOWITZER.TXT - NOW GO PLAY THE GAME! DON'T FORGET TO REGISTER HOWITZER!