The Helicopter Bug

The “Great Helicopter Bug” is one of the most common UA problems on modern computers and one of the most common topics on the forum. Luckily it's also pretty easy to fix.

Signs and symptoms

Helicopters don't obey orders, have problems to turn and don't follow enemies properly. They are often unable to move to directions other than up, and when ordered to move they will quickly get into great heights.

The most commonly affected helicopters are:

  • Ghargoil 1 and 2 (very common)
  • Dragonfly (very common)
  • Firefly (sometimes)
  • Others rarely


The problem is caused by a threshold check in the code that processes helicopter rotation as was found out by user Zidane in this forum thread. When an update time period gets short enough, which happens on new, powerful computers, the threshold condition is never fulfilled and the helicopter rotation is not processed correctly.

Factors that are known or believed to affect the occurrence of the problem include:

  • High frame rate
  • Fast and powerful CPU
  • Using software rendering
  • Slow turning rate (maxrot) of the helicopters as it determines (together with the update period) whether the threshold value can be exceeded or not


Various workarounds exist to mitigate the problem.

A patched game executable was created by user Zidane, see this thread. It should provide a complete solution to the problem.

The thread also contains instructions on how to patch the game manually using a hex editor.

Use hardware rendering

Software rendering seems to result in more serious problems so it's recommended to switch to hardware rendering first. In UA Options menu, change Direct3D Device to “Primary display driver” instead of “Software”.

Increasing the turning rate of the buggy helis is the most common way to fix them. Ready-made patch sets with modified files were often used but these are no longer recommended. Some of them changed other properties of the helicopters as well which is undesirable.

To manually fix the helis:

  • Open a text editor such as Notepad, WordPad or Notepad++
  • Open the script files.
    • Names: user.scr, feinde.scr (original game only), Ghor.scr (Metropolis Dawn only)
    • Location in original UA is <ua_folder>/data/scripts/
    • Location in Metropolis Dawn is <ua_folder>/dataxp/scripts/
    • Note that Windows recognizes them as screensavers which they are not.
  • Find the desired helicopters.
    • Ghargoils in feinde.scr (or Ghor.scr), note that Ghargoil 3 is technically a plane and doesn't need fixing.
    • Dragonfly in user.scr, note that it is called LAWNMOWER
    • Firefly in user.scr if needed, note that it is called KNUDDEL
  • Change the maxrot values to something higher. 1.2 works often. If not, try 1.5, 1.8 etc.
  • Save the files and quit.

Decreasing frame rate

In hardware rendering mode UA automatically locks frame rate to display refresh rate. Higher frame rates are known to worsen the problem. Decreasing refresh rate via graphics card control program may help to an extent. There are also some DirectX manipulation tools available that can be used to adjust frame rate.

Slowing down CPU

Slowing down the CPU can help but may be difficult to carry out. Causing excessive load is one way to achieve it, underclocking is another.

Cheating the Engine

Using a process manipulation tool such as Cheat Engine to tamper with the system time functions and speed up the game (“speedhack”) can help but it will have a significant effect on the gameplay experience.

heli_bug.txt · Last modified: 2019/01/27 10:56 (external edit)
Back to top
CC Attribution-Noncommercial-Share Alike 4.0 International = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0