♪ [MUSIC] ♪
[NARRATOR] Welcome to Unite Now where we bring Unity to you
wherever you are.
[LUKAS] Alright, this is First on Stadia: How 2 Indies
built
My name is Lukas. Previously I have shipped games
on nearly all platforms: PC, console, mobile and even VR.
I am one of the senior programmers here at Coatsink.
We're an indie development company and publisher,
and we've partnered with Moonshine Studios
to co-develop and publish
Get Packed
full of calamity and physics-based carnage.
It's got 1 to 4 player, local and online co-op
with campaign and destruction game modes.
Of course, it makes a lot more sense if I just show you
so here's the trailer.
♪ [MUSIC] ♪
[CAT MEOWS]
[TRUCK BEEPING]
[CHEERS]
[HONKS] [BRAKES SCREECH]
[CHEERS]
[PHONE RINGING]
[FUSE BURNING] [CRASH]
[EXPLOSIONS]
[PIANO SMASHING] [GIGGLING]
[CRASH]
[HORN] [CRASH]
[EXPLOSIONS] [GIGGLING]
[EXPLOSION] [ALARM RINGING]
[EXPLOSION]
[HONKING] [CRASHING]
[APPLAUSE]
[LUKAS] First I'll be talking about why we chose
to release on Stadia, and why Unity was the best way to do that.
Then I'll go a little bit deeper into how
was built in Unity, which tools we used for it
and why we found them useful.
Then I'll dive into the Stadia-specific stuff,
what did it take to get the game running on Stadia
and how do we implement its various features.
Last but not least, I'll tell you about an exciting new program
from Google to bring more of Unity's indie games
onto the Stadia platform.
Real quick, this talk is intended for indie developers
working in Unity, or those aspiring to work in Unity,
and it's meant for anyone who might want to bring their game
to the Stadia platform.
For those unfamiliar, Stadia is Google's brand new
cloud gaming platform.
There is no physical console required.
All computing happens in the cloud,
and it streams high fidelity gameplay right to your screen.
This is an exciting development, and something
we really wanted to try out. Just imagine
it's like buying a game on Steam,
except there's no client to install
and you don't even need to download the game,
you just click play and it loads up immediately.
And then even on an old laptop, it'll run at 60 FPS
on the highest settings, no need to buy a gaming PC
or the latest console.
Of course, this was uncharted territory for us.
There were so many unknowns in terms of the development process
and how to build for a platform like this,
especially with it being in the cloud,
but we had a great experience with it,
especially using Unity, who had production-ready support
right out of the gate with all the tech and tools
we needed to bring our vision for
On top of that, seeing so many other Unity developers
ready to help and share and discuss,
it's such a great inspiration, and it's why Moonshine Studios
decided to make their first game in Unity.
So I think it's time we give something back,
and I'd like to tell you our story, and hopefully it inspires you.
Alright, let's talk about the core Unity tools we used
to create
than I could ever cover, so I'll specifically talk about
the ones that were the most useful during the development
of
You might already know that the Timeline is great
for creating cutscenes.
You have lots of control over the camera,
animations, and timing,
but another cool application
is to use it for gameplay prototyping.
You might not be sure whether a new mechanic will be fun,
so why not try and build it with a Timeline
before diving into code.
And it might look a bit silly,
but it can give you a quick idea of whether something will be fun,
and if you think the feature might be worthwhile
you can build it out fully. And as you can see,
for the forklifts this workflow turned out great.
Now, one of the most impactful systems was
the Prefab variant system.
With Prefab variants you can make as many variations
as you want from a single base Prefab.
For example, you could have multiple characters
that behave the same, but look different.
When you want to make a change and apply it to all variants,
you can just change the base Prefab,
for example, if you've changed something in the AI
that needs to be applied to all these pedestrians.
And on to post-processing, one of the features
in the Post-Processing Stack is Color Grading,
and I'll show you some examples.
With just a few settings,
you can make your Scene look drastically different.
Here's another one.
These are just the result of some very simple tweaks
and you can find the Post-Processing Stack
in the Package Manager if you want to play with it yourself.
So the FBX Exporter lets you export
any Prefab or shape to an FBX.
An artist can then open and modify this FBX file
in a program like Maya and model it fully.
This is a great workflow for turning block outs
into detailed shapes.
So if you know you want to add a slide,
for example, you can just export this part of the level,
and now you can model that slide in the exact dimensions
where it'll be used.
And I'll show you the end result.
And, as always, you can find the FBX Exporter
in the Package Manager.
Okay, now that we've talked about the key Unity tools we used,
let's answer the main question.
How do you develop for a platform like Stadia?
The first thing to understand is Stadia's cloud instance system.
As the game is streamed to you, it means it's running on a machine
somewhere in a server farm.
As a developer, you have access to these machines
in the form of cloud instances.
But this means that whenever you make a build,
you first have to upload it there before it can run.
You can do this manually through the command line interface
uploading each build file one by one,
but it's much easier to automate this process,
which is exactly what Unity's Build and Run will do for you.
It's surprisingly easy
to get a build up and running on Stadia.
For
Now there's a bunch of features on Stadia
that you'll want to implement. To start with a simple one,
Stadia of course supports achievements.
Get Packed
and we're adding even more soon.
There's the option to use progression achievements
which show the percentage of completion
as well as, of course, normal achievements
that are just immediately unlocked.
Now, I want to make a quick mention about cloud saving as well.
It's a feature that most platforms have
allowing players to continue with their save
even on different machines,
and making sure they always have a backup if anything goes wrong.
But whereas it might be optional for developers to implement
on some platforms, on Stadia it's actually mandatory.
This is because of how the platform works.
Whenever the player starts the game,
it'll be running on a different cloud instance
pretty much every time,
so having only local saves simply wouldn't do.
Now, let's talk about multiplayer and how that's implemented.
Multiplayer in
You can create a lobby and then invite your friends
or use matchmaking to find others.
Matchmaking is very straightforward.
For the player, it's just the press of a button,
and you'll see people start joining automatically.
From a developer's perspective,
we're essentially merging lobbies until we've got a full party.
And Stadia's backend offers great support for this.
If you've got friends who want to play,
you can invite them through the Stadia UI.
We have a button in the lobby screen
that opens a Stadia popup menu,
allowing you to quickly invite friends.
It's also possible to use Shift+Tab
which brings up the default overlay,
and you can invite people that way as well.
In fact, if you invite people through the default overlay
while you're not in a lobby,
it'll actually automatically put you in online mode
and make a lobby for you, which is super handy.
Here's what it looks like when you get an invite.
First there's a notification at the top,
and then pressing Shift+Tab shows you the invite fully.
Then you can just click Accept and you're in.
And you can accept that invite from anywhere.
In fact, you can even accept an invite
without having the game open.
When you accept it, it'll automatically launch the game
and immediately put you in that online lobby.
Last but not least, let's talk about Stadia Enhanced Features.
These are unique features
not available on any other platform.
Just to be clear though, these features are not currently
in
in case you find them interesting.
Let's start with Crowd Play.
It's a feature that integrates with YouTube streaming
allowing viewers to enter a queue in order to join a multiplayer game
with their favorite streamer.
We're currently looking into implementing this one for
Crowd Choice is another feature for YouTube streaming,
but here the viewers are able to influence the streamer's game
by voting on polls or typing specific words in the chat.
State Share lets you save a gamestate
and share it with friends,
for example, a randomly generated map
or the moment right before a boss fight.
And Stream Connect lets you view another player's screen
in real time,
which could be really cool for co-op or tactical games.
And all these features are, of course, supported by Unity.
Now that you've seen everything that Stadia has to offer,
you might be asking, "How do I get my game on Stadia?"
We know how tough it can be for indies to get discovered
and to get in contact with the right people,
and that's why we're really excited
to see Google partner with Unity
and announce a new program called Stadia Makers,
and it's just for experienced indie Unity developers.
The program offers a lot of great benefits,
including funding,
free development hardware from Google,
and technical assistance from Unity.
They only announced this last month,
and they're looking for games right now.
So if you're an indie studio working on a game
that ships this year, and you want to bring it to Stadia,
then Stadia Makers is for sure the best way to go.
You can check it out and apply @Stadia.dev/apply
And that's it!
So as a quick recap,
we've talked about why we release on Stadia
and why we chose Unity to build
I've also shown you the Unity tools we used to develop the game
and you've seen how we integrated
with the Stadia platform.
And last but not least, for indie developers
that want to bring their game to Stadia,
be sure to check out the Stadia Makers program.
Hopefully you found this useful.
If you have any additional questions,
feel free to reach out to me on Twitter.
Thank you for watching.
♪ [MUSIC] ♪