In the Hangars & Cargo SCL four months ago, it was said that it just missed the release and that you were really close. What the hell happened?
TL;DRThe developer says "really close" didn't mean ready to go live, and the delay came from fragile ATC and transit systems, mission and networking bugs, design changes, and bundling too much into one patch.
Time is relative, no. So a few things on that. First is when I said that, first off, I do regret using that exact terminology. But to be more serious, when I said that, that doesn't mean we're really close to going live, right? So I think that's one thing to consider is that there's still the whole Avocado PTU live flow that we have to go through. And there's going to be a lead time to getting that out to players no matter what. So it wasn't like we were so close to just pushing the button and being live. I probably could have been clearer on that point.
But on top of all that, there's a lot of things that happen even still in between what we would normally go to live and doing for the development. And in particular, some things that ended up being especially problematic going long was things in particular like ATC in transit. ATC and transit were two really critical parts of the whole hangar loop, of course, and the ship loading changes that we did with the ship loading platform. And unfortunately, if you could ask me to pick two systems to not touch at all, it would be ATC in transit because they're two older systems in the game. They're very complicated and they have lots of bugs historically. They're problem children for us as systems.
So we knew coming into this that it was going to be a risk making changes to those systems. And what turned out to be, I think, more of a problem than we anticipated is that once we started getting wider testing, those systems really buckled underneath load in a way that we weren't really seeing internally. So if anybody was on the PTU, for example, whenever we first started going out, it would be rocky. We'd put out some fixes, bring in more players, and then the thing would fall over. And as a developer, to make it more frustrating, fall over in a way where not only could we not reproduce but our own QA oftentimes couldn't easily reproduce it. Or if they could, there wasn't a coherent understanding about what the fundamental cause was.
So for those kinds of issues, we had to get creative as far as understanding what was happening and what to do to address it because again, we couldn't really consistently or fully understand it. So we put in a lot of diagnostics, a lot of telemetry, try things, and then eventually work towards a conclusion on what the actual fundamental problems were. On top of that, I think there was kind of a consideration with those systems about, right, we're gonna go in here, we're gonna make some big changes. We know we have to in order to make all of this hangar stuff work. But these are kind of older systems. Do we rewrite them? Do we largely refactor them or do we try to keep them largely intact but with the smaller changes that we need, hopefully smaller changes that we need to get us out?
We wanted to hit the release date sooner. So we made the call that we were not going to largely refactor or rewrite them for this release. In retrospect, I'm not sure, like if I could do it again, I would be interested to know, would it be longer actually if we just decided to just rewrite or refactor them first? The good news is that we already are planning on doing just that. And in fact, transit is already in progress with the new version, which needed to happen anyways for server mashing and all this stuff. So that's good. And then ATC as well, we already have plans on how to rework it and to make it just fundamentally some of the problems at play here because ATC as a system is so like centralized and it keeps a lot of state internally in a very centralized place.
But these systems are extremely complicated about how they deal with persistence and logging and streaming. And in particular, tracking ship allocations in the hangars. So we would get bugs, for example, with like ships doubling up in hangars, et cetera. Like those things were really challenging the system as well as like the doors not opening. So like a lot of that stuff, I think we have a lot better idea about what to do about it as a system in the future. But this release, we made the call to try to take the system that we had, just kind of like get it working with the new direction and then hopefully give us some more time without so much time pressure to make the right adjustments like more fundamentally.
It's a risk we took. It didn't turn out I think as we hoped, but sometimes that's how it goes. But there was a lot more things than that. Another thing was the mission system. It's a new mission system with a new delivery hookup for the delivery missions, first outing, right? There's a lot of new shaky things that we found with in particular the hookup from the freight elevators to the missions. There's just like a lot of loose ends, a lot of things threads would get lost. We have this whole warehouse system that has to interact with the mission system. And there was just, again, a lot of these like rare low repro issues that in these very fundamental places, actually, this is another point for ATC in transit.
Like when you have a moderate inconsistent bug in a system that's not as critical, it doesn't seem as bad. Not to say that bugs aren't bad. Of course, we want the game to be stable. But whenever you have something that's like, let's say it happens 1% of the time or 0.1% of the time. Unfortunately, if that isn't a part of the game flow, that's critical. It's unplayable, right? So we have to like take even more care with those systems to get them into a better place. So the game is more playable because those bugs have an outsized effect.
But beyond that, there's also in particular, a lot of issues that we had with networking and serialization and the replication layer changes that were coming in preparation for server meshing. And I can just speak from my own personal experience, debugging some of these things. There was some very complicated, hard to understand bugs that we had to work back to eventually being actually corruption in serialized data that was coming from some bugs in the replication layer, which we could not reproduce that again internally. And that was a wild one to figure out. It was very, very confusing as you can imagine, because it's rare and it's random and like the data you get doesn't make sense and you try to make sense of like how these things come together. But we got there.
There were design and iteration changes. Some of them, we were pretty public about like the item bank, but also tweaks to the freight elevator kiosk, changes to how the economy tuning works, for example, auto loading times and stuff. So like, and to be fair, we were wanting the patch to be a complete package as much as we could. So given that we were already going late, we didn't entirely shy away from taking some of the time to like also like clean things up on the design side while we're also grappling with some of these harder engineering problems.
And then like the final thing I'll say on it is we didn't want the whole schedule to shift. So we still have a lot of other goals. One of them obviously was the Atlas, but there's things coming up 4.0. We're obviously still trying to get Squadron finished and out the door. And we didn't wanna just take everything and just like take everyone, focus entirely on this release, get this release out the door and have our whole schedule change for the whole company. So we had to like keep, there was a lot of people who needed to move on to 4.0 goals or whatever. And so it meant that we needed to keep the core people that were working on the main line features on the release, but we didn't have the full force of the company to just close that one specific patch out. We could have, but like I said, it would have caused problems for our other goals otherwise.
So you kind of in total, there's a lot of things that I feel like I've learned from and I hope in the future, it gives us a better like framework for how to deal with something this complex.
Yeah, one last thing I'll say is: I think there was also just a fundamental problem with the whole conceit of having this many fundamental things in one patch, where I think if I would do it again, I would slice it differently and try to do the persistent and instance hangars in their own patch first and then layer on top all this other stuff. We wanted them to come together as an experience. And I understand that might have been actually kind of a weird thing for the players to go through to have like this one particular aspect of that feature set come in without the things that make sense. But from a development perspective, it would have allowed us to harden on the aspects of it that were in particular thorny and more of an engineering challenge and then get that hardened and stable so that we give that to the players and then layer on top of that all this other stuff around it. But doing it all together, I think really challenged us when some of the, like I said, some of the risks didn't break in our favor.