APB 2022 Roadmap

January 29, 2022 | PC

APB 2022 Roadmap

Hello everyone, This will be my 3rd State of the Game post for APB.

I find that each year, I get a little later with these Roadmaps because it takes nearly a month to decompress the previous twelve and find the time to write out my thoughts.

Similar to last year, I took some time off at the end of 2021. But this time it was to get married. After that, I took a couple weeks to sit with APB and to decide how I want to proceed.

Little Orbit had a very weird 2021.

On the one hand, our external consulting projects went quite well. We helped another publishing partner rebuild one of their games, and we're about halfway through a massive new game for a different publishing partner. We also have several upcoming announcements coming soon for both internal and external projects that I'm very excited about, and while these announcements won’t be specifically about APB, these accomplishments help us stay healthy so we can continue to try and get APB where I want it.

On the other hand, APB was a mess this year.

In January, we had a pretty good strategy for migrating code out of 1.20 into 2.2. We found some folks with experience on Unreal 3. Tried them out. Made some changes. Tried new candidates out. I got involved personally to help migrate several systems.

I felt pretty good around mid-year with the progress that strategy was showing. It seemed like we were down to only a couple areas blocking us from running around in Financial to get a solid benchmark. It was then that we started hitting the landmines. Our forward momentum screeched to a halt as several “needle in a haystack” issues popped up. We continued to pour effort into the project, but it was very slow going.

November seemed to pick up steam again, and I held out hope that by the end of the year we could finally show off a significant update. But after nearly a month into 2022, we're still not there. We made significant strides and the new APB 2.2 code base is closer to 1.20 than any previous iteration. We can run around in districts on less optimized Debug builds. But getting the data cooked and compressed for a release build that we can provide to users has proven to be impossible.

The crux of the issue is that 1.20 code doesn’t want to play nicely with our 2.2 upgrades. While half of our packages have been recently copied from 1.20 and go through an automated upgrade process to work in 2.2, the other half of our packages are necessarily from 2.2 because they support newer features of the Unreal engine. For the purposes of cooking and compressing the data, every item has to be perfectly aligned, otherwise that version of the game crashes.

The problem has become figuring out which packages should stay and which packages should merge in. In some cases, this means figuring out exactly which objects in each package are compatible and which aren’t. To put this into context, imagine you were building a lego castle out of a million pieces. Ideally you would be able to add parts to your castle in chunks (for example, the drawbridge set + the turret set). Only there is a wrinkle. Not only do some of the sets not fit together, some unknown number of blocks in the drawbridge set hate the turret set and make everything fall down if they are included.

At this point, I have taken a step back and re-evaluated the entire approach.

I feel like we spent all year trying to force the stars to align in this giant code base so we could hit a home run and deliver the entire new game to you guys, while the existing game and player base suffered. We could easily spend the next year attempting to do the same thing, and while we might get over some of these hurdles, I feel like there are more unknowns around the corner that could block our efforts again.

So, we're going to change strategies for 2022:

  • We will be freezing the 2.2 code base and switching back to development on 1.20.
  • We will be versioning the 1.20 code base into a new APB 1.30 code repository.
  • We will be upgrading the APB 1.30 code base so we can use modern compilers like Visual Studio 2019 instead of 2012.
  • We will be upgrading APB 1.30 to 64-bit by upgrading our libraries to the same versions already in-use in APB 2.2. We already have all the code modifications in APB 2.2 to support these newer libraries.
  • We will address the RTX crashes and frame rate hitches that are based on the current 32-bit memory limitations.

What this means practically is that rather than chase large engine upgrade that remains out of reach, we can focus on updates that serve our current player base now, so you guys can finally benefit from some of our work.

After that, I want to do a series of smaller sprints that can each be released to players:

  • Back port the cooked package system into 1.30. This will massively improve load times.
  • Back port the newer network code from 2.2 which will enable us to continue development on cross world play in 1.30.
  • Back port the DirectX 11 renderer (and potentially a DirectX 12 renderer as well).
  • Make a pass on fixing bad geometry and collisions that exist in the game today.
  • Back port console support for Xbox One, Xbox X, PS4, and PS5 and make minimum changes to the UI

Essentially, we've wasted enough time trying to make the leap forward into a code base that has struggled for years. Now, since the code bases are so similar after our efforts in 2021, we will be picking and choosing bits to pull into the current game till we get all of the same features I wanted from 2.2.

It has been a long and bumpy ride, but to everyone who continues to stick with us and enjoy APB, thank you so much. We will get there.

Thanks, Matt


Got any questions? Want to chat with other players? Then discuss this article in our Forums! You can also follow us on Twitter and Facebook.

LATEST NEWS POSTS

Halloween Event 2022

Halloween Event 2022

Oct 25, 2022 | PC
Message from Matt

Message from Matt

Aug 5, 2022 | PC
Easter 2022

Easter 2022

Apr 11, 2022 | PC
APB 2022 Roadmap

APB 2022 Roadmap

Jan 29, 2022 | PC
Holiday Event 2021

Holiday Event 2021

Dec 20, 2021 | PC
Halloween Event 2021

Halloween Event 2021

Oct 25, 2021 | PC
Easter 2021

Easter 2021

Mar 22, 2021 | PC
V-Day 2021

V-Day 2021

Feb 8, 2021 | PC
APB 2021 Roadmap

APB 2021 Roadmap

Jan 22, 2021 | PC
Holiday Event 2020

Holiday Event 2020

Dec 21, 2020 | PC

ARCHIVES