xscorch — Annihilate enemy tanks using overpowered guns.
Synopsis
xscorchxscorch [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.
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.