1. Instruments of Destruction
  2. News
  3. Version 1.13 Released! Exit-Freeze Fixed!

Version 1.13 Released! Exit-Freeze Fixed!

[p]It's been a few months since version 1.12 and subsequent patches were released. Today, version 1.13 fixes the biggest issues caused by that update along with a few other minor tweaks/fixes. Let's get to the changelist first, then I'll go over the exit-freeze issue and the journey to fix it, and finish up with some other news.[/p][p]1.13 CHANGELIST[/p]
  • [p]Rebranched code from 1.11d to prevent exit-freeze[/p]
  • [p]Reintegrated all 1.12 changes into new branch[/p]
  • [p]Added new cheat to unlock all missions[/p]
  • [p]Fixed dropship sequence going too fast and causing issues when framerate was low[/p]
  • [p]Changed a couple gamepad shortcuts a bit[/p]
  • [p]Grayed out vehicle slots that have nothing when in Load Custom Vehicle menu[/p]
  • [p]Removed some excessive debug.log statements[/p]
  • [p]Prevent GPU from trying to release resources twice on shutdown[/p]
[p]THE EXIT-FREEZE MYSTERY[/p][p]As you can see from the the first item, the solution to the exit freeze was relatively simple in the end, though it took a very long time to figure out. And to be honest, I'm not actually sure what code caused the exit freeze, I just know roughly where the freeze came from.[/p][p]The exit-freeze was first reported in May after 1.12 (or one if it's follow-up patches) released, and I tried to find it sporadically since then, and got many player.log files from players along the way. But those files contained almost no useful info. The most consistent thing that happened was the "BlockManager" shutting down, then the file was blank. That means the BlockManager probably wasn't the issue, but other than that, having no info meant I had no idea where to start, and the freeze may have only happened on certain PCs after playing an indeterminate amount of time.[/p][p]When I discussed the game with Secret Mode during subsequent meetings, I mentioned needing help with tracking down the issue. After getting builds, they found it happened for a few people fairly consistently, but the repro steps were still unclear. Some thought it required alt-tabbing, or keeping the game open a certain amount of time before closing, but most mentioned playing a few missions.[/p][p]This summer I had my older kid doing some intern work for me, and I asked them to spend of time trying to find the freeze. They got the freeze on their PC, and eventually found pretty fast and repeatable reproduction steps a few weeks ago. I tried the same steps on my PC, but it never crashed. I had made 6 different builds with potential exit-sequence fixes, but none of them fixed the issue.[/p][p]I was still stumped what the issue was, but with a PC that got the freeze consistently, I mostly had what I needed to fix the issue. Now I just needed enough time to track it down.[/p][p]For reference, the repro steps to get the exit-freeze on a PC that gets it: Load mission 1, get dropped off, back to Island Select. Do that for missions 2 and 3, then exit the game. Happened 100% of the time if you did those steps, but if you took one mission out, or didn't get dropped off, it never happened.[/p][p]TIME MANAGEMENT[/p][p]With Rhythm Storm's launch and follow-up updates done, I had to make a decision: Rush to finish Speed Demons 2 (intended to launch at the end of August), or switch to Instruments work and try really hard to fix the exit-freeze and get the console versions for certification. Aside from having the SD2 intended launch date in a Best Indie Games video, I don't really need to launch SD2 in August, and the timeline would have been very tight. I wasn't worried about getting it done if I chose to do it, but I didn't feel good about having Instruments' work continuing to be delayed. And I wanted to enjoy working on SD2, so the choice became obvious.[/p][p]Alan suggested narrowing down the changelist where the exit-freeze happened. So after I got Unity installed on the freezing PC, and attaching the debugger revealed nothing useful after a couple hours, I did exactly that. I thought I was doing a good job of narrowing it down, except I was getting conflicting info about when it happened. I finally realized after a few hours of resyncing, rebuilding, and re-testing that the freeze happened in certain branches earlier than others.[/p][p]A CONSEQUENTIAL MERGE[/p][p]I realized that there was a merge of the Xbox/PC branches before version 1.12, so I tested a few of the Xbox versions (converted to work on PC, which took about 10 minutes each), and the freeze always happened there, but never on the PC-only branch. I got back to the first Xbox version before I realized it was the PS5 version (which the Xbox branch is based on) where the freeze originated. I tried a couple PS5 versions (converted to PC) unsuccessfully before I realized I wasn't going to fix the issue trying to narrow down the changelist.[/p][p]The issue was the merge of the Xbox/PC versions. There was no reason that needed to happen. I don't remember why I merged them earlier this year, but I had shortly after split them back off from each other. So it really made no sense in retrospect. Instead of fixing the issue, which could be anywhere in the PS5 version (lots of GPU-related changes to get it working), I needed to avoid it altogether. In other words, take the last clean PC version and integrate all the 1.12 and beyond fixes into a new branch.[/p][p][/p][p] [/p][p] Definitely one of my worst merges ever (should have cherrypicked instead)[/p][p][/p][p]So that's what I did, and after another few hours of work, the crash disappeared. I cleaned up the build, did a bunch of testing, and now 1.13 is out. It all seems "obvious" in retrospect (like most bugs do), but I'm just glad it's over.[/p][p]SPEED DEMONS 2 DELAYED[/p][p]In case you missed it above, Speed Demons 2 is no longer coming out in August. It'll hopefully be out in September instead, but Alan are I are going to get everything on Instruments of Destruction done as best we can (for both the PC and console versions), then I can work on finishing SD2. It hasn't really been promoted very well outside the initial trailer, so part of that work is making a good release date trailer and sending a near-final build to a lot more streamers/etc before the launch. Either way, a little extra dev time certainly won't hurt.[/p][p]Another ICYMI: Rhythm Storm is out (and fun if you like that sort of thing).[/p][p][/p][p]That's all for this time. \[Don't hesitate to let us know if something is broken.][/p][p]-Luke[/p][p][/p][p]PS. Don't merge unless you really mean it :)[/p]