In GTA: San Andreas, small planes can spawn into the world to perform a fly-by near the player. As former Rockstar developer Obbe Vermeij notes, "sometimes they crash" - the result of several coding errors that the dev has outlined in a recent tweet, and another one that one of the game's modders informed them of nearly 20 years after the fact.
Over on Twitter, Vermeij explained how the planes worked. Before spawning, his code would look for potential obstacles along the flight path, scanning ahead in the direction of the plane's travel. To limit resource-use, the scan only ran out from the main body of the plane and the tips of its wings, but that meant that thin objects might not be detected, setting the planes off on "doomed" paths that would eventually bring them crashing to the ground, with potentially disastrous consequences for the player.
In GTA San Andreas, small planes are periodically created near the player to perform a fly-by.Sometimes they crash.Before creating the plane, my code looks for obstacles in its path.It scans a number of lines in the forward direction of the plane. These scans are slow so I… pic.twitter.com/8uUQcmU958April 2, 2024
In other instances, planes could lose height upon spawning because their initial speed would be too slow to generate lift, or they could spawn too high and nosedive back down to a correct altitude. Alternatively, the map might only spawn properly after the plane had set off, causing an obstacle that couldn't have been scanned to find itself in the plane's way.
Vermeij says he knew about all of these issues, and at one point "briefly considered removing the fly-bys altogether." They remained in the game, as did the crashes - but also included in GTA: San Andreas was a bug that even Vermeij didn't know about for nearly 20 years. Modder Silent highlighted another issue, explaining that the planes actually crash more often than they're supposed to because of a collision detection bug, a false positive that would allow the planes to spawn on an obstructed path, thinking that that path was empty.
These planes also crash more than they should due to a bug in the collision detection as planes are spawned. This can result in a false positive where the planes spawn, thinking the path in front is clear - when in reality, it's not. https://t.co/iMDRKgjs3x pic.twitter.com/SDP22e0tWnApril 2, 2024
In response, Vermeij says he "didn't know there was an actual code bug," and despite Silent's enthusiastic explanation, says that the error was "embarrassing". The pair agree, however, that the subtlety of the bug due to the difficulty of even assessing that anything was wrong, made detecting it extremely difficult. Silent even suggests that the issue - fixed in their own version of the code - is a QA nightmare that's extremely difficult to reproduce. Having not played San Andreas since 2005, Vermeij concludes his messaging around the bug by suggesting that using Silent's patch of the game might be a good idea.
Vermeij has had plenty to say about the process of developing GTA: San Andreas over recent months. Back in November, he was all ready to detail some of the internal workings of his time at Rockstar before being abruptly asked to cut it out, but since then he's also talked about some other dev quirks, including the mystery of the game's three moons.
Speaking of Rockstar, here's everything we know about GTA 6.