xscorch — Annihilate enemy tanks using overpowered guns.

Synopsis

xscorch

xscorch [options]

xscorch --help

Description

Xscorch is a clone of the classic DOS game, "Scorched Earth". The basic goal is to annihilate enemy tanks using overpowered guns :). Basically, you buy weapons, you target the enemy by adjusting the angle of your turret and firing power, and you hope to destroy their tank before they destroy yours.

Gameplay

First, fiddle with the options in the main menu. There are a number of options which are described below, which may make the game easier or harder. The default options make for a reasonable level of gameplay. Most of the game configuration is controlled from the user interface, although there are a few command-line options which are mentioned below. Once you are ready to begin a new game, you might want to Save Options to save your configuration, then select Begin Game to start a new game.

Gameplay is divided up into several rounds. Each round consists of two parts: the Inventory phase and the Battle phase. In the Inventory phase, you can buy weapons to shoot at your opponents, and accessories to help defend your tank. See the Inventory section below for information on the weapons and accessories you may buy. In the Battle phase, you setup defenses, choose a weapon, aim and fire at your opponents. See the section on Battle below, for more information.

Inventory

The player has the option to buy weapons and accessories to make the game more interesting. Weapons are just that: an assortment of missiles, including ICBM-like warheads, napalm, lasers, and a number of custom weapons to bring down specific defenses. Accessories are methods to make gameplay easier for the player and increase their chance of survival, with guidance systems, shields, fuel, batteries, and other odds-and-ends.

At the beginning of a round, each player is given an opportunity to buy or sell weapons and accessories. Each player may have up to 99 of any item in their inventory. A few weapons have an infinite supply (for example, Baby Missiles) - these weapons cannot be purchased.

Weapons and accessories are sold in bundles; the price for the bundle is displayed in the inventory, and you must buy items as a complete bundle. The exception to this is when a player attempts to buy more of an item than their inventory can hold; in this case, the bundle will be broken and the weapons are sold on an individual basis, with a small markup applied.

Weapons and accessories may also be sold from a player's inventory. Again, items are generally sold as a bundle. The player will receive a reduced amount of money for the sale - hey, the middleman has to make money somewhere :)

In the Inventory screen, two panels are displayed, listing the weapons and accessories that are available. The Tab key will switch between the various panes. Up Arrow and Down Arrow will allow the player to scroll through the list of items, Right Arrow will buy a bundle, and Left Arrow will sell a bundle of the currently highlighted item.

For each item, the name, bundle size/total price, and current inventory are displayed.

Items which can neither be bought or sold will appear darkened. If the player has maxed their inventory for that item, or they cannot afford to purchase the item, or the item has a higher arms level than the player is allowed, then the item cannot be purchased. Items which can be bought will appear with an arrow pointing to the right, and items which can be sold will appear with an arrow pointing to the left.

The items that are available are listed in the next two sections.

Weapons list

This list will be added once the weapons list is reasonably stable.

Accessories list

This list will be added once the accessories list is reasonably stable.

Battle

This overview is sadly, incomplete.

Tank controls

Left, Right
Change the turret angle. This will adjust the turret angle in increments of 5 degrees. For finer control, hold Shift to adjust the angle in increments of 1 degree.
Up, Down
Change the firing power, in the range of 0 to 1000. This will adjust the firing power in increments of 20. For finer control, hold Shift to adjust the firing power in increments of 1.
Tab
Select the next weapon available in your inventory.
Shift+Tab
Select the previous weapon available in your inventory.
B, b
Activate a battery. A single battery can restore 5% of damage done to your tank, and therefore restore the maximum firing power by 5% when you are damaged. You must have a battery to discharge in your inventory to excercise this option.
E, e
Activate or energize the currently selected shields.
F, f
Activate your fuel tanks. A window will be displayed, indicating the amount of fuel you have available. As long as you have fuel, you may use the Left and Right arrows to move one unit to the left or right, respectively. In general, you cannot move your tank up a steep hill. Immobile tanks will not be able to excercise this option.
R, r
Force a redraw of the screen.
S, s
Toggle the currently selected shields. The currently selected shields are the shields which will be used when you Energize. Shields are classified by a power number with a type suffix: M for magnetic shielding, F for force shielding, and S for your standard, run-of-the-mill shields. If no shields are available, 0S is displayed.
T, t
Toggle contact triggers on/off. This is only meaningful if you actually have some contact triggers of course, and when tunneling is enabled. Weapons that are fired after this point will have contact triggers equipped (until you run out).
0 - 9
Display information about a particular player. 1 gives information about Player 1, and 0 gives information about Player 10.
Enter
Accept your orders.
Ctrl+Y
Bring up the System Menu (this can also be accessed from the menus). You can control certain graphics options from the system menu, clear the screen of smoke trails, and end a round prematurely.
Ctrl+Z
Pauses the game.
Ctrl+R
Resign from the game. This will end the game for everyone. You will be asked to confirm the resignation.

System menu

The system menu gives you some control over the game while it is in progress. In this menu, you will have options to change how the game is displayed (e.g. the Graphics Fast option described below). You also have access to a few useful commands, described below.

Mass Kill
Kills everyone still alive in the round. No player gets credit for the kills, and none are considered a suicide. This option is useful if all human players have already been eliminated from the game, but the AI players are making no progress whatsoever in annihilating each other. This option ends the current round only.
Erase Smoke
If you have used smoke tracers or have Trace Paths enabled, then this option will clear all smoke trails from the sky.
Retreat
N/A
Resign Game
Resigns from the current round and all remaining rounds. This option ends the entire game, and will take you back to the intro screen.
Sound Setup
Takes you to the Sound Options window.

Ai players

Human
The humans believe they are the superior mind. The AI's rather disagree with that sentiment. Keep this in mind when you are wondering why 9 AI's would want to simultaneously target your tank...
Moron
This AI fires at random. Of all the AI's, this one has by far the highest suicide rate. An alternate name is ``Cannon Fodder''.
Shooter
This AI goes for targets it has a line-of-sight to. It's not a great player otherwise. This AI buys weapons that have the best economical yield, but during the game it will select weapons which have the highest yield.
Spreader
This AI is similar to the Shooter, except a Spreader buys weapons with the highest yield, without regard for the price.
Chooser
This AI chooses a victim. Once chosen, the victim is attacked until they are dead, or the Chooser loses the ability to reach the victim. This AI does not need line-of-sight, but fortunately it cannot compensate for wind.
Calculater
This AI is like Chooser, except a Calculater can compensate for the wind. These guys are fairly deadly in a fight; they also tend to allocate large budgets to defense and offense.
Annihilater
This AI goes for weapons that will cause as much damage as possible, without much regard for individual victims. This AI prefers spread weapons to the more focused, precision weapons. A few Annihilaters can clear the terrain easily. These AI's don't worry about defenses too much. With their destructive tendency, they won't survive long anyway - but neither will anyone else.
Insanity
No one knows what this AI thinks...
Unknown
This selects one of the above AI's at random, but you will not be informed which AI was selected.

Configuration options

Players/Rounds:
Number of Players (integer, 2-10)
Set the number of players participating in the game.
Number of Rounds (integer, >= 1)
Set the number of rounds to play for this game.
AI Type (list)
Select the AI type. Human players are ``Human''; the remaining AI's are documented above.
Player Name (string)
Give a unique name for each player.
Tank Style (list)
Select the type/shape of the tank, for each player.

Economics:

Interest Rate (float, 0-0.30)
Interest rate for savings, compounded once per round.
Dynamic Interest (toggle)
If enabled, interest rates will change during the game.
Initial Cash (integer, 0-1000000)
Amount of money each player should start with.
AIs Can Buy (toggle)
If enabled, computers are permitted to buy items. The AI's are very uninteresting if this option is turned off.
AIs Buy Aggressively (toggle)
If the previous option is enabled, the AI's will buy items conservatively. With this option, the AI's will allocate larger budgets and buy bigger items early in the game.
Free Market (toggle)
N/A
Scoring (list)
Specify how scoring works, selecting from Basic, Standard, Greedy, or possibly other methods defined in the configuration file:
Basic
Players only receive money for kills and survival.
Standard
Players receive less money for kills and survival, but they will also receive money for damaging an opponent.
Greedy
Players are paid as in Standard scoring, but with bonuses for unused inventory at the end of the round.
The Lottery (toggle)
If the lottery is enabled, there will be a random drawing at the start of each round. A random player will receive a bundle of a random weapon for free as the lottery award. This is a great way to inject a little extra life into AIs who are usually conservative buyers. Plus it's always great fun when you get a free Annihilator...

Physics:

Air Viscosity (float)
N/A
Gravity (float, 0-10)
Specify the gravity, in pixels per cycle squared (one cycle is roughly 50 milliseconds).
Ground Damping (float, 0-10)
Specify the ground damping, used in tunnelling calculations.
Maximum Wind Speed (float, 0-10)
Specify the maximum wind speed, in pixels per cycle squared. The actual wind velocity is initialised once per round, to some value in (-max, max).
Wind is Dynamic (toggle)
Normally the wind remains constant through a round. If this is enabled, the wind will change once per turn.
Suspend Dirt (percentage)
N/A
Tanks Fall (percentage)
N/A
Borders Extend (integer, >= 0)
This specifies how far off-screen weapons should be tracked, when you are playing with no walls. When this value is zero, weapons will disappear as soon as they leave the screen in the horizontal direction, even if wind would have brought them back on-screen.
Walls Are (list)
Specify how weapons behave when they hit a boundary. Note, the ground is always ``concrete'' -- this specifies how the sides and ceiling behave:
None
The sides and ceiling are open.
Concrete
All sides are solid. Weapons hitting any boundary will explode.
Padded
Weapons hitting the sides and ceiling will bounce off, although at a reduced velocity.
Rubber
Weapons hitting the boundary will bounce off at exactly the same velocity.
Springy
Weapons hitting the boundary will bounce off with an additional ``kick'' to the velocity.
Wraparound
The ceiling is open. Weapons going off one side will reappear on the opposite side. Explosions will also wrap around the screen if they detonate near an edge.
Random
One of the above types of walls are selected at random.

Landscape:

Sky (list)
Specify the background sky.
Hostile Environment (toggle)
N/A
Land Generator (list)
Specify the generator to use to create the land.
Bumpiness (percentage)
Specify the noise on the generated landscape.

Weapons:

Arms Level (integer, 0-4)
Specify the maximum arms level for the game. Only weapons with this arms level or lower may be purchased by any player, under normal circumstances.
Bomb Icon Size (integer, 0-4)
Specify the size of the bomb icons, while they are traversing their path in the sky. This does not affect the size of explosions, or the size of the smoke paths (if trace paths is on).
Tunneling (toggle)
If set, weapons are allowed to tunnel through land. If you enable this, you will want to buy contact triggers if you want a particular weapon to always detonate on impact (instead of tunneling through land).
Scaling (float)
Scale the size of explosions by this value. If playing on a very large or very small playing field, you might want to adjust this value.
Trace Paths (toggle)
If enabled, all weapons leave a smoke trail to reveal their trajectory. If this option is off, you can still use Smoke Tracers to determine the path a weapon will take.
Useless Items (toggle)
Some weapons are not useful given the current configuration (e.g. contact triggers are irrelevant if tunneling is disabled). If this option is enabled, then weapons which will have no effect are not listed in the inventory screens.

Graphics:

Screen Width (integer)
Set the width of the playing field, in pixels.
Screen Height (integer)
Set the height of the playing field, in pixels.
Dithering (toggle)
If enabled, the land and sky gradients will be dithered. This option is particularly useful on 16-bit displays, where the gradient is very noticeable otherwise. This does slow down land generation somewhat.
Animation (toggle)
If enabled, explosions and other effects will be animated. This option can also be controlled from the System Menu.
Graphics Are Fast (toggle)
If enabled, all graphics are always as fast as possible. This option can also be controlled from the System Menu.
Computers Are Fast (toggle)
If enabled, graphics are fast when there only computer players are alive. This option can also be controlled from the System Menu.

Gameplay Options:

Mode (list)
Determines if all players will fire at once (Synchronous), or whether each player will fire independently (Sequential).
Teams (list)
N/A
Order (list)
Determines the player order.
Talk Mode (list)
Determines who is allowed to talk.
Talk Probability (percentage)
Determines the likelihood that a player will speak at the end of a turn.
Extended Status (toggle)
If set, the status bar will contain an additional row of extended information during the game (things such as trigger and battery inventories, life, wind).
Tooltips (toggle)
If set, tooltips will be displayed where available. A restart is required to change the value of this option.

AI Controller:

Human Target Practice (toggle)
AI's will always prefer human targets to AI targets (except for AI's that fire at random). When playing against 9 Calculators, this can make your day pretty lousy.
Allow Offset Targetting (toggle)
Generally, when a weapon hits a shield it does less damage than an explosion detonating right outside the shield (weapons hitting the shield do not have a chance to detonate). This changes the AI targetting behaviour so they will deliberately aim outside the shield, if their intended victim has raised shields.
Always Offset (toggle)
If the above option is set, this option will force the AI to always offset its targetting as if the player had raised shields. This allows the AI to compensate for cases where the player may simply not have had their turn yet to raise shields. The downside is the AI will never attempt to score a direct hit with this option enabled.
Enable Scan Refinement (toggle)
If set, harder AIs are allowed to refine their trajectories by computing trajectories that take into account player shielding effect and various other factors they do not normally consider. This option could slow down gameplay a bit but makes the AIs much more difficult.
No Budget Constraints (toggle)
AI's will spend as much money as they can, disregarding their budget preferences.

Sound Setup:

Enable Sound (toggle)
When set, music and sound effects will be played.
Use HQ Mixer (toggle)
When set, mikmod's high-quality mixer will be used.

Command-line options

--help
Display a brief synopsis of the command-line options available.
--insanity
This is insanity, Max! Or what if it's genius?
--yields
Display weapon yields, and economical yields.
--geometry=wxh
Specify an initial window geometry for xscorch, where w is the width and h is the height of the playing field. Useful for displays less than around 800x600 resolution. Note this option overrides the settings in the config file, but you can save the new options to your config file so you don't have to specify this every time. You may also use -g.
--config=file
Load an alternate user config file, in file.
--sound
Enable music and sound effects. You may also use -S.
--nosound
Disable music and sound effects. You may also use -s.
--hqmixer
Enable use of the high-quality mixer, if sound is enabled. This may use a lot of CPU power on older machines.
--nohqmixer
Disable use of the high-quality mixer, if sound is enabled.
--name
Set the name of your player, if you are initiating a network game. By default, your user name is used.
--port
Set the port number to use in a network game. This option is only relevant if you also specify --client or --server. The default is dependent on the protocol number, but is some large port number.
--client=server
Start xscorch in client mode, and connect to server (which should already be running). If --name and --port are not specified, reasonable defaults are used.
--server
Start xscorch in server mode, and wait for connections from the clients. --name may be used in conjunction to specify the name of this player.

Network mode

This is very unstable right now, and therefore is not documented.

Files

~/.xscorch/config
User's default configuration for xscorch.
tankprofiles
Profile bitmaps for the tanks, usually stored in the local share directory.

Authors

xscorch was written by Justin David Smith <justins(at)chaos2.org> and Jacob Luna Lundberg <jacob(at)gnifty.net>. (Please do not list these e-mail addresses on webpages, or list them in other packages, without contacting us first.)

This manual page written by Justin David Smith <justins(at)chaos2.org>. Copyright(c) 2001,2000 Justin David Smith.