By GrimBrother One -
It’s no secret that one of the most amazing things about Halo is not just what its creators can do with it, but what its community can do with it. Whether it’s amazing creation in Forge, epic multiplayer montages, or deep lore breakdowns, the Halo community continues to amaze us all with their talent and creativity.
Yet another avenue for that creativity is through the leveraging of Halo’s public API. Most recently, fans and fledgling developers used the Halo 5 Public API and used that data to create a wide array of awesome applications to enhance your Halo 5 experience through a variety of means.
With this in mind, we’re excited to begin giving Halo Wars 2 the same treatment. In order to help explain what all that means, we sat down with Software Engineer Jacob Snyder and Technical Producer Tamar Goldberg of 343 Industries to pick their brains about some delicious deep-data details.
Q: To start off, can you talk a little bit about what “API” even is? What does it stand for, and what does it do?
JACOB SNYDER: Sure! An “API” is an Application Programming Interface. Essentially, it’s a way that we can publish a documented and supported method for developers in our community to interact with the services that power the Halo titles we’ve released. This allows developers to retrieve player and match statistics to display in their own experiences. Using the Public API for Halo 5, the talented developers in the community built impressive applications, and I’m personally really excited to see what is built for Halo Wars 2.
TAMAR GOLDBERG: Same here! Simply put, APIs are gateways given to developers in order to access information and operations in an application. So, for us, Halo 5 and Halo Wars 2 are the applications and the Public APIs give developers access to a wealth of information about games people have played.
Q: What are some of the most common projects that you see from the community using these numbers, and are there any particular types of stats that you feel are especially important to note?
JACOB: With the Public API for Halo 5, we saw projects that would inspect a player and the matches they participated in. When we added the ability to retrieve the play-by-play events for a particular match early last year, we saw some impressive diversity in the types of applications that developers came up with. Due to the enthusiastic response we saw for Halo 5, we’ve included the ability to retrieve the play-by-play events for a Halo Wars 2 match from the initial launch. We’re hopeful that this will inspire developers to continue to run with the data and present it in new and exciting ways for Halo Wars 2.
TAMAR: We’ve seen a great variety of applications and websites built using the Halo 5 data; some use the data to help players track their progress and understand how they perform in games, some help players compare their own Spartan to their friend’s, others use the events stream we provide to show the progress of a match, find hot spots and sight lines and help players fine tune their play style.
Needless to say, we keep being amazed by how talented and creative the API developers are!
Q: Tell us a little about the team that works on this kind of stuff – who does what?
TAMAR: The core team for the APIs: Jacob, who’s an engineer working on the underlying services and the one that wrote most of the documentation and provides technical support in the API forums. The Community Team has primarily been working on managing the outward communications side of things, and I am the producer for the APIs who helps put everything together.
JACOB: I think Tamar answered this question pretty effectively, and I do want to stress that the small team she mentioned is just the outwardly-facing tip of the iceberg. Behind the scenes, we have entire teams of engineers and producers that built these services over years of time to support these titles.
Q: Very true indeed! Talk a little bit about the relationship between what role API can play in an RTS vs a shooter. Are there any key differences and/or similarities?
JACOB: I think there certainly are similarities. Developers can make similar queries for Halo 5 and Halo Wars 2: player match histories, match details, and lifetime player summaries. The data returned in these queries has a significant amount of overlap. Therefore, it’s definitely possible to build an application that allows a player to investigate their match history and match details.
The differences between the titles is what I’m most excited about though. Since Halo Wars 2 is a strategy game, gamers will establish the notion of a “meta” as the most viable strategies are discovered. That’s not to say that there’s not a meta in Halo 5 – and we’ve seen applications built using the Halo Public API that explore this a bit by aggregating heat maps and other cross-match data. However, I expect that the meta for Halo Wars 2 to be more prevalent. Applications could explore build orders, unit counters, effective strategies, efficacy of decks, and more. Our community is passionate and creative – I’m sure they’ll come up with some great applications that allow players to improve their Halo Wars 2 skills.
Q: So, what are the specific details that players need to know for this HW2 public API release? What’s coming now, and what might be in the works for later?
JACOB: Honestly, there shouldn’t be much of a difference for developers between the Public API for Halo 5 and the Public API for Halo Wars 2. The portal, registration process, and support forum are all the same. We renamed the existing Halo 5 operations to include the title (“Halo 5” or “Halo 5 PC”) and we added new operations for Halo Wars 2. The data returned by these operations is different, of course, since the titles are fundamentally different. Developers should expect to interact with them in a similar fashion though.
At a high level, the new Halo Wars 2 operations can be grouped into a few categories: player operations, match operations, and metadata operations. The player operations retrieve information about a player’s campaign progress, match history, playlist ratings, lifetime stats summary, and experience. The match operations can retrieve a match summary as well as the play-by-play events that occurred in a match. Lastly, the metadata operations retrieve names, descriptions, and other information about the objects returned in the other operations.
In the future, we plan on continuing to support the Public API for Halo Wars 2 just as we did for Halo 5. If we modify existing operations or add new operations, we’d like to include them in the Public API. Furthermore, we’ve already received some questions asking if we’ll be running a Hackathon like we did last year with the Public API for Halo 5. This is definitely something we’re exploring, and we hope to have more updates on this in the future!
Q: Sounds awesome! Anything else you’d like to add?
JACOB: I know I’ve said this many times already, but I can’t stress enough how excited I am to see what the community produces using the Public API! And, as always, if there are questions or suggestions regarding the Public API, please leave them in the forum and we’ll do our best to address them.
Needless to say, we're all incredibly excited to see what the community uses this data for, so now that the power is in your hands... what will you create?