Kerbal space program game hook update#
Given the scope of the update we expected this, but it’s not very efficient when the developers have to go in and spend hours categorizing and prioritizing issues before they get to work, so we’ve handed that task off to Ted instead. QA testing has started for the Unity 5 update, and Ted has been hard at work to prioritize the stream of issues that’s pouring in. The community feedback has been great: the gifts Vine has more than 25k loops already! Dan created old-school animations with paper, camera, pencils and the sort.
Kerbal space program game hook code#
This just goes to show that code which didn’t cause any problems in Unity 4 (the joints setup hadn’t changed) can cause unexpected bugs in Unity 5.ĭan (Danrosas) has created some very unique content for Kerbal Space Program: the vines we released earlier this week feature a more “traditional”. The fix was fortunately simple: Felipe set the maximum force allowed for joints to a very high, but still finite value. That then caused the vessel to get moved to infinity (because it was moved at infinity m/s by this infinite force), causing the entire simulation to break down in a cascade of invalid values. The bug happened when, after a collision CollisionEnhancer would correct the position of parts that had punched through the terrain, causing the joints to exert the maximum amount of force they could, which as we were to find, was set to infinity. Neither side was directly responsible for the bug: the joints worked as usual, and CollisionEnhancer was also producing correct and stable results. Felipe created an isolated project to identify where the NaN errors were coming from and succeeded, though only if he included a small component of KSP’s own code.Īs it turned out the cause of the problem was in the joints between parts, and how those interacted with a component called CollisionEnhancer which ensures parts can’t punch through terrain if they collide really fast with it. All this resulted in the suspicion that this was a Unity bug, and that we’d have work around a part of the game’s engine, but first the cause had to be isolated.
Tracking down and fixing the bug took three days of constant experimenting, digging, ruling out causes, and restarting Unity. This meant that debugging the error became exceptionally frustrating, as every test would result in the development environment crashing. In general, the office has felt rather quiet this week: only the KSP developers remain in an office that is usually shared with people doing legal, accounting and other supporting services.įelipe (HarvesteR) and Nathanael have tracked down and fixed one of the trickiest bugs to hit development in the history of KSP: in the development, whenever a ship crashed or even touched down gently the game would quite often crash completely, and this error even took down Unity with it. Christmas came and went, and boy they were memorable in so many ways: from Ted being chained to his desk by Joe (Dr Turkey), to Bob (RoverDude) spending time working on robotics with his sons, to Andrea (Badie) heading out to Cancun, and to Nathanael (NathanKell) unfortunately spending Christmas Day in the hospital, taking care of a close relative who had fallen down the stairs and broke a leg.