343 Industries posted a new development update on Halo: Master Chief Collection, detailing how they are planning to follow up on the promise to fix the game's ongoing issues as well as properly enhance it for the Xbox One X console.
According to the developer, a "small but experienced" team is working on this Halo: Master Chief Collection project while development of the next Halo mainline entry remains unaffected.
343 Industries also announced a public flighting program to help test the changes. You can find a lot more about that below.
So, how do we commit the necessary resources and deliver on ambitious MCC goals with a “small but experienced team?” Well, we’re going to need a little bit of backup. We already have plans to mobilize our community for hands-on testing (more on that below) but unfortunately, that model isn’t really viable when it comes to working on development tasks with the code base itself.
To help us achieve these goals, we’ve tapped some external support to partner with us through this project. We’re currently in the process of working through various milestones like getting processes and tools in place, getting familiarized with the many code bases, working through scope and schedules, and generally getting all the foundation elements locked so there’s a clear and realistic plan of attack.
Initial feedback is half of the equation – the other is getting ongoing builds of MCC into your hands via a public flighting program. This will be a new process for our team here, but if you’re already a member of the Xbox Insider program, it’ll be familiar to you. This will be a separate “version” of MCC that’s released into the wild for public testing of updates and patches during development. There’s a lot to learn here about how to effectively utilize these tools and what best practices we can gleam from other partners around the Xbox family but we’re very excited to get this rolling.
Currently, the thought is that flighting will roll out in incremental stages with a larger potential audience being added with each new update. Initially we’re going to start out very small – in fact, the internal team already has a flight ring setup for just them to test out early updates and get familiarized with the process. Eventually this will start to expand and we’ll look at a mix of both hand selected participants (i.e. community members who have a good amount of experience and prior engagement with MCC) and then eventually a more open model that anyone can opt-in to join. I know everyone is eager to get going (and trust us, we are too), but we don’t yet have a date locked for the first phase of the public flighting. The latest plans are looking like public flighting will kickoff in a meaningful way sometime in the March timeframe but we'll definitely keep you updated as details are locked.
While I’m certainly no engineer, Greg and Andrew did take some time to explain a few things to me in terms they hoped I could understand. On the technical side there’s been several milestones of note that will pay huge dividends when you play MCC again later this Spring:
“Overall this results in big improvements to reliability,” explains Greg Hermann. “The older system used outdated methods which sometimes resulted in instances of parties disappearing randomly and lost notifications between clients and the matchmaking services.”
“Xbox Matchmaking services would find you a match but the notification might get lost on the way to the system and then the game title itself would never see it.”
Greg continues, “Under the old model the system software was the authority on who was connected to who and how… and now, the game title itself takes responsibility for that and gets to decide what the party composition is. This gives the title (and us) a lot more control over party management.”
The big takeaway here is that the overall matchmaking experience, especially with parties, will work much more reliably following this modernization of MCC’s online systems.
Andrew Schnickel explains what this means:
“One of the major implications of this work is that the XDK upgrades now allow us to support Xbox One X features such as increased resolution and visual enhancements. We can also use platform advancements such as the ‘social manager’, which simplifies a lot of our code around friends and presence management. And foundationally, this update opens the possibility for other things we’d like to explore like custom game session browsing, Xbox Arena or Mixer support.”
According to Greg, updating all eight game engines includes fully retiling textures, recompiling shaders, etc. which is why MCC will eventually require a sizable re-download when it launches. It’ll definitely be worth it.
So what do these new changes mean? Here’s Greg again with an explanation:
“Now instead of doing a reboot of the entire process, we just unload the .DLL and cleanly shut down each game engine. This means there’s less chance of your network session breaking down. You’ll also notice a much faster game-to-game transition time, greater overall UI consistency, and it also makes it easier for us to manage MP experiences and get players back into matchmaking quicker after a game session ends.”
We’ve updated to a new code base that does a lot of what the Xbox infrastructure does but also allows us to add in relays to work around NAT settings issues. What does this mean for the player? Here’s Greg with the technical takeaway:
“We can route packets through separate UDP packet relay servers regardless of your NAT settings. This should result in a lot less ‘I can’t join this person’ problems.”
"Additionally, with the original MCC, peer hosting was used for matchmade games as a fallback if dedicated servers weren’t available for whatever reason. We’re moving to a model where dedicated servers will now be guaranteed for all matchmade games."