With the upcoming June 16 launch of The Elder Scrolls Online on Google Stadia, we reached out to ZeniMax Online Stadia Project Manager Eric Buhlman to find out how smooth the transition was to developing for Stadia, how the team made use of the cloud technology and the potential for games the Stadia can unlock.
Why did you choose to bring ESO to Stadia?
We’re a large game, and being able to stream ESO makes it more accessible. One of ESO’s primary pillars is player choice, and Stadia helps us give our players more of that.
How smooth was the process? With so much content and code that dates back many, many years, it’s very different from porting a new or recent release… what were the sticking points?
ESO was already structured to support multiple platforms and was able to utilize some of that foundational tech, so the initial setup went fairly quickly. Some of the challenges that we faced along the way have come from optimizing that foundational tech. Additionally, our game is exceptionally large, and has a lot of unique complexities. We worked alongside Stadia as the platform was being developed and that gave us the ability to work together towards solutions. Stadia has made a lot of improvements that helped make sure our development and final integration was as close as possible to other platforms.
What is it like developing for a cloud-based platform?
For as long as the team has been working on our integration, it’s still a magical moment for us to see ESO launched on a smartphone. We’ve had to make some adjustments to our workflows and publishing pipelines to account for Stadia, but now that everything is in place it’s incredibly rewarding to see such a large game made portable.
Did you have access to a physical Stadia dev kit, or did you develop in the cloud?
We started off using dev kits, but soon transitioned to cloud instances after working through our initial infrastructure setup.
Stadia has next-gen levels of performance, how have you made use of that?
We worked closely with the Stadia team to find the best balance between performance and visuals. Our goal was to have the streaming performance roughly equivalent to consoles.
While this is obviously a port of an existing title, have you been able to take advantage of any of the platform’s more unique features?
Stadia’s Crowd Play, Stream Connect, State Share, and other features are all really interesting, but our main focus right now is launching an ESO experience on Stadia that’s equivalent to other platforms.
More broadly, do you think cloud platforms such as Stadia open up new potential for MMOs?
As streaming platforms like Stadia reduce technical limitations, studios will be given new design possibilities. Games will slowly take advantage of capabilities offered by cloud streaming, and it will undoubtedly raise the bar for what players expect out of MMOs.
Given that Stadia players will be able to jump into a game easily, from anywhere, are you expecting that to affect how such players engage with the game?
Traditional gameplay won’t go away, but it’s likely that we’ll also see instances when players jump in on Stadia with different play session lengths and different goals in mind. Stadia gives players more options on how and when they can play ESO, and we’re really looking forward to seeing what they do with it. Just being able to check your crafting timers from your phone or log in to get your daily rewards from your phone is amazing and will change how some players interact with the game.
Why was it important to bring cross play, progression and entitlement to Stadia?
Our cross play implementation allows players to switch between PC/Mac, Steam, and Stadia while maintaining access to characters, progression, and purchases. ESO is all about giving choices to players, and cross play embodies that. Players put a huge amount of time into developing their characters, and it’s important that they don’t lose that if they want to play on another PC platform like Steam. We’re fortunate to be working with platform partners like Stadia and others that also see the value in this