Some Scoops of Modding
Scoops has spent nearly two decades reverse engineering Halo from outside the studio prior to joining 343 and the Halo Publishing Team. Back in 2018, Jeff Easterling sat down with a newly-hired Scoops to interview him for the 343 Team Spotlight in the Travel Time community update.
In this very robust interview, Scoops broke down the awesome projects he worked on over the years. and how they helped forge his path to eventually landing a job on the Publishing Team here at 343 Industries. To summarize the interview simply won’t do it justice. I truly hope you go read the original HERE as it’s very worth the read.
For those who don’t want to click links and scroll further, the interview included his history of building tools for modding Halo, how his involvement and learnings from these efforts helped him land jobs in the game industry, and some conversation around how reverse engineering Halo games helps him dive into source code of the same games.
For my piece, rather than reheat the questions Scoops has already answered, I wanted to poke around and ask him about the future of modding in Halo: The Master Chief Collection and some of the goals he has about making modding Halo easier for folks that don’t have access to source code. So, let’s sit back and take a look!
Postums: Hey buddy, thanks for taking some time to chat with me about some of the work going on around modding with Halo!
Scoops: It has been a little bit and I always enjoy sharing some of the finer details when I can.
Let’s dive on in: what are some of the goals you have achieved in helping make modding easier for the community since you joined the team?
S: That’s a bit of a hard question to answer, as not all goals have been deployed yet! My focus on modding has been for Halo Wars 1 & 2, plus MCC. I did a lot of documentation on reverse engineering various Halo Wars file formats before joining 343 (in the process of getting everything moved over to github right now). Before I started at 343 I had also worked on a tool to disassemble and then re-assemble game variants (aka game types) for Reach and Halo 4 so people could modify the “megalo” script data that’s found in them.
(Here is an older video of some of the modified content Scoops worked on for HaloCE)
For those not familiar, Reach and Halo 4 basically used scripts to create modes like CTF, Race, Invasion, Dominion, etc. In prior Halo games, they were hard coded in C++. Well, that tool was not Windows 10 ready, was entirely command line, was closed source, and had a few other issues.
So recently, I spent some free time to finish porting that code to some open source projects and releasing a GUI version of the tool to make it a little easier to work with. It would be cool to someday be able to share the official MegaloEdit tools for the games, but the logistics of how possible that would be are still being figured out. We make no promises, but we’re not just sitting around doing nothing, either.
Besides that, I try to answer engine questions where I can. People have some really far out there modding ideas, so I try to ground some things in reality.
What are some things you would love to focus on if time permits?
S: Too many things to note, some of which I would not go on the record as saying because I’m sure someone will read it as “343 is definitely doing X…where is X?? it’s been a week already!”.
So, I’ve got to work on a bunch of networking issues and solutions (esp. for Halo: Reach Firefight). I’m hoping as the remaining MCC PC games roll out to be able to not only take some of the optimizations I made in Reach back to other games, but also some of the networking changes we made to support asynchronous Player-vs-Enemy to other games. Many modders have realized AI now sync in MP games. This is thanks to the asynchronous Firefight work we did. So, it would be cool to bring this functionality to Halo 2 and up, even when those games don’t have Firefight. Yes, I excluded Halo 1 because at this point in time it doesn’t even share the same networking and simulation architecture that was laid out starting in Halo 2. Bringing this support to the other games I think could help promote some of the crazier ideas people have had. And that’s how my time, or any engineer’s time, is best utilized: writing code that empowers others to do their work.
I’m wanting to take more content to human readable files (JSON/XML) instead of just opaque binary files. I’m wanting to improve error handling so when the mod makers venture out in some wild ideas to try and do things, we’re a little more resilient in our handling of things.
And of course, tools. What kinds of tools? Whatever we can work out the logistics of.
If you could give one piece of advice to those who are looking to build mods for Halo, what would it be?
S: Wear sunscreen. But just as important, be kind to your fellow mod makers and share your findings. It really pains me to see people get holier-than-thou with their abilities to use tools, often made by the community, to mod the games or hold back information that would allow others to prosper. I keep a poo-poo list of people I see doing this. I have no desire to help them, because they are not helping the community engage in healthy development. Just as how people can be jerks or ruin games on XBL. In my opinion, what Phil Spencer wrote about earlier this year doesn’t just apply to video games, but also modding video games.
(Scoops showcasing the HCE OpenSauce mod tool)
The people you help or find in the community could be your next co-creator on a really cool modding project. Those same people could end up helping you land a gig in the games industry if that’s what you desire. It’s crucial to be able to work and develop well with others. Having projects that are not just solo works of art can help exemplify this. The games industry is all about networking too. A lot of times, we end up in the places we do because we know someone already there and they can help vouch for us or aid to make us stand out from the rest.
Thank you for your time, Scoops. I know modding is a passion of yours and both you and the Publishing Team have all sorts of ambitious ideas for things you hope to someday bring to MCC. In the meantime, it’s exciting to see what the community has already done on their own. Something tells me that we’re just getting started.