343i Posts Halo: Master Chief Collection Development Update, Announces Public Flighting Program
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.
As awesome as our legacy strike force team is, the Halo: Master Chief Collection update is a big ambitious project – there’s a lot of work to be done addressing bugs, updating old systems, adding visual enhancements, improving playlists, and even potentially working in some bona fide new features.
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.
TAKING FLIGHT TOGETHER
The second key partner in this relationship is you – our fan community. For starters, we already have a wealth of feedback spanning years of bug reports and feature requests. This info informed much of what’s already in our internal databases and has been very valuable informing priorities and production plans for the project.
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.
If you want to be a part of the MCC public testing process, I highly encourage you to go ahead and join the Xbox Insider Program now so you’re ready to go when things get rolling. While you’re at it, I also recommend joining the Halo Community Feedback Program if you haven’t already – not only will we likely use this as a means of gathering periodic feedback during MCC testing, it also offers regular chances to share input on numerous facets of the present and future Halo games and franchise.
LAYING THE FOUNDATION
Lastly, before we close, I wanted to share a few updates on just some of the big-ticket items the team has been working on for the past few months. The 343 Legacy Team’s Technical Directors – Greg Hermann and Andrew Schnickel – have both been hard at work shoring up MCC’s foundations and updating out-of-date systems, services and technologies.
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:
UPDATED MATCHMAKING APIS
Halo: Master Chief Collection launched back in November of 2014 and there have been a ton of improvements and changes to how Xbox Live matchmaking functions since then. Greg and Andrew systematically updated MCC with the latest and greatest matchmaking APIs that brings forth many welcome improvements. What exactly does this mean?
“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.
UPDATED PLATFORM XDKS
In order to take advantage of the latest and greatest matchmaking systems the underlying platform XDK/APIs also needed updating. That means that all eight of the game engines running in Halo: Master Chief Collection needed to go through this update process. Yes, that’s right, eight separate engines: H1 Classic, H1 Anniversary, H2 Classic, H2 Anniversary, H3, H3: ODST, H4, and H2A MP.
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.
"APPMODEL / REBOOT"
In the original Halo: Master Chief Collection, you’d have the unified UI running and then depending on which game you launched, one of the eight separate engines would run and then upon completion, the software would fully reboot. This is one of the underlying challenges MCC had when it came to “reconstructing the network session” after each discrete reboot.
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.”
One of the last items Greg and Andrew walked me through is a pretty significant overhaul of the underlying network code in Halo: Master Chief Collection. The Xbox Platform provides a baseline mechanism for “NAT Traversal” and network encryption but in practice the internet ecosystem doesn’t always support it as well as we’d like. If you’ve ever had difficulty connecting behind a company or business firewall you might’ve experienced some of these challenges.
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."