From Halowaypoint:
FINISH THE FLIGHT
As of July 2, the current MCC Insider build has been updated with the latest work-in-progress bits, which now includes the FULL GAME!* Anyone who participated in the first or second flight should automatically get this update the next time they log in. (*Note that the MCC Insider build does not include ODST content)
This is a really important release for the team because it's the first time the totality of the MCC experience is being made available to our Insiders for hands-on play. It's equal parts exciting and scary as a ton of work has gone into the game up to this point but given how complex MCC is and how much it has to offer, the team is also bracing for a much higher volume of feedback and any number of new issues that inevitably arise.
We're considering the week of July 2 "Phase One" which is the start of Flight #3 EARLY ACCESS. The audience is being kept intentionally small – only the folks who were in flight 1 & flight 2 have access right now. With the help of this small group, we're looking to validate the build, release process, and a large variety of things that haven't been part of previous flights. Once this validation is complete and everything checks out, the next step ("Phase Two") will be opening up the MCC Insider build to everyone in the MCC Insider Program.
Looking further ahead, we envision things kind of branching off and evolving the "MCC Insider Flights" to more of a persistent, ongoing "Test Realm" that will host ongoing updates and iteration to feed back into the retail version of MCC. That doesn't mean our MCC Insiders' job is done though or that feedback, surveys, and the like will cease.
Here's an awesome homemade chart I made to help illustrate what's ahead (apologies in advance to Jeremy Cook for this cringe-worthy work of art):
Of course, we have schedules and target dates internally but with this kind of work it's really hard to pinpoint and given all the external dependencies with the flight performance and the unknowns we're waiting to encounter, we're not comfortable telegraphing real dates just yet. Overall, the better things go in Phase One, the faster we'll get into Phase Two and so on…
If you haven't yet signed up for the MCC Insider Program you still can and we'd love to have you. Check out THIS PAGE for more info and the link to sign-up.
The finish line, at least in terms of the first big update, is starting to come into view and we couldn't be more excited to bring everyone along for the final journey. Stay tuned!
SCOPE & FOCUS
As noted above, the "scope" of Flight #3 is basically the entire game (minus ODST). We're asking participants to spend time playing all the parts of MCC we haven't specifically focused on in our previous public flights: Campaign, Co-Op, Custom Games, Forge, and Theater are all in need of Insider hands-on scrutiny. We'd also love for players to try out the new "Intelligent Delivery" feature as well as the new HDR video settings and "LAN" support! (more on these down below)
The good news is that all of those areas above can be tackled with no matchmaking or population dependencies. However, we are planning for a few coordinated official sessions to promote online matchmaking, which we highly encourage participants to join:
FEEDBACK
As with prior MCC Insider flights, participants can look forward to an official survey in their email inboxes at the conclusion of the flight. And, just like with Flight #2, we encourage and welcome feedback here on the Halo Waypoint forums. Check THIS THREAD for additional details and links to the appropriate targeted feedback threads (Campaign, MP, and Misc/Other). Thank you to our eager players who are already sending in detailed and helpful feedback around a variety of in-game issues!
READY UP
Flight #3 Early Access is underway now and as long as everything goes according to plan we hope to move into "Phase Two" and expand the participation audience as soon as next week. Get ready MCC Insiders, your time is nearly here!
INTELLIGENT DELIVERY
In our last update we shared a first look at the UI for the new "Intelligent Delivery" feature in MCC. This feature is now live in the Flight #3 build and we look forward to players trying it out and sharing their feedback with the team!
By default, MCC will attempt to install the entire ~70GB package. However, once the game displays "Ready to Play", you can launch the game and access the Intelligent Delivery settings to customization your installation specifics.
MCC Intelligent Delivery offers the following options:
Under "GAMEPLAY", select "CHANGE INSTALLED GAMES" to configure which game components to install.
In addition to specific Campaign or MP content, you can also choose which language you'd like to use for all the games – both for audio and text. If the default language chosen isn't supported by some games, you have the option to select a fallback language. Here are the available options:
Audio
Then select your primary language for Voice and Text along with fallback language choice:
LOCAL AREA NETWORK (LAN)
This new feature is now available in the build for Insiders to try first hand and can be accessed via the "OPTIONS & CAREER" page, "SETTINGS" and then "NETWORK."
Once the "NETWORK" is switched to "LAN", the roster will populate to display all players on the same network.
IMPORTANT NOTE: For the MCC Insider build only, players will need to be connected to the internet in order to play over a LAN. This is specifically for the Insider build, no internet connection is required to play over LAN once the update is released for retail MCC.
The ability to play classic Halo games with friends on the same local network with minimal latency is something players have been asking for since day one and the team is stoked to bring this functionality to this latest build. Give it a shot and let us know what you think!
MATCHMAKING UPDATES
Over the first two flights we received a lot of feedback from players lamenting the lack of skill-based matchmaking and all the one-sided beat-downs that occur when matching with players of a much higher skill level. This was intentionally disabled in the flights as a means of ensuring a small population could find matches quickly but beginning with this week's build, we are implementing a new matching sytem.
Here's Sean "Dersky" Swidersky with some insight on what you can expect when you jump into MCC matchmaking:
Greg recently added a rule for ranked Matchmaking Playlists which imposes a strict 10 level maximum delta for Matchmaking. This rule has an expanding delta effect, which starts at 3 levels and expands 3 levels every 5 seconds when searching. The 10 level gap is very close to the Halo 3 value expansion times in the XB1 system which doesn't align 1:1 with the Xbox 360 system. An example of the 10 level delta would mean that a level 10 player may see both level 1 and level 20 players. It also means the full "group" in the session shouldn't be outside the 10 level gap. That is, having a 1 and a 10 in a session means we cannot have a 20, even with backfilling.
Dersky also notes two other things players should keep an eye out for in this build:
MCC UPDATE PLAYLIST SPEC
For past couple months we've been talking with and listening to players throughout the Halo community via forums, Reddit posts, Discord chat rooms, Twitter feeds, streams, Facebook groups, and official surveys.
After spending some time reviewing this player feedback, we shared our initial list of selected playlists for the launch of the MCC Update in the last development blog. While this initial list was a great start, we sought more feedback and began to hear that even more community members wanted an opportunity to participate in the playlist selection process. We heard you and we agreed: Everyone should have an opportunity to weigh in!
So, a few weeks ago we opened up the MCC Playlist Preference survey via Halo Waypoint as another input channel. This survey ran for approximately one week and over 13,000 folks responded!
After a deep dive into all the feedback we have received across every community channel, we now have the updated and final playlist spec for MCC when the retail update lands.
Your feedback will also be used to inform the schedule for rotational playlists to help keep the game feeling fresh week in and week out. Once the update is out, rest assured that the team will be monitoring data and feedback closely to inform ongoing plans and any necessary adjustments.
Here is our final list of the Matchmaking Playlists that will be included in the MCC retail update:
Core Playlists
Rotational Playlists
Ultimately there's a limit to how many playlists we think MCC can realistically support while still offering players quick matches and great game experiences. To help solve for playlists that are unique yet don't necessarily drive enough consistent participation to warrant full-time inclusion, we're creating a series of rotating playlists that will come and go over time.
Rotational Playlist plans were also driven by feedback across community channels including the MCC Playlist Preference survey. Here's a list of what we're currently building into our rotational plans though this is certainly subject to evolve and grow over time based on player feedback and game data.
Cheers,
Postums
Thanks Postums! And remember, in addition to a fully revamped offering of Matchmaking Playlists, MCC will also receive a bona fide Custom Game Browser in a future update which will even further support all the game maps and modes your heart desires.
Now it's time to change out of our designer hats and switch over to programmer mode – that's right, it's once again time for an engineering update from our man in the trenches, Sean Cooper…
THE SCOOPTM
Since the last blog, I've been busy doing all sorts of things...
DEV TOOLS
I finally got annoyed enough that a lot of our debug tools and console output were not working correctly…that I fixed them! Namely, they weren't scaling for 4K so it either made them too hard to read or they would overlap things. The QA team also wanted a single "debug claw" for each game's debug menu (the combo used to open the menu) which I saw to.
Another dev-only quality of life improvement I've been working on was making each game's various logs all go in their own folders, instead of stepping on each other's toes. That way it's clear you're looking at the network_debug.txt for Halo 3 and not say Halo 4.
HALO 3
There's some Halo 3 fixes that I'm working on that kind of all tie together indirectly. I'll start with what started it all. So, some may know that the Forgeable cardboard boxes on the map "Orbital" aren't really Forgeable right now. Somehow, someone modified the asset for this object and deleted its properties, which the Forge system requires in order for you to be able to interact with it. That's why they drop out of your hands as soon as you place them.
Then, on the map "Sandbox" the Golf club doesn't actually have a HUD or backpack icon. Turns out, those assets were deleted. This prompted me to perform a folder comparison with MCC's H3 assets and those that shipped with the "blue disk" release (the MP disc that came with ODST on the 360). That's when I realized that there was another missing file. The map "Cold Storage" is supposed to have Flood infection forms running around outside the map. Except the creature asset is missing.
"So", you say, "just add all of those missing files, ship it, #FixedMCC, the fight's finished". Well, not so fast. It's not that simple. Nothing about MCC is ever simple. The Arbiter should really be our spokes…errr, person.
The problem with adding or removing assets to Halo 3 is that you run the very high risk of breaking map variants. Since the 360 days, and up until my fixes go live, Halo 3 map variants embedded content IDs for the things which are placed in them. Content IDs are dependent on the order in which content is linearly added to a map file. Modders know these as "tag indicies". To ship MCC originally, a hard coded table was made to map a 360 content ID to the content ID which it is assigned to in MCC. That lets you ship, but that doesn't solve the problem. If you add or remove content those IDs shift. Here, I'm trying to add back content to make Halo 3 be Halo 3 again. So we have to be more…indirect.
Think of the problem using websites and the internet. We use domain names like Google.com because they're far easier to deal with than IP addresses. And what if the IP address changes? What's the IP address of the site that lists all the new IP addresses?
Thankfully, it's more or less straightforward to build this kind of indirection. The content which you can place in a Halo 3 map variant can be derived from about 10 or so "palettes" in the level data. These palettes are fixed, and the order of their elements are also fixed. Well, so long as no one does something like open the level data and go and remove entries or insert new ones. Adding new entries could be done (eg, if we wanted to expand the Forge palettes).
But, let's not and say we did for this next release which is about #FixinMCC. So all that we need to do is now map either an old 360 content ID, or an old MCC content ID, to an ID that is the combination of a palette type and an index within that palette. Simple to say, but not as simple to do. We still need a hard coded table for all of this, since we cannot rely on the map data being loaded. Plus, while working on these fixes I also spent time adding additional sanity checks to the map build process to ensure all Forgeable content actually has the properties defined in order to be truly Forgeable, and not behave like the cardboards on Spacecamp- errrrr, "Orbital".
HALO 2
I fixed some extra flavor stuff in Halo 2's tutorial level. What kind of stuff? Play, and maybe you'll see.
Halo 2 players should also find their FOVs to be a little more tolerable, especially in splitscreen. Oh, and player names will now be shown in the death camera instead of just service tags. Halo 1 also received some touch up for player name shenanigans.
Oh, and I think there's one or two Halo 2 players that wanted to be able to melee-cancel (which still applies the physics impulse, but not the damage). They may be pleasantly surprised.
CONTROL GROUP
Some players should find a few control schemes in Halo 3 and H2A behave as expected or diagrammed.
LOCK & LOAD
I spent a bit of time addressing Halo 1 and Halo 2 loading issues, namely around co-op situations. For example, a Xbox One X loads much faster than a regular Xbox so in Halo 1 it would start cinematics before the client finished loading, causing the client to miss the start of a cinematic once they did finish.
It also came to light that in Halo 1 co-op if a host or a client timed out waiting on one another, they would try and return to the main menu but end up crashing. It just wasn't the right time to try and shutdown the Halo 1 engine. Fixing that was not straightforward and was caught kind of late.
Another Halo 2 co-op loading issue related to entering the next level while in remastered mode - Since the Xbox One X loads faster, they would generally finish loading and be looking at an arbitrary location in the level. The fix for this ended up being rather straight forward I think. I just force the engine to classic mode. This way the network transition screen properly renders (ie, the "Connecting to Session…" pop up) instead of random geometry.
Late Breaking Update (ske7ch's Note: As this blog was going to print, Sean followed up with a real time update on the issue noted above...)
Remember that Halo 1 co-op loading bug I mentioned earlier, then I said I fixed it? Heh, didn't work. So, the Centurion Bond Broth-errrrr, wrong franchise... Turns out, part of the fix introduced a very serious bug. BUT! It, it didn't cause Halo 1 to crash. Whilst not crashing is an improvement, there was no way we could leave the bad fix in the build, no matter how many laughs the bad fix's behavior got among the team (see the video down below).
So at the 11th hour today, Monday, July 2nd, I had to strip out my bad change, do some more deep scrubbing of the code and figure out a fix that worked for both Xbox One and Xbox One X consoles, when either one was the host or the client. Timing issues, and debug-only edge cases caused this to be immensely troublesome to fix before I ran out of time to make our build submission. While I may have lost a bit more of my sanity, you all gained what should be a that-much-more-stable Halo 1 co-op experience and a new bug video from the trenches. Enjoy!
#FIXINMCC BLOOPER REEL
A few changes were made while trying to fix a crash with Halo 1 co-op loading. One of the changes caused this bug below, where various objects in Halo 1 remastered would become attached to other objects. That change was reverted and further work was done to fix crashing.
PGCR
I'm not sure how many, or if any players have noticed, but the PCGR (I think since Flight 1.0…or maybe 2.0) now auto focuses to your entry. Or if you're playing splitscreen, it will focus on the primary player first. I came out of a playtest one day really mad that it was always snapping to the first entry. It's the little things, sometimes. Who knows, maybe the person that first implemented the PCGR also happened to be the best player in the universe and was always first?
HOME STRETCH
Thanks for The Scoop, Sean!
And thank you to all of our MCC Insiders & supporters who have been following along on this wild journey to update MCC. With the start of Flight 3 Early Access we are now officially in the home stretch and the first finish line and the big initial update are finally coming into view. The team still has plenty of work to do – and even grander ambitions beyond the first official update – but we wouldn't have made this far without all the input and support of our MCC Insiders!
Stay tuned to Halo Waypoint for the latest and greatest and keep your eyes peeled for the broader MCC Insider flight invitations coming soon!
FINISH THE FLIGHT
As of July 2, the current MCC Insider build has been updated with the latest work-in-progress bits, which now includes the FULL GAME!* Anyone who participated in the first or second flight should automatically get this update the next time they log in. (*Note that the MCC Insider build does not include ODST content)
This is a really important release for the team because it's the first time the totality of the MCC experience is being made available to our Insiders for hands-on play. It's equal parts exciting and scary as a ton of work has gone into the game up to this point but given how complex MCC is and how much it has to offer, the team is also bracing for a much higher volume of feedback and any number of new issues that inevitably arise.
We're considering the week of July 2 "Phase One" which is the start of Flight #3 EARLY ACCESS. The audience is being kept intentionally small – only the folks who were in flight 1 & flight 2 have access right now. With the help of this small group, we're looking to validate the build, release process, and a large variety of things that haven't been part of previous flights. Once this validation is complete and everything checks out, the next step ("Phase Two") will be opening up the MCC Insider build to everyone in the MCC Insider Program.
Looking further ahead, we envision things kind of branching off and evolving the "MCC Insider Flights" to more of a persistent, ongoing "Test Realm" that will host ongoing updates and iteration to feed back into the retail version of MCC. That doesn't mean our MCC Insiders' job is done though or that feedback, surveys, and the like will cease.
Here's an awesome homemade chart I made to help illustrate what's ahead (apologies in advance to Jeremy Cook for this cringe-worthy work of art):
Of course, we have schedules and target dates internally but with this kind of work it's really hard to pinpoint and given all the external dependencies with the flight performance and the unknowns we're waiting to encounter, we're not comfortable telegraphing real dates just yet. Overall, the better things go in Phase One, the faster we'll get into Phase Two and so on…
If you haven't yet signed up for the MCC Insider Program you still can and we'd love to have you. Check out THIS PAGE for more info and the link to sign-up.
The finish line, at least in terms of the first big update, is starting to come into view and we couldn't be more excited to bring everyone along for the final journey. Stay tuned!
SCOPE & FOCUS
As noted above, the "scope" of Flight #3 is basically the entire game (minus ODST). We're asking participants to spend time playing all the parts of MCC we haven't specifically focused on in our previous public flights: Campaign, Co-Op, Custom Games, Forge, and Theater are all in need of Insider hands-on scrutiny. We'd also love for players to try out the new "Intelligent Delivery" feature as well as the new HDR video settings and "LAN" support! (more on these down below)
The good news is that all of those areas above can be tackled with no matchmaking or population dependencies. However, we are planning for a few coordinated official sessions to promote online matchmaking, which we highly encourage participants to join:
- Friday, 7/6 : 11AM – 2PM PDT & 7PM – 10PM PDT
- Saturday 7/7: 11AM – 2PM PDT & 7PM – 10PM PDT
- Sunday 7/8: 11AM – 2PM PDT & 4PM -7PM PDT
FEEDBACK
As with prior MCC Insider flights, participants can look forward to an official survey in their email inboxes at the conclusion of the flight. And, just like with Flight #2, we encourage and welcome feedback here on the Halo Waypoint forums. Check THIS THREAD for additional details and links to the appropriate targeted feedback threads (Campaign, MP, and Misc/Other). Thank you to our eager players who are already sending in detailed and helpful feedback around a variety of in-game issues!
READY UP
Flight #3 Early Access is underway now and as long as everything goes according to plan we hope to move into "Phase Two" and expand the participation audience as soon as next week. Get ready MCC Insiders, your time is nearly here!
INTELLIGENT DELIVERY
In our last update we shared a first look at the UI for the new "Intelligent Delivery" feature in MCC. This feature is now live in the Flight #3 build and we look forward to players trying it out and sharing their feedback with the team!
By default, MCC will attempt to install the entire ~70GB package. However, once the game displays "Ready to Play", you can launch the game and access the Intelligent Delivery settings to customization your installation specifics.
MCC Intelligent Delivery offers the following options:
- Halo: Combat Evolved – Campaign + Multiplayer
- Halo 2: Campaign + Multiplayer (includes Halo 2: Anniversary MP (w/ Forge) & Halo 2 Classic MP)
- Halo 3: Campaign + Multiplayer (includes Forge)
- Halo 4: Campaign + Multiplayer (includes Spartan Ops + Forge)
Under "GAMEPLAY", select "CHANGE INSTALLED GAMES" to configure which game components to install.
In addition to specific Campaign or MP content, you can also choose which language you'd like to use for all the games – both for audio and text. If the default language chosen isn't supported by some games, you have the option to select a fallback language. Here are the available options:
Audio
- English
- French
- German
- Spanish (ES)
- Italian
- Japanese
- Korean
- Polish
- Portuguese (BR)
- Russian
- Spanish (MX)
- Traditional Chinese (TW)
- English
- French
- German
- Spanish (ES)
- Italian
- Japanese
- Korean
- Polish
- Russian
- Simplified Chinese (CN)
- Spanish (MX)
- Traditional Chinese (TW)
Then select your primary language for Voice and Text along with fallback language choice:
LOCAL AREA NETWORK (LAN)
This new feature is now available in the build for Insiders to try first hand and can be accessed via the "OPTIONS & CAREER" page, "SETTINGS" and then "NETWORK."
Once the "NETWORK" is switched to "LAN", the roster will populate to display all players on the same network.
IMPORTANT NOTE: For the MCC Insider build only, players will need to be connected to the internet in order to play over a LAN. This is specifically for the Insider build, no internet connection is required to play over LAN once the update is released for retail MCC.
The ability to play classic Halo games with friends on the same local network with minimal latency is something players have been asking for since day one and the team is stoked to bring this functionality to this latest build. Give it a shot and let us know what you think!
MATCHMAKING UPDATES
Over the first two flights we received a lot of feedback from players lamenting the lack of skill-based matchmaking and all the one-sided beat-downs that occur when matching with players of a much higher skill level. This was intentionally disabled in the flights as a means of ensuring a small population could find matches quickly but beginning with this week's build, we are implementing a new matching sytem.
Here's Sean "Dersky" Swidersky with some insight on what you can expect when you jump into MCC matchmaking:
Greg recently added a rule for ranked Matchmaking Playlists which imposes a strict 10 level maximum delta for Matchmaking. This rule has an expanding delta effect, which starts at 3 levels and expands 3 levels every 5 seconds when searching. The 10 level gap is very close to the Halo 3 value expansion times in the XB1 system which doesn't align 1:1 with the Xbox 360 system. An example of the 10 level delta would mean that a level 10 player may see both level 1 and level 20 players. It also means the full "group" in the session shouldn't be outside the 10 level gap. That is, having a 1 and a 10 in a session means we cannot have a 20, even with backfilling.
Dersky also notes two other things players should keep an eye out for in this build:
- Players now remain anonymous throughout the Matchmaking process to discourage dodging.
- In the post-game lobby state (not PGCR screen - the returning to matchmaking screen when you hit B from the PGCR), we now retain and display team assignments in this view. So, outside of just the PGCR, you will now see the teams from the previous match while you're in the returning from matchmaking state.
- Loading Into Matchmade Game – Display server status when loading in (ping times, etc)
- In-Game Scoreboard Updates – Add highlight state for current player in all game scoreboards
- Look to ensure end of match scoreboard stays up for 3-5 seconds and audio gracefully fades out
- Exit Experience – Look to add a polished exit experience when leaving a game
- PGCR Refinements – Add refinements to the PGCR (i.e. highlight active player in the PGCR)
MCC UPDATE PLAYLIST SPEC
For past couple months we've been talking with and listening to players throughout the Halo community via forums, Reddit posts, Discord chat rooms, Twitter feeds, streams, Facebook groups, and official surveys.
After spending some time reviewing this player feedback, we shared our initial list of selected playlists for the launch of the MCC Update in the last development blog. While this initial list was a great start, we sought more feedback and began to hear that even more community members wanted an opportunity to participate in the playlist selection process. We heard you and we agreed: Everyone should have an opportunity to weigh in!
So, a few weeks ago we opened up the MCC Playlist Preference survey via Halo Waypoint as another input channel. This survey ran for approximately one week and over 13,000 folks responded!
After a deep dive into all the feedback we have received across every community channel, we now have the updated and final playlist spec for MCC when the retail update lands.
Your feedback will also be used to inform the schedule for rotational playlists to help keep the game feeling fresh week in and week out. Once the update is out, rest assured that the team will be monitoring data and feedback closely to inform ongoing plans and any necessary adjustments.
Here is our final list of the Matchmaking Playlists that will be included in the MCC retail update:
Core Playlists
- H1 Team Doubles
- H2C Team Arena
- H2C Team Hardcore
- H2A Team Arena
- H3 Team Arena
- H3 Team Hardcore
- H3 Team Doubles
- Quickplay Slayer - Slayer offerings across all four titles)
- Crossplay BTB – Collection of BTB offerings on H1, H2C, H2A, and Halo 4
- H3 Big Team Battle
- Action Sack / Infection*
- Free-for-All (Halo 3 to begin)*
Rotational Playlists
Ultimately there's a limit to how many playlists we think MCC can realistically support while still offering players quick matches and great game experiences. To help solve for playlists that are unique yet don't necessarily drive enough consistent participation to warrant full-time inclusion, we're creating a series of rotating playlists that will come and go over time.
Rotational Playlist plans were also driven by feedback across community channels including the MCC Playlist Preference survey. Here's a list of what we're currently building into our rotational plans though this is certainly subject to evolve and grow over time based on player feedback and game data.
- Team SWAT
- Team Snipers
- Team Doubles
- Team Objective
- MCC special event-based playlists
- Community Test Playlists (built entirely from Community created content)
- And more… based on community feedback!
Cheers,
Postums
Thanks Postums! And remember, in addition to a fully revamped offering of Matchmaking Playlists, MCC will also receive a bona fide Custom Game Browser in a future update which will even further support all the game maps and modes your heart desires.
Now it's time to change out of our designer hats and switch over to programmer mode – that's right, it's once again time for an engineering update from our man in the trenches, Sean Cooper…
THE SCOOPTM
Since the last blog, I've been busy doing all sorts of things...
DEV TOOLS
I finally got annoyed enough that a lot of our debug tools and console output were not working correctly…that I fixed them! Namely, they weren't scaling for 4K so it either made them too hard to read or they would overlap things. The QA team also wanted a single "debug claw" for each game's debug menu (the combo used to open the menu) which I saw to.
Another dev-only quality of life improvement I've been working on was making each game's various logs all go in their own folders, instead of stepping on each other's toes. That way it's clear you're looking at the network_debug.txt for Halo 3 and not say Halo 4.
HALO 3
There's some Halo 3 fixes that I'm working on that kind of all tie together indirectly. I'll start with what started it all. So, some may know that the Forgeable cardboard boxes on the map "Orbital" aren't really Forgeable right now. Somehow, someone modified the asset for this object and deleted its properties, which the Forge system requires in order for you to be able to interact with it. That's why they drop out of your hands as soon as you place them.
Then, on the map "Sandbox" the Golf club doesn't actually have a HUD or backpack icon. Turns out, those assets were deleted. This prompted me to perform a folder comparison with MCC's H3 assets and those that shipped with the "blue disk" release (the MP disc that came with ODST on the 360). That's when I realized that there was another missing file. The map "Cold Storage" is supposed to have Flood infection forms running around outside the map. Except the creature asset is missing.
"So", you say, "just add all of those missing files, ship it, #FixedMCC, the fight's finished". Well, not so fast. It's not that simple. Nothing about MCC is ever simple. The Arbiter should really be our spokes…errr, person.
The problem with adding or removing assets to Halo 3 is that you run the very high risk of breaking map variants. Since the 360 days, and up until my fixes go live, Halo 3 map variants embedded content IDs for the things which are placed in them. Content IDs are dependent on the order in which content is linearly added to a map file. Modders know these as "tag indicies". To ship MCC originally, a hard coded table was made to map a 360 content ID to the content ID which it is assigned to in MCC. That lets you ship, but that doesn't solve the problem. If you add or remove content those IDs shift. Here, I'm trying to add back content to make Halo 3 be Halo 3 again. So we have to be more…indirect.
Think of the problem using websites and the internet. We use domain names like Google.com because they're far easier to deal with than IP addresses. And what if the IP address changes? What's the IP address of the site that lists all the new IP addresses?
Thankfully, it's more or less straightforward to build this kind of indirection. The content which you can place in a Halo 3 map variant can be derived from about 10 or so "palettes" in the level data. These palettes are fixed, and the order of their elements are also fixed. Well, so long as no one does something like open the level data and go and remove entries or insert new ones. Adding new entries could be done (eg, if we wanted to expand the Forge palettes).
But, let's not and say we did for this next release which is about #FixinMCC. So all that we need to do is now map either an old 360 content ID, or an old MCC content ID, to an ID that is the combination of a palette type and an index within that palette. Simple to say, but not as simple to do. We still need a hard coded table for all of this, since we cannot rely on the map data being loaded. Plus, while working on these fixes I also spent time adding additional sanity checks to the map build process to ensure all Forgeable content actually has the properties defined in order to be truly Forgeable, and not behave like the cardboards on Spacecamp- errrrr, "Orbital".
HALO 2
I fixed some extra flavor stuff in Halo 2's tutorial level. What kind of stuff? Play, and maybe you'll see.
Halo 2 players should also find their FOVs to be a little more tolerable, especially in splitscreen. Oh, and player names will now be shown in the death camera instead of just service tags. Halo 1 also received some touch up for player name shenanigans.
Oh, and I think there's one or two Halo 2 players that wanted to be able to melee-cancel (which still applies the physics impulse, but not the damage). They may be pleasantly surprised.
CONTROL GROUP
Some players should find a few control schemes in Halo 3 and H2A behave as expected or diagrammed.
LOCK & LOAD
I spent a bit of time addressing Halo 1 and Halo 2 loading issues, namely around co-op situations. For example, a Xbox One X loads much faster than a regular Xbox so in Halo 1 it would start cinematics before the client finished loading, causing the client to miss the start of a cinematic once they did finish.
It also came to light that in Halo 1 co-op if a host or a client timed out waiting on one another, they would try and return to the main menu but end up crashing. It just wasn't the right time to try and shutdown the Halo 1 engine. Fixing that was not straightforward and was caught kind of late.
Another Halo 2 co-op loading issue related to entering the next level while in remastered mode - Since the Xbox One X loads faster, they would generally finish loading and be looking at an arbitrary location in the level. The fix for this ended up being rather straight forward I think. I just force the engine to classic mode. This way the network transition screen properly renders (ie, the "Connecting to Session…" pop up) instead of random geometry.
Late Breaking Update (ske7ch's Note: As this blog was going to print, Sean followed up with a real time update on the issue noted above...)
Remember that Halo 1 co-op loading bug I mentioned earlier, then I said I fixed it? Heh, didn't work. So, the Centurion Bond Broth-errrrr, wrong franchise... Turns out, part of the fix introduced a very serious bug. BUT! It, it didn't cause Halo 1 to crash. Whilst not crashing is an improvement, there was no way we could leave the bad fix in the build, no matter how many laughs the bad fix's behavior got among the team (see the video down below).
So at the 11th hour today, Monday, July 2nd, I had to strip out my bad change, do some more deep scrubbing of the code and figure out a fix that worked for both Xbox One and Xbox One X consoles, when either one was the host or the client. Timing issues, and debug-only edge cases caused this to be immensely troublesome to fix before I ran out of time to make our build submission. While I may have lost a bit more of my sanity, you all gained what should be a that-much-more-stable Halo 1 co-op experience and a new bug video from the trenches. Enjoy!
#FIXINMCC BLOOPER REEL
A few changes were made while trying to fix a crash with Halo 1 co-op loading. One of the changes caused this bug below, where various objects in Halo 1 remastered would become attached to other objects. That change was reverted and further work was done to fix crashing.
PGCR
I'm not sure how many, or if any players have noticed, but the PCGR (I think since Flight 1.0…or maybe 2.0) now auto focuses to your entry. Or if you're playing splitscreen, it will focus on the primary player first. I came out of a playtest one day really mad that it was always snapping to the first entry. It's the little things, sometimes. Who knows, maybe the person that first implemented the PCGR also happened to be the best player in the universe and was always first?
HOME STRETCH
Thanks for The Scoop, Sean!
And thank you to all of our MCC Insiders & supporters who have been following along on this wild journey to update MCC. With the start of Flight 3 Early Access we are now officially in the home stretch and the first finish line and the big initial update are finally coming into view. The team still has plenty of work to do – and even grander ambitions beyond the first official update – but we wouldn't have made this far without all the input and support of our MCC Insiders!
Stay tuned to Halo Waypoint for the latest and greatest and keep your eyes peeled for the broader MCC Insider flight invitations coming soon!