(upbeat music)
Hello, everyone,
and thank you so much for joining our Stadia Technical Session:
Less Time Porting and Certing, More Tme Creating.
Today you’ll hear from myself.
I’m Elisabeth, a product manager on the Stadia team,
as well as Ryan Bartley, a PM joining us from Austin, Texas,
and Robert Adelmann, one of our PMs based in Munich, Germany.
The focus of this presentation is how we’re making it easier than ever
to bring your games to Stadia.
We spent the time since Stadia’s launch, listening to partner feedback
and working to address some of the largest challenges they experience.
We’ll be discussing the investments we’re making
to make this process easier and more efficient.
First, I’ll begin by covering the developer iteration improvements
we’re making to help automate and simplify some of the more manual
and tedious processes on Stadia and how we're beginning to really lean
into the cloud native nature of our platform.
Ryan will then dive into everyone’s favorite topic, certification,
and describe how changes we are making are expected to reduce the churn
and pain it takes to meet and pass Stadia’s technical requirements,
as well as the continued improvements we’re making
to the overall process of certification and publishing.
Finally, Robert will discuss the work we’re doing to make it easier
to bring Unity and Unreal titles to Stadia
as well as specific investments for custom engines
using the Stadia Porting Toolkit,
which we’ll continue to build out and add to over time.
To start, I’m going to talk about some of the recently launched
and upcoming features that help support the developer experience on Stadia.
Specifically, a set of cloud-native development features,
focus on making easy to launch, manage, and review your developer sessions.
First, let’s talk about testing on endpoints.
One of the best things about Stadia is that it works across a variety of screens,
whether you’re playing on your old Android phone, Mac laptop, Chromebook,
chances are Stadia is just going to work.
But for Stadia developers testing a title across mobile TV and web
has historically been a painful process requiring developers to do quite a bit
for what should be a relatively common workflow.
And the data supports this.
Almost 90% of developer sessions are in Test Client,
which is our developer side streaming client.
Now, while the experience in Test Client
is similar to that of playing as a player on web,
it doesn’t have all of the client-side side features gamers expect like achievements.
And if you look at player endpoints, for example, Chromecast,
fewer than 1% of developer sessions are on TV.
TV is where we see some of the strongest engagement in the part of players.
This data shows that most sessions aren't being tested
in environments that gamers actually play on.
If it were easier to test on all screens, we’d expect a better distribution of testing.
To address this common pain point,
we are taking advantage of the benefits of cloud development
and making available the ability to watch the TV, web, and mobile
in just one step from the command line,
Visual Studio or a developer site, the Partner Portal.
This will enable rapid iteration without additional steps.
We expect this to save hours in the life of a Stadia developer.
This feature is going live first for launches to web
and then mobile and TV over the next few months.
Now, being able to easily test your title on all endpoints is just the start.
We're also launching a new set of cloud native tools
that will enable you to have the capabilities and powers of a developer
while playing as a gamer, no matter what endpoint you’re on.
Our new suite of cloud native tools
will also unlock new use cases for distributed collaboration.
Test Hub will enable developers to seamlessly test
their games across mobile TV and web
while getting all of the tools and real-time data they need
to understand and control their game.
This allows partners to debug issues of comprehensive logs
and feedback both during and after the session.
Test Hub will become the best place to launch a game,
debug the game when things go wrong,
manage a game and control platform variables of the game
like setting resolution overrides or emulating different network conditions.
So you could be playing a game on Chromecast
and real-time monitor your frame rate stability in Test Hub,
or see log streamed in real-time in the browser as you continue to play on TV.
We’re launching Test Hub in a series of phases.
Our initial launch in the coming months will be focused on
tooling, consolidation, and improvement specifically bringing features
from the Stadia Developer Chrome Extension and Test Client in one place
with priority given to STR graphs and tools.
Over time we’ll continue to add functionality to Test Hub,
supporting every component of the developer lifecycle.
The data available to Stadia developers is extensive and growing,
but the process of extracting and saving that data
is a challenging and manual process.
This is why we launched Game Runs,
which seeks to improve this experience by automating
the capture retrieval and display
of useful data surrounding a game’s execution.
Game Runs are a new persistent repository
of all the game logs, session data, artifacts and other information that are generated
while playing your game, captured automatically
which you can share with anyone in your team anywhere at any time.
No more downloading log files or wondering what build you're running.
It's all right there, accessible through unique Game Run URL.
We expect this feature to significantly improve distributed
cross-team, cross-geo collaboration.
With the upcoming launch of Test Hub,
you’ll have access to all of your past Game Runs in one place.
Now I’ll hand it over to Ryan to talk about
how we’re making publishing and certification easier for partners.
Hey, everyone. I’m Ryan.
Great to be here talking to you virtually from my house in Austin.
I’m a PM on Stadia, and today I’ll be detailing several ways
in which we are making it easier to certify and publish your titles on Stadia.
For those that don't know, certification is the last hurdle
before launching a game in the Stadia Store.
And it’s something that exists on almost all of modern game platforms.
Certification checks a number of requirements
called Stadia Technical Requirements, or STRs,
to ensure that Stadia players are getting a reliable experience
when they play a game on Stadia.
Historically, this process has been quite difficult
on Stadia for development teams, as you can see,
but we’ve spent the last year listening and learning from our partners
to reduce the overall effort certification takes.
These efforts were focused on three main areas of improvement.
First, we’ll talk about simplified requirements.
We’ve simplified and removed several existing STRs
so it’s easier for your development teams to fulfill the requirements
while still maintaining the level of quality that Stadia players expect.
Next, we’ll dive into more tooling enhancements and how the Game Runs feature
will help your team pass certification faster and more efficiently.
Finally, we'll highlight decoupling,
a project that allows your team to work in parallel,
ensuring high efficiency and throughput.
With all these improvements, we have one overarching goal in mind,
enabling all partners to pass certification on their first try.
Now, let's talk about each effort in a bit more depth,
starting with simplifying the STRs themselves.
Just as an example, at launch, we require all games
to run at 4K HDR surround sound.
This was an admittedly hard target for many partners to reach.
Since then we've removed these requirements for games
that don’t already support these features on other consoles.
We know that certain requirements are more difficult
for your game to reach than others.
That's why over the last few quarters,
we have been working to simplify and remove any STR
that doesn't add sufficient value to our players experience.
In total, we've removed around 30 different test cases
and simplified more than 25 of our most complicated STR test cases.
And we're just getting started.
We’ll be introducing several new updates soon to make the requirements even easier to meet.
Predictability and stability are also key areas we’ve improved on.
When we launched, we were releasing SDK and STR updates every three weeks.
We’ve sought to slow down our release cadence of STRs
and freeze our SDK update requirements,
giving your team the time it needs to stabilize your game before release.
And to make sure we’re not introducing any more unnecessary STRs
or making any changes that don’t need to be made,
we created an internal review board for all things STRs
that ensures these requirements are meaningful and achievable.
We hope these changes give teams ample opportunity
to make their games great without worrying about Stadia certification.
Once your team learns the requirements though,
the next step would be testing these requirements out on your actual game.
I’m excited to say that we made a lot of improvements here.
Originally, the process of testing STRs could be pretty frustrating,
a lot of enormous CLI commands,
SSH-ing logs and checking charts to determine
what we may have meant by each requirement.
Since then, we’ve leaned into the cloud-native nature of Stadia
and not only simplified the process
of knowing you’re in the right testing environment,
but also automated the processing of STR test case results themselves.
Our goal here is really to make it so you don’t even have to install a Stadia SDK
to test your entire game for certification.
Getting into the correct environment and being able
to rely upon the results is incredibly important to us.
To push this further for certification, we created a small set of configurations,
your team and our certifications team
will use when launching the game that will reduce what we heard over and over
about how difficult it was to know you’re in the right environment.
We've even gone one step further by giving you a way
to change your entire environment into the certification environment.
This will let you test things exactly like certification does.
The STR Scorecard is a post-run summary
attached to the Game Runs feature Elisabeth spoke about earlier
allowing teams to receive and share automatic feedback
into how their game would perform during technical certification.
The Scorecard currently supports many STR test cases,
and we’ll be rolling out support for all other STRs over the next few releases.
Further, the Scorecard and Game Runs
will become a permanent feature of the certification report
so that you can reliably get the information that you need
and understand how to use it.
Each certification will therefore come with the correlating Game Run and STR Scorecard.
We’ll also be adding other things to the run that may be helpful,
like links to any crash dumps we may have
or images and video to help your team solve issues faster and easier.
We’ve already received a ton of positive feedback from our certification operations
that these tools are going to be really helpful,
and we can’t wait to begin rolling this out to our partners.
Finally, let's talk a little bit about some improvements
we made to the actual submission process.
Partners spoke to us about how difficult it was
to have multiple teams submitting and iterating
during the actual certification process.
And while our goal is only one certification,
we know there will be times when partners need to change things in parallel.
That’s why we created the project called Decoupling.
When we launched the certification process,
the entire process bunched around the submission,
all parties had to prepare their entire submission
and submit it all at once.
This became a big problem as different teams worked
at different paces causing a log jam effect.
Over the past year, we invested heavily in this process
to split out the technical parts of the submission assets
from the store and pricing assets.
This allows your development, publishing, and marketing teams
to operate independently from one another and at their own pace.
The feature is called Launchpacks.
In other words, you can submit store assets for certification to make sure everything
is in the right place and will show up properly for consumers,
right alongside, or before or after, your title goes into technical certification.
We hope to keep making this better and better over time
by removing and consolidating unnecessary process requirements.
Since we launched this in Q1, we’re already hearing great things about it,
and we’re going to continue to improve upon it to increase your team’s efficiency.
Even though many of the things we've talked about today
are just coming out or will come out soon, we’re already seeing our goal
of one single certification trending in the right direction.
This trend line shows that the number of average submissions per title
has been dropping over time and we're going to keep working
to lower this number until it reaches one.
Next, we'll speak to Robert about the porting journey
and third-party engine support with Unity and Unreal.
Hi, and a very warm welcome from Munich.
I’m Robert, and I’m going to talk about porting improvements.
Let's get started with Unity and Unreal.
In the next three slides, I’m going to show you what we did already
and what we're actively working on at the moment
to ensure that we come to it even better integration
with these powerful creation ecosystems.
The first goal is quite clear.
We want to make sure that development workflows
are even more seamless and things just work out of the box,
both for development as well as certification.
In order to get there, we’re at the moment finalizing
our support for platform agnostic APIs so you as a developer
can stay as much as possible in your Unity and Unreal world.
And you only have to take a look at a Stadia API
if you're working on very platform specific topics.
As a second thing, we are continuously improving our integration.
Just some examples of recent improvements.
If you're working with Unity,
you do not have to open a manual SSH tunnel anymore for debugging.
We improved file transfer speeds.
We have now full out-of-the-box support
for Unity and Unreal games in our own CPM system profiler.
So you can take a deep look at the game and optimize aspects,
and we improved expression evaluation and NATVIS support,
which would come in very handy, specifically if you’re working with Unreal.
A second goal we’re pursuing is to support you as a developer around a few aspects
where Stadia differs compared to other platforms.
This means generic controllers, hot swapping of input types,
because this can be quite time-consuming.
A second pillar of support is around
network latency compensation, network reliability testing,
so everything around the cloud nature of our platform.
As a third pillar of support, we also want to help you
if coming from a modified engine version based on source code,
or a completely custom engine.
And in this case, you have basically three options.
You can always upgrade to a newer version of Unity and Unreal,
but this can be time-consuming.
Or in case of Unreal, you can use a library of code components
we’re going to provide to make sure your game runs on Stadia.
Or you can use the Stadia Porting Toolkit,
which I’m going to introduce in two slides from now.
Last but not least, we're improving our examples and documentation.
Regarding documentation, at the moment,
we’re integrating the official Stadia documentation better
with the Unity and Unreal documentation.
And regarding examples, you can expect three things.
First, a complete game that certifies out of the box
that shows you how things are working holistically together.
But in addition to that, we’ll also add specific examples for key aspects
and you can expect examples for Stadia exclusive features.
In case you’re coming from a standard version of Unity and Unreal,
things would just work out of the box.
In case you’re coming from a modified version or a completely custom version,
then the Stadia Porting Toolkit has the potential to drastically reduce
the effort required to bring a game on our platform.
The goal is quite clear:
to reduce time to first light because this will reduce project risks.
The idea is that it can keep your game, your Windows game, as much as possible,
and you do not have to develop against new APIs,
but you can just link against new libraries
and most things would just work out of the box.
So specifically you do not have to change your game from DirectX to Vulkan.
The Stadia Porting Toolkit consists of two parts.
The key part is a set of translation libraries,
and we have already early access versions of translation libraries
from DirectX 9, 10, 11 to Vulkan
and we're actively working on more.
At first, feedback from partners is very promising.
So we’ll definitely continue along this line and extend our API support.
The second component inside the Stadia Porting Toolkit
is a set of tools we’re still actively working on.
These tools will help you to bring your source code over on our platform.
This means things like ensuring source code compiler compliance,
but also supporting you around aspects like 32-bit to 64-bit conversion.
When it comes to porting, one aspect is bringing over the big blocks,
like DirectX to Vulkan,
and around these big blocks, the Stadia Porting Toolkit will help you.
In addition to that, it’s also a lot about
the general quality of development tools because you will iterate a lot.
You will debug, build, and optimize things.
And when it comes to development tools, we made major improvements.
So when you take a recent version of the Stadia SDK
and compare it to the Stadia one year ago,
now you can step 10 times faster through code in Visual Studio.
We drastically improved the up and download times from files to and from the instance.
We have much clearer error messages now.
We also have our own CPO and system profiler Orbit,
which is already part of the SDK and which will keep improving.
This tool gives you holistic insights
into how the different components of the system are working together.
And we have an early access version of our own GPU profiler,
which will give you deep insights on the graphic side,
both into the what as well as the why.
And you can expect more.
Like Elizabeth said, more tools which will increasingly leverage the cloud nature
of our platform for better collaboration and remote work
and very soon you can also expect, for example,
intuitive uploading and distribution of large asset files.
With that, already coming to the end,
I want to leave you with three key messages.
The first is that both development as well as certification
on Stadia is getting easier.
It’s actually getting much easier,
and we're getting there based on the three pillars of work
you've heard about in this presentation.
First, we’re increasingly leveraging the cloud nature of our platform
for better collaboration, better remote work.
We're going to ease certification,
provide you more transparency and automation around the certification process.
We will continue to improve our development tools,
and we're going to provide you dedicated accelerator components
like the Stadia Porting Toolkit,
which will very considerably reduce the effort
when bringing a project on our platform.
Now is, therefore, a really good time to get started with development on Stadia
And if you’re interested, please go to stadia.dev.
There you’ll find more information.
On behalf of Elisabeth, Ryan and myself,
let me say thanks a lot for your time today,
and we are very much looking forward to seeing you in person hopefully soon.
(upbeat music)