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

Causes

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

Workarounds

Various workarounds exist to mitigate the problem.

Use patched game executable

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

UA patched EXE: http://files.metropolisdawn.com/heli-patch/UA_helicopter_fixed.zip

Metropolis Dawn patched EXE: http://files.metropolisdawn.com/heli-patch/Ua_xp_helicopter_fixed.zip

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 turning rate

Increasing the turning rate of the buggy helis is the most common way to fix them. There is a copy-and-replace patch available that does this but some people don't like it because it affects other helicopter physics as well.

To manually fix the helis:

  • Open a text editor such as Notepad, WordPad or Notepad++
  • Open the script files.
    • Names: user.scr, feinde.scr
    • Location in original UA is *ua_folder*/data/scripts/
    • Note that Windows recognizes them as screensavers which they are not.
  • Find the desired helicopters.
    • Ghargoils in feinde.scr, note that Ghargoil 3 is technically a plane and doesn't need fixing.
    • Dragnfly 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: 2017/10/21 10:55 by goldstar611
Back to top
CC Attribution-Noncommercial-Share Alike 4.0 International
chimeric.de = 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