Bringing Minecraft: Story Mode to the Universal Windows Platform (UWP) and Windows Store
Telltale Games has established itself as the master of the episodic adventure game with hits like The Walking Dead, The Wolf Among Us, Game of Thrones, Tales from the Borderlands and, most recently, Minecraft: Story Mode. These storytelling-centered games, in which player choices have long-term effects, are playable on a wide variety of platforms, including Android, iOS, PlayStation, Xbox, and Steam.
In December of 2015, Telltale Games brought Minecraft: Story Mode to the Windows Store. To make this possible, Telltale Games ported their game engine to the Universal Windows Platform (UWP). This port not only allows Minecraft: Story Mode to ultimately be played on a wide variety of Windows 10 Intel and ARM-based devices, but also clears the path for bringing Telltale’s large back-catalog of games to Windows. Today, we’ll look at their porting story and the choices they made along the way.
The Telltale narrative engine
For those unfamiliar with Telltale Games, their adventures are compelling, playable stories; much like a playable movie or TV show. The narrative is tailored to choices that the player makes through both action and dialog, crafting a unique experience where they carve their own path through the core narrative. Their decisions affect the potential outcome of different situations – ranging from details as small as the armor the player character wears, to hugely significant repercussions such as the death of another character who might otherwise live. The player’s actions also affect how other characters relate to them throughout the game, allowing them to “own” these relationships and creating what is often a deeply emotional experience.
Another important aspect of Telltale’s games is their episodic nature. Like a season of a TV show, each game has an overarching season story arc, split into a number of separate downloadable episodes released several weeks apart. In this way, players have the opportunity to discuss the most recent story developments with friends (either in person or online), debate their choices, and generate theories and excitement for what’s coming next.
What’s particularly impressive about the way Telltale Games manages the release cycle for its titles is that each episode is released on multiple platforms at the same time. In the videogame industry, diehard fans don’t like having to wait when other players on other platforms are already able to play ahead. A simultaneous release strategy across different platforms is especially important for Telltale, as their titles are so tightly story-focused and many players are keen to avoid spoilers until they’ve had a chance to play each episode for themselves. So how does the studio manage to synchronize their fast release schedules across multiple devices and platforms?
According to Zac Litton, Telltale’s VP of Tech, they accomplish this by cleanly separating their game creation from their game engine: “We support, I think, up to 14 platforms right now. We have a single toolset we use to build content for all those platforms. So we’re kind of always in the state of porting. The studio builds the game with our toolset. And then that same code base cross-compiles to every single platform we’re going to support.”
Thanks to their architecture, Telltale doesn’t need to port each and every episode of Minecraft: Story Mode over to the Universal Windows Platform (UWP) in order to get it into the Windows Store. Instead, they only needed to port the Telltale engine once, and from there, all episodes will run correctly. Based on their code check-in history, Zac estimates that it took a couple of developers only about three months to go from an initial build to getting Minecraft: Story Mode shipping on the new platform.
Porting tactics versus porting strategy
Benn Herrera and Michael Schwartz, both senior software engineers who worked on the port, say that a large chunk of the initial time spent on the port didn’t even have to do with UWP, in particular, but with the story behind some of the engine’s past migrations. From a tactical perspective, much of the porting involved working with different versions of DirectX.
“We started with a PC DirectX 9 engine version,” said Benn, “and the Xbox One DirectX 11 with Xbox extensions engine and sort of combined these build configurations to create a desktop DirectX 11 version—and then did the UWP version. So that first initial step is one not a lot of developers are going to have, because most of them are going to probably be starting from DX11. So if you skip that part, the transition to working with UWP was fairly straightforward.”
Once the port of the Telltale engine was completed, Telltale Games was in a good place to accomplish several strategic goals, the most obvious of which was getting their games onto a wider variety of platforms through a variety of channels.
While Steam was their starting place, it lacked the sheer breadth of reach, particularly to casual and first-time gamers, that the Windows Store and UWP could offer. In short, the port to UWP was a tactical move to allow Telltale to find additional ways to get their games in front of a larger audience of players.
Currently, Telltale Games is targeting PCs and laptops in the Windows 10 market, but they already have a build of their story engine that could be used for Lumia phones running Windows 10 as well as future Windows 10 devices. Based on their extensive experience with mobile platforms and gaming consoles, the UI changes involved with smaller screens as well as larger screens is easily surmountable now that the technical challenge has been solved.
The biggest strategic win for Telltale, however, involves looking backwards toward their past achievements. Telltale has a broad and successful back catalog of games that they can now bring into the Windows Store. “Our strategy will be to bring our back catalog over there because that’s the reason we do ports to platforms,” Zac noted. “Minecraft is the first, because obviously it’s a good title for the audience who is using the Windows Store. But yes—we intend to bring everything out this year as soon as we can.”
Racking up achievements
Because Windows Store games need to support Surface Pro tablets, Michael and Benn ran into an interesting situation regarding input devices. Previous ports of the Telltale engine have included platforms that support touch input as well as game controller input. They have also ported to platforms that primarily use a keyboard and mouse for gaming input. The Surface Pro, however, was the first time they had encountered a scenario in which all three input modes have to be considered: touch, keyboard and mouse, as well as a game controller.
This ultimately only required some minor changes in UI logic. If a user switches his input device, the affordances and game prompts shift to match the last input device used. For instance, if an arrow key appears to prompt the user to go left when using a keyboard and mouse, this might be switched out for a swipe left affordance if the player used touch most recently.
Another interesting discovery Benn made while performing the port to UWP was that they could compile for ARM devices. “I said, okay, let’s have it generate an ARM build and we got it compiling pretty much on the first try. We didn’t have a UWP ARM device to test it on. But it was promising that once we solved the configuration problem for one architecture, it looked like we were a really big chunk of the way towards having this available for other processors.”
The engineers also added Xbox Live integration to the UWP version of Minecraft: Story Mode. Whereas Minecraft: Story Mode is an Xbox Live title in the Xbox marketplace, it is now also a Windows 10 title that supports Live. This allows players of the Windows Store version of Minecraft: Story Mode to participate in leaderboards and achievements, just like their Xbox counterparts.
The Telltale porting story, like all good stories, is likely to spawn many sequels. By making the choice to bring their game engine to UWP, the team at Telltale Games have opened up many potential paths for their future. Not only are they planning to bring us additional Telltale games on Windows Store over the next year, but they’re also planning to bring these games to additional Windows 10 Intel and ARM-based devices down the road. Who knows? A mixed-reality HoloLens version of The Walking Dead or Game of Thrones in your living room might just be on the horizon.