How to build a 200-player online shooter overnight (for free)
Improbable gives us a tour of its new SpatialOS Game Development Kit for Unity and teases its upcoming Unreal edition
Improbable may have just created the easiest way yet to build massive online multiplayer games - and definitely the quickest.
The technology company is behind the SpatialOS cloud gaming platform, used by top multiplayer titles such as Worlds Adrift, plus the upcoming Mavericks, Scavengers and Seed. It can be integrated with all game engines, it works across every common device, and is for building, running and rapidly iterating online games of all varieties.
It has already attracted some prominent supporters, but this month the firm has introduced its GDKs (Game Developer Kits) for Unity and Unreal to allow game creators to try out SpatialOS, and build giant multiplayer games almost overnight.
The Unity GDK is available right now, and comes with a first-person shooter starter project that creators can experiment with immediately.
"The GDK is just the foundation - users can create anything"
"Traditionally with Unity, you do not get a lot of code/assets out of the box," observes Paul Thomas, global head of product marketing at Improbable. "The asset store definitely gives people a really good leg up but when it comes to dedicated server multiplayer there isn't really much there. We realised that this is really important for developers, as you need a good base to start prototyping and finding what makes your game fun and different. This is why we created the FPS starter project. It's basically a small demonstration game which allows people to start experimenting with gameplay from day one of using the tech."
"We also wanted people to be able to get a feel of some the scale you can reach with SpatialOS, so we made it free to run with up to 200 players. It's interesting for us to see what concepts developers can come up with when they're given a higher player count than is normally possible. Having this accessible in a format where you could game jam on it is really exciting for us. But this is really just the start; if people want they could extend this to support thousands of players with tens of thousands of AI within the same game world.
"The GDK is just the foundation - users can create anything. The whole thing is available as source code so people are free to change and sculpt the type of game they want to make."
The starter project itself is based on top of a number of featured modules. These modules are basically systems that solve common gameplay problems. Currently, in the starter pack, there are modules for player and non-player movement, shooting and health, and player lifecycle.
"These systems can be reused for any game genre," explains Thomas. "In the coming months, we are going to be adding to these feature modules so that developers get more systems to play with. We are building these in the open and will be taking contributions from the community. At some point, we will repackage them up into new starter projects to give more genres easy starting points."
The important part of the GDK is speed. Unity is renowned for its fast iteration. It's not unusual for even the biggest game developers to build their games in Unity initially so they can try things quickly. And this is something Improbable says was central to the GDK's mission.
"One of the key tenets of the design of the GDK was iteration time," Thomas says. "We kept the workflows very similar to Unity and developers can use standard Monobehaviours or the new ECS system. We also thought deeply about how we could make it faster to develop multiplayer than what is normally possible with Unity. With this project, we've added the ability to run both the client and server in one editor. This means that Unity developers only have to press play to reload any client or server-side code changes, saving a huge amount of time over more traditional workflows."
The free 200-player Starter Project and the various feature modules are just two elements that make this GDK appealing.
By using it, developers won't need to worry about networking and synchronisation between game servers and clients - SpatialOS does all that. The product also uses the cloud to host the game globally - developers only need to tell Improbable where to host the game, upload the code and it will do the rest.
And of course, they can scale up. The Starter Project enables 200-players for free, but this can also support games from small 16-player shooters to 10,000-player persistent MMOs.
It's quick and easy to use for anyone that is familiar with Unity.
"If you have shipped a game with Unity before then it should be easy for you to get started," Thomas details. "If you have only run through some tutorials then you should also be able to get started."
There's more to come from the Unity GDK, too. There will be new starter projects for other genres, console, VR and mobile-ready development flows and feature modules. "We essentially are going to continue to make it easier and faster for developers to make new online games," says Thomas.
Pricing has yet to be decided, but it will be usage-based.
"This means that the more players your game has, the more you will pay," Thomas adds. "We like this model because it creates the correct incentives between us and the developer; if your game is a smash hit, then you will pay us more; but if not many people play, then you will pay us less. We also offer the Games Innovation Program with Google where 100 developers each year can get free cloud compute for the development of their game. On top of this, we are looking at cheaper entry tier packages aimed at smaller and independent developers."
The Game Developer Kit for Unity is the first of the new products coming from Improbable this month. Next up is the Unreal GDK and it's a very different offering to the Unity version.
"Unreal Engine already has a really great multiplayer networking solution with it," begins Thomas. "So we focused a lot on working well with the native Unreal networking system. This means that a developer who is familiar with Unreal will easily be able to pick-up the SpatialOS GDK for Unreal using the same APIs and blueprints they are familiar with.
"It's also really easy to port existing Unreal games to use SpatialOS"
"Because of this, it's also really easy to port existing Unreal games to use SpatialOS. Within a day, you can move your existing project to use Spatial and start creating new gameplay that utilising multiple instances of Unreal working together gives you. This allows you to tap into more computing power than a single server provides to build games with more players, more Actors and more gameplay systems than previously possible. "
"Similar to Unity, we offer the whole thing as source code so you can see how it all works and change it as you need to."
The Unreal GDK will be for all Unreal multiplayer games, whether that's a shooter, an MMO or an RTS. It's basically the same as the Unreal engine, but with the ability to combine multiple game engines into a single seamless game world.
"If you have Unreal experience, we really encourage you to give it a try and experiment with the extra server power SpatialOS gives you," Thomas concludes. "However, we are especially excited about people with existing multiplayer games porting them to the GDK and starting to create new gameplay. Adding say a big battle mode, a large thousand-player social hub, or maybe some kind of persistent simulation-based gameplay."
To find out more about the Unity and Unreal GDKs, visit www.improbable.io