Turn Speed

Revision as of 10:37, 9 March 2020 by MattKC (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

LEGO Island's Turn Speed is one of its biggest issues regarding playability on modern computers.

Background

Despite LEGO Island's maximum frame rate of ~91 FPS, at the time of its development, most computers could only reach fairly low frame rates while playing it (often around 10-20 FPS). Due to the relative unpredictability of user hardware, the game automatically adjusts the walking speed based on how long each frame takes to render, effectively keeping movement at a consistent speed regardless of the frame rate. However, due to a code oversight, this adjustment is not made to the turning speed, which infamously makes the player turn faster/slower depending on how high/low the frame rate is. Beyond ~30 FPS, the turn speed starts to becomes too fast to control accurately, and as computer performance has continued to increase, the game has become progressively harder to control. Nowadays, all modern computers can play LEGO Island at its maximum frame rate, significantly faster than computers of the era, and as such, significantly harder to control.

Oversight

According to the game code, walking uses a "velocity" system so that players gradually accelerate to a target speed (maximum speed if using keyboard controls) and decelerate to a stop when controls are released. This system had "delta time" adjustment - adjusting by the time each frame took to render - built into it. It appears developers had initially intended to use this system with turning as well (i.e. turning would gradually accelerate/decelerate) but at some point chose to disable it and instead set the turn speed directly to the target speed with no acceleration/deceleration.

While not using velocity for turning makes a lot of sense (turning that accelerated/decelerated likely would have been unwieldy to play), they neglected to write any delta time adjustment into the new approach, locking the turn speed to the frame rate in the final release of the game.

Response From Developers

An interview with lead programmer Dennis Goodrow reveals that this was a known issue that the developers had discovered shortly after release, once they were able to test on a computer fast enough to reveal the bug. The developers wrote a fix but it was never released since the discs had already shipped and Mindscape never made any attempt to publish it.[1]

Solutions

This bug can be patched with LEGO Island Rebuilder through a number of different approaches:

  • Unhooking the turn speed: Rebuilder contains a patch that implements delta time adjustment into the turning to fully address the issue (most likely what the unreleased official patch would have been)
  • Reducing the frame rate: Rebuilder can simply limit the frame rate for an "authentic" experience similar to computers of the era.
  • Reducing the maximum turning speed: Rebuilder can modify the maximum turning speed. This used to be the main solution to this issue but has been superceded by the unhooking patch. It can still be used in tandem with unhooking to adjust the speed to the user's liking.

References