Since the SpatialOS GDK for Unreal entered Alpha in October last year, a recurring theme in our discussions with partners and community members has been the importance of documentation, tutorials and example content to accompany their journey with the GDK.
Today, we are happy to announce the release of:
The Example Project: a new session-based first-person shooter project built using the GDK. It has more assets and gameplay than any of our previous sample projects.
A tutorial on scaling up the number of sessions for your game: we show how to set up multiple cloud instances, a lobby screen and player lifecycle management which you can use for any session-based games, such as Battle Royale games.
The Unreal Shooter Game ported to SpatialOS: Unreal’s familiar reference project, ported to SpatialOS to accompany our porting guide.
Improved documentation: new learning material and reference documentation on how the GDK works, and how to use it.
This new content has been built and tested on the latest version of the GDK plugin - 0.4.2 - which was released on 20/5/2019. Read on for more details about this new content.
For anyone not already aware, SpatialOS is a platform for creating games that go beyond the limits of a single server, enabling you to implement new kinds of gameplay that would be impossible with the traditional client-server approach. It’s a fully managed service, meaning that we do all of the work required to host and scale your game globally while you focus on finding the fun in your game. The GDK for Unreal Engine allows you to seamlessly integrate SpatialOS with Unreal Engine 4.
The GDK Example Project is a new session-based first-person shooter project built with the GDK. It’s a great starting point to try out the GDK and see what SpatialOS provides, with a project more asset- and gameplay-rich than previous GDK sample projects. By following the set-up guide, you can deploy the Example Project to the cloud and invite your friends to a team deathmatch in around an hour.
Over time, we expect this project to evolve to showcase the latest GDK features, such as the upcoming matchmaking integration and offloading AI - more on these later.
Additionally, we have a new tutorial on how to launch multiple session-based instances of the Example Project and create a lobby screen to enable players to join the right session. This tutorial, together with additional guides and projects, provides a full implementation of player lifecycle management with SpatialOS and the GDK. All the source code is available for this project - so feel free to use it as a reference for your project.
For teams wishing to try out a familiar project ported to the GDK, we have released the SpatialOS-ported version of Shooter Game. (To access this fork, you will need to join Epic's Github organisation - find out how in our docs. )This is Epic’s example of a PC multiplayer first-person shooter. It includes basic implementations of weapons and game types along with a simple front end menu system.
In addition to providing a great reference project to use alongside the GDK for Unreal porting guide, this project is a starting point for new projects. The team at Offworld Industries recently demonstrated this with their Squad-based mod of Shooter Game - you can see this in action below.
The ported Shooter Game is easy to access. It’s available from the Samples folder of the latest SpatialOS Unreal Engine fork.
Finally, we released a number of improvements to documentation:
A technical overview section, describing how the GDK works and fits into your game stack.
Workflow reference pages, giving a quick-reference guide to the typical local and cloud development steps on the GDK.
Upgrade guides with each new release.
SpatialOS concepts docs, explaining the key SpatialOS concepts relevant to the GDK.
The Unreal features list, providing the GDK’s state of support for all UE features.
This release provides a stable foundation on which to start developing. We’d love to get your feedback on it.
We are now hard at work on the following themes for our next release:
Performance improvements: enabling you to increase the richness of your game world by using the SpatialOS Runtime for networking and offloading game systems such as AI to dedicated server instances in your game instance.
Providing scale testing tools: enabling you to easily launch simulated players into your cloud deployments to test your game at scale.
Integrating online services: enabling you to easily integrate your game backend services with SpatialOS, and providing open-sourced implementations for cross-deployment data storage and matchmaking.