Worms Armageddon ReadMe (English)

From Worms Knowledge Base

Jump to: navigation, search
In other languages: English (en) • français (fr) • español (es) • русский (ru) • português (pt) • +/-

This is a web version of the Worms Armageddon Update Documentation. The original RTF is included with the updates, and can be found in your W:A folder.



Since its initial release in 1999, Worms Armageddon has undergone continual evolution, with two programmers, Deadcode and CyberShadow, continuing to add new features and implement community-requested improvements to the game. This document lists the changes which have been introduced in each version and provides a list of known issues and bugs in the current software.

Supplementary Documentation

Version History

v3.5 Beta 1 Update (2002-08-09)

v3.5 Beta 2 Update (2002-08-15)

v3.6.19.7 Beta Update (2004-02-09)

v3.6.19.11 Beta Update (2004-02-10)

v3.6.19.12 Beta Update (2004-02-11)

v3.6.19.14 Beta Update (2004-02-12)

v3.6.19.15 Beta Update (2004-02-20)

v3.6.19.17 Beta Update (2004-03-11)

v3.6.19.17a Beta Update (2004-03-12)

v3.6.19.18 Beta Update (2004-03-19)

v3.6.19.19 Beta Update (2004-03-21)

v3.6.20.1 Beta Update (2004-07-13)

v3.6.20.2 Beta Update (2004-08-03)

v3.6.20.3 Beta Update (2004-08-06)

v3.6.21.1 Beta Update (2004-09-23)

v3.6.21.2 Beta Update (2004-09-27)

v3.6.21.3 Beta Update (2004-09-28)

v3.6.22.1 Beta Update (2004-10-06)

v3.6.23.0 Beta Update (2005-03-23)

v3.6.23.1 Beta Update (2005-03-23)

v3.6.23.2 Beta Update (2005-03-24)

v3.6.24.1 Beta Update (2005-03-29)

v3.6.24.2 Beta Update (2005-03-31)

v3.6.25.1a Beta Update (2005-04-26)

v3.6.26.4 Beta Update (2005-11-22)

v3.6.26.5 Beta Update (2006-01-05)

v3.6.28.0 Beta Update (2007-06-29)

v3.6.29.0 Beta Update (2008-07-28)

v3.6.30.0 Beta Update (2010-10-26)

v3.6.31.0 Beta Update (2010-11-16)

v3.6.31.2b Alpha Update (2012-09-12) - first Steam release

v3.7.0.0 Update (2012-12-20)

v3.7.2.1 Update (2013-03-15)

v3.8 Update (2020-07-13)

Known Issues/Bugs

Crashes / Fatal errors

  • One possible cause of crashes, sometimes before W:A even has a chance to start up, can be nonstandard, erroneous, or missing files in the directory structure of the W:A CD-ROM or installed "Worms Armageddon" folder, often due to a pirated copy of W:A.


  • Whispers are not sent securely, and can be spied upon using a network packet logger. This applies both to the host/join screen and the in-game chat.

Network Connectivity

  • In an online game, the delay between turns (a minimum of 2 seconds) is perhaps sometimes longer than necessary.
  • When a v3.6.24.1 user is present in an online game along with v3.6.23 or v3.6.24.2+ users, a desync may happen during long turns of the v3.6.23 / users.
  • In v3.6.30.0 and later, if a client is in an online game with at least one other connected client, and the host stops responding (without detectably dropping the connection) during a remote client's turn, then the game will not automatically time out the connection.
  • A temporary network problem (manifesting as a TCP disconnect or timeout) causes the affected player to irreversibly drop out of the current game (and cause a two-player match to end). There is currently no way to continue an interrupted match.
  • The user's external IP address will not be autodetected until they connect to a WormNET server.
  • WormNET / Direct IP games hosted from systems lacking a network interface with a global IPv4 address (or behind a network firewall) may not be joinable by other players.
  • Network configurations with broken path MTU discovery or Deep Packet Inspection (e.g. due to an overly-aggressive firewall) may cause network packets of a certain size to be lost. As a result, attempting to add a team after joining a game can lock up the connection.

Usability issues

  • In the end-of-round screen of an online game, the "Exit" button sometimes stays greyed out for an unreasonable or indefinite amount of time.
  • A game hosted on WormNET will disappear from the list after a timeout, even if the game is still open for joining. A workaround for this is for the host to use the /open command (introduced in v3.7.2.1).
  • There are some text strings (mainly those added since v3.0) that have not been translated and are shown only in English. Since v3.7.0.0, most of these have been translated; the ones that remain untranslated are mostly strings that are printed in the chat in an online game (and thus may have to be printed in multiple different languages simultaneously depending on the configured Language of each connected player).
  • Certain Cyrillic characters are internally represented as their look-alike Latin characters. As a result, Cyrillic strings emitted in log files or copied into the clipboard may not coincide with the original strings. One effect of this is that it may not be possible to search generated log files using a Cyrillic search pattern; another is that online translation engines and other translation software may not work.
  • It is too easy to accidentally kick another player in the host lobby.

Playability issues

  • Weapons dropped by a roping worm will sometimes immediately hit or bounce against the roping worm. Examples:
    • The Bazooka may hit the roping worm before it has any chance to retreat, instantly detonating even if there are no obstacles in the immediate vicinity.
    • The Holy Hand Grenade may bounce against the roping worm and fall the wrong way.
    • The Sheep Launcher may brush against the roping worm and drop straight down.
  • It is too easy to accidentally Surrender.
  • It is possible to fall onto a Crate in the middle of Rope Roll without collecting the crate. This is very rare. (This can also happen in a Mission/Training round, if a worm continues roping after losing enough health to die; that is a separate issue, and if anything needs to be fixed in that case it is the fact that a zombie worm can keep moving.)
  • When computing the possibilities for firing a projectile, a CPU worm follows the paths with staggered pixels. However, a projectile's actual collision path sweeps a 7x5 rectangle, which may collide in a place the CPU worm didn't check. This can result in the CPU worm accidentally throwing a Grenade which bounces back onto itself, regardless of its CPU skill level.
  • When the Pneumatic Drill is used on top of an Oil Drum, it does not cause an explosion. (It does, however, if a corner or side of the Oil Drum is hit.)
  • The camera follows an opponent's active worm and cursor even if they are Invisible. This gives an advantage to players who are running W:A at a low resolution, since this narrows down the opponent's location.
  • There are several performance issues with large maps, particularly during the spawning of randomly placed crates.
    • In particular, with a large map, and both "Maximum crate count on map at once" and "RubberWorm crate rate" set to high values, there can be a long pause at the beginning of each turn while new crates are spawned, during which the viewport is not updated and the game does not respond to input.
      • A fix is planned which will result in an enormous speed-up for the calculations of spawning multiple crates in a single frame.
    • A fix is eventually planned which will allow the game to redraw itself and respond to input during crate spawning calculations.
  • In certain situations, it may be possible to have Double Time and Crate Shower crates in the weapon inventory, however these utilities will appear invisible due to not having weapon inventory icons.
  • The weapon tips in the sprites of worms holding the Uzi, Handgun and Minigun weapons do not correspond with the actual coordinates from where the bullets emerge.
  • In some cases, fall damage is incorrectly not being applied to falling worms.
  • Impractically high values for Extended Game Options
    • With Gravity set to a very low value or Wind set to a very high value, the persistent flamelets from a Petrol Bomb may stick to a wall without falling, causing a softlock (unending turn) while the game waits for the flamelets to fall.
    • The largest allowed value for "Maximum crate count on map at once" is higher than what could be practically achieved, and exceeds the maximum number of sprites than can be rendered at once. With about 1000 or more crates on the map at once, some sprites may become temporarily invisible.
    • A "RubberWorm bounciness" value of 1.00000 is allowed because RubberWorm supported it (achievable by directly editing a scheme file), but can easily result in a softlock due to a worm bouncing forever without the height/power of their bounce decaying. Values such as 0.99998 can result in bounces taking an impractically long time to decay.

Cosmetic issues

  • PNG maps with more than 64 non-black colours create glitches in the soil texture when land is destroyed. (Note that the glitches can be avoided in by disabling Placement Holes, at the cost of losing soil textures and some or all background graphics.)
  • Several sprites for in-game graphics contain various errors:
    • In the sprite of a Worm holding a Freeze, the worm is incorrectly shown as standing on a downward slope if it is standing on an upward slope. A fix for this will be bundled with the next update of Gfx0.dir and Gfx1.dir (delayed because it is hard to get the palette just right).
    • In the sprite of a Worm firing a Minigun at certain angles, some stray pixels are visible at a 90 degree angle from the direction of the aiming angle.
    • In the sprite of a Worm aiming or swinging a Baseball Bat, the bat's tip appears cut off at certain angles.
    • In the sprite of a Worm activating a Suicide Bomber, the worm is incorrectly shown as standing on flat terrain if it is standing on a slope.
  • With ambient music enabled, sudden switches in the music track (for example, when Sudden Death initiates) can cause an ugly audio pop. It is unknown whether this happens on all systems.
  • When viewing a map of nonstandard size (something other than 1920×696) in the Map Editor, the cavern borders are not rescaled or moved; they are shown as if the map is still 1920×696. Also, the water level will not be proportionally correct.
  • The background debris in the front end moves at a speed dependent on your video refresh rate.
  • The description for the eighth mission, "Big Shot", is wrong. The error is present in all translations.
  • Long weapon names may not fit in the bottom text bar of the weapon selection panel (especially when the weapon has a delay and limited ammunition).
  • Various kinds of dynamic in-game objects have fixed count limits. Reaching limits may cause e.g. multiple explosions to cause older flamelets to disappear, or dud mines to not emit visible smoke.
  • Tweening inaccuracies
    • Collisions/bounces of non-roping objects are not yet tweened. Any such object that experiences a collision/bounce will stop being tweened (i.e. appear to stop moving) until the next 1/50 second frame is reached.
    • With Wind set to a very high value, flamelets may be visually shown to pass through thin walls, and suddenly backtrack to the original side of the wall when the next 1/50 second frame is reached.

Interoperability issues

  • Windows versions starting with Windows XP disable certain keyboard shortcuts, such as Alt+Tab, the Windows logo key, and Menu key, when they detect that W:A is running (even when it is minimised). This was presumably done as a compatibility measure for early W:A versions, which did not support minimisation — pressing such keys would cause W:A to crash. Even though those problems were fixed in W:A updates, the compatibility entry remains in Windows' compatibility database. One way to work around the problem is to delete Landgen.exe, or rename WA.exe to something else, which avoids Windows' detection of W:A.
  • Certain versions of Media Player Classic and VMware may crash when W:A is started, due to the switch to 640×480 resolution.
  • In the Steam edition of the game, it may not be possible to open a replay if its filename contains international characters. To work around this problem, rename the file and remove international characters from its filename.
  • Temporary files use fixed locations, which may cause conflicts for multiple instances of the game. For example, opening two replay files, then rewinding the first one would cause the second one's map to be used, which will result in playback desynchronisation.
  • When certain compatibility flags are enabled in the WA.exe file's properties, it may not be possible to select high resolutions on the options screen. Clear any unnecessary compatibility options to resolve this problem.
  • Norton Personal Firewall, and possibly other personal firewalls, do not gracefully detect the replacement of "WA.exe" with a new version.
    • Symptom: You can no longer connect to WormNET.
    • Workaround: Each time after you install a new W:A update you need to delete the entry for "WA.exe" from your firewall so it can create a new, working entry.
    • Plan: In a future version this will be addressed by "faking" accesses to the needed ports before going full-screen, so that the user has a chance to respond to firewall windows that may pop up.
  • PeerGuardian may prevent W:A from successfully connecting to a WormNET server.
  • On systems which use the Mesa 3D OpenGL renderer, Worms Armageddon will crash on start-up if the OpenGL renderer is selected. The root cause seems to be a bug in Mesa or a dependency. The problem can be worked around by selecting a different renderer, building Wine with the commit 0cb79db12ac7c48477518dcff269ccc5d6b745e0 reverted, or using a Wine version which does not include that commit (4.5 or older).

Replay/logging issues

  • In recorded replay files of online games, only the passage of game time separates lines of chat. Chat that took place during network lag or game loading will be displayed all at once during playback.

Further Troubleshooting

Additional troubleshooting resources can be found at https://worms2d.info/Troubleshooting.


1. If a Worm dismounts a horizontally-stationary Ninja Rope in direct contact with the ground, it will land instantly, thus ready to do other things without delay. It is not always possible to extend a rope to the length necessary for this to happen — since it extends and retracts 4 pixels at a time, it may stop with 1-3 pixels of room remaining between Worm and ground. Also, even if a rope appears to be horizontally stationary, it may have a microscopic amount of momentum. Following are ways to recreate the circumstances required for an instant rope dismount:
  • (All versions of W:A) Worm is standing in a confined space (e.g. at the bottom of a tunnel 9 pixels wide and at least 8 pixels high), and shoots the Ninja Rope straight upward. It may then retract and extend the rope and/or fire a weapon, as long as it does not nudge the rope left or right. Then, when that rope is extended to maximum length (either by not moving at all, or by re-extending the rope as far as it will go) the Worm is in direct contact with the ground.
  • (v3.6.23.0 and later) Same as above, but Worm is not required to fire the rope from a confined space. It may do so from any standing position.
  • (v3.6.23.0 and later) Worm is in mid-air, with no horizontal velocity, and shoots the Ninja Rope straight upward. There is a 25% chance that the rope's length modulo 4 will match what its length modulo 4 would be if the Worm were in direct contact with the ground, and when this is the case, the rope can be extended to put the Worm in direct contact with the ground.
  • (All versions of W:A) Same as above, but Worm must be in a 9-pixel-wide tunnel at the time the rope connects.
2. This bug is emulated for compatibility with older versions of W:A. An emulated crash ends the game in a draw for those using a newer version. The older versions will still crash.
3. The wa:// protocol can be used to join or host games with advanced parameters. The format is wa://address?param1=value1&...&paramN=valueN. Specifying a blank address will cause the game to host a game with the specified parameters. The following parameters are supported:
  • pass or password – specifies the game's password.
  • id or gameid – specifies the game's ID, as used on WormNET.
  • scheme – specifies the channel scheme to be used. This setting should be identical on all ends. Since this information isn't transmitted via the game peer-to-peer connection, non-matching values can cause a desynchronisation. For more information on the channel scheme format, see https://worms2d.info/WormNET_(Worms_Armageddon)#Channels
    Using the scheme parameter, it's possible to create direct IP games with rope knocking enabled. To do this, the host must run WA.exe wa://?scheme=Pf , and other players must run WA.exe wa://address?scheme=Pf .
    If the game is hosted on a TCP port other than the default one (17011), the port can be specified with the syntax: wa://address:port?parameters...
4. The following registry tweaks allow setting certain game options, most of which can also be set using the Advanced Options screen. These files are located in the Tweaks folder, and are activated by double-clicking them (the game should not be running).
  • BackgroundGradientParallax_Disable.reg, BackgroundGradientParallax_Enable.reg - enable or disable the dithered gradient parallax effect introduced in the same version. (introduced in v3.6.30.0)
  • FrontendUseDesktopWindow_Enable.reg, FrontendUseDesktopWindow_Disable.reg - Enables a workaround to allow the front end to render correctly under Wine. (introduced in v3.6.30.0)
  • ForceWineVirtualDesktop_On.reg, ForceWineVirtualDesktop_Off.reg - Causes W:A to automatically restart itself under a Wine virtual desktop. (introduced in v3.6.30.0)
  • HardwareRendering_Disable.reg, HardwareRendering_Enable.reg - Disables or enables hardware rendering. Used when a supported rendering API is selected. (introduced in v3.8)
  • LargerFonts_On.reg, LargerFonts_Off.reg - Use a larger font in some places in-game and in the front end. (introduced in v3.6.28.0)
  • LegacyUtilityKey_On.reg, LegacyUtilityKey_Off.reg - Use the key used for typing the ` character for the current input language to select utilities, instead of using the key under Escape (for non-US keyboard layouts). (introduced in v3.6.28.0)
  • LoadWormKitModules_Enabled.reg, LoadWormKitModules_Disabled.reg - Load WormKit modules (DLL files starting with "wk") on start-up. (introduced in v3.7.0.0)
  • MapAreaWarnLimit_Always.reg, MapAreaWarnLimit_Default.reg, MapAreaWarnLimit_Unlimited.reg - Sets the threshold for which to display the map loading prompt, to prevent a Denial of Service attack by loading a very large map. (introduced in v3.6.28.0)
  • SkipIntro_On.reg, SkipIntro_Off.reg - Skips the intro and logos shown upon W:A start-up; identical to the /nointro command line option. (introduced in v3.6.30.0)
  • OfflineRopeKnocking_On.reg, OfflineRopeKnocking_Off.reg - Enables "rope knocking" in Offline Multi-Player and Quick CPU games. (introduced in v3.6.24.2)
  • Phone_Disable.reg, Phone_Enable.reg - Disables or enables the in-game telephone icon (used for notification of new chat messages). (introduced in v3.6.26.4)
  • RegisterAssociations_Automatically.reg, RegisterAssociations_Manually.reg - Enables associating W:A with replays and wa:// on W:A start-up. (introduced in v3.6.30.0)
  • SlowFrontendWorkaround_Alternative.reg, SlowFrontendWorkaround_Off.reg - Enables a compatibility tweak for certain new video cards, which may resolve low responsiveness and refresh rates in the front end. Even if there is no frame rate problem, it can reduce the black-out period when switching between front end screens. (introduced in v3.6.26.5, v3.6.28.0)
  • SmoothBackgroundGradient_Disable.reg, SmoothBackgroundGradient_Enable.reg - Disables or re-enables the dithered background gradient in all in-game detail levels. (introduced in v3.6.30.0)
  • StereoEffects_Disabled.reg, StereoEffects_Normal.reg, StereoEffects_Reversed.reg - Disable, enable (default) and reverse the stereo sound effects. (introduced in v3.6.29.0)
  • TimerWorkaround_On.reg, TimerWorkaround_Off.reg - Prevents W:A from using the system's high-resolution timer. (introduced in v3.6.20.1)
  • UseCommunityServerList_Enabled.reg, UseCommunityServerList_Disabled.reg - Load CommunityServerList.htm (instead of ServerList.htm), which redirects to a third-party server list linking to community WormNET servers. (introduced in v3.7.0.0)
  • UseVRAM_Disable.reg, UseVRAM_Enable.reg - Disables or enables usage of hardware graphics memory. Used when hardware rendering is active. (introduced in v3.8)
5. WA.exe exports a function SetHostingProxyAddressAndPort, which can be used by a DLL that hooks into W:A to tell it the current hosting proxy address and external port, allowing the /url command to work properly. This is currently used by the WormKit module wkWormNAT2.

Function prototype:

void __stdcall SetHostingProxyAddressAndPort(const char *hostingProxyAddressAndPort);

Example calls:

  • SetHostingProxyAddressAndPort("proxy.worms2d.info:54321"); // proxy address is "proxy.worms2d.info" and external port is 54321
  • SetHostingProxyAddressAndPort(NULL); // reset back to "no hosting proxy", the default state
  • SetHostingProxyAddressAndPort(""); // reset back to "no hosting proxy", the default state (alternative method)
6. When the Phased Allies and/or Phased Enemies setting is set to Worms+Weapons+Damage (or the BoomRacing test version is used), this creates a condition in which worms do not influence friendly and/or enemy worms at all, respectively, with the following exceptions:
  • The landscape is shared, so terrain creation (girders, arrows) and destruction (explosions, Fire Punch, Kamikaze, Blow Torch, Pneumatic Drill, Mole Bomb, Mole Squadron, Napalm Strike, Flame Thrower) influence all worms. Worms standing on terrain may fall if that terrain is destroyed or pierced by an arrow; the creation of terrain puts an obstacle in the path of all worms, and its destruction removes an obstacle.
  • Rising water drowns all worms, regardless of who or what caused it to rise.
  • Destroying an Oil Drum will remove it as an obstacle, meaning worms that were standing on it will fall.
  • An Earthquake triggered by any team will move all Oil Drums, thus influencing shared objects that can affect any team.
  • Collecting or destroying a Crate will prevent any other team from collecting it.
  • If a Mine placed on start-up is triggered by proximity, the influence of its damage will be restricted by the Phased Allies/Enemies setting. However, its disappearance will mean that it can no longer serve as an obstacle for any worms.
  • A Mine placed on start-up can be pushed by explosions, gun fire, Earthquakes, and other means without triggering it by proximity, thus influencing a shared object that can affect any team.
  • Anything that creates flames (Napalm Strike, Petrol Bomb, Oil Drum explosion) may erase pre-existing flames if the maximum number of flamelets is reached, regardless of which team created the flames.
  • Worms will visually hide the terrain covered by their sprites.
  • These shortcomings may be addressed in a future update.
7. When describing game engine fixes and changes which apply to occurrences that were previously only possible by enabling options in RubberWorm, the new v3.8 extended scheme option names are used. Here they are alongside their RubberWorm names:
  • "Weapon use doesn't end turn" was called "Shot Doesn't End Turn" (SDET) in RubberWorm.
  • "Loss of control doesn't end turn" was called LDET in RubberWorm.
  • "Worm Selection is never cancelled" was called "Select Worm Any Time" (SWAT) in RubberWorm.


Lead Code Karl Morton

Lead Art Dan Cartwright

Original Concept Andy Davidson

Lead Support Code Colin Surridge

Support Code Rob Hill, Martin Randall

Network Code Phil Carlisle

Producer Martyn Brown

Scenario Art Tony Senghore, Rico Holmes, “Jan The Man”

Sound and Music Bjørn Lynne

Additional Audio Matinee Studios, Martyn Brown, Richie Palmer,
Cris Blyth (inc vocals on WormSong98),
Rico Holmes, Fraser Stewart, Mike Green

Additional Art Paul Robinson, Cris Blyth, Rory McLeish

Assistant Producer Craig Jones

Mission Design Porl Dunstan, John Eggett, Martyn Brown

Lead QA Kelvin Aston, Mark Baldwin

QA John Eggett, Grant Towell, Andy Aveyard,
Kevin Carthew, Paul Webb, Brian Fitzpatrick

QA Manager Paul Field

Localisation Paul Sharp
Update Coding/Design:
Versions 3.5 to 3.8 and later David Ellsworth — “Deadcode”
Versions to 3.8 and later Vladimir Panteleev — “CyberShadow”
Version Charles Blessing (Team17 Senior Programmer)

Update Localisation:
French “Jabba”, “LTK”
German “bonz”, “schaf”
Dutch “Koen”
Spanish “OutofOrder”
Russian “Mr.X”, “CyberShadow”, “Shtirlitz”, “StepS”
Swedish Olle Settergren
Finnish Juho Toivanen
Portuguese Wallison “Kaleu” Camargo

Update Testing and Research: Adame “LTK” BF,
Alborz “MonkeyIsland” Shams,
Alex “Lex” Folland,
Balázs “Balee” Laky,
Ben Paddon,
Chris “Plutonic” Wallace,
Cody “Mablak” Myers,
Edward “Maz” Webb,
Esme Povirk,
Gregor “KRD” Koželj,
John “Cueshark” Evans,
Juho Toivanen,
Kaddour “bonz” Bounab,
Kevin “goom” Yaccino,
Kieran “Melon” Millar,
Liam Dobson,
Marc “DarkOne” Vrooland,
Mark “GreeN” Dawson,
Martin “Wyv” Denk,
Murray “Muzer” Colpman,
Nick “NickyNick” Tymchenko,
Paul “Bloopy” Harvey,
Paulo “Twyrfher” Miranda,
Simon Arlott,
Stepan “StepS” Obraztsov,
Stéphan Kochen,
Trey Brisbane,
Veronika Ajtai,
and others

Licence for "Flexible and Economical UTF-8 Decoder":

Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.


Bug Reporting

Feedback for future Worms Armageddon updates may be provided via the channels listed on:


Personal tools