Blog
Menu
Blog

EVE Aether Wars: Phase Two - Lessons from the Battlefield on the Path to a Distributed Game Engine

Aug 19, 2019 10:09:24 AM
  • ~5,000 Players
  • 30hz Tick Rate
  • 100x Bandwidth Reduction

And so the dust has settled on another large-scale multiplayer event that drew pilots from all over the galaxy for an enormous showdown in space. Those of you familiar with our work will recall EVE Aether Wars, our headline act at Game Developers Conference. It hosted thousands of players in the same single-shared multiplayer battle and videos taken by players lit up YouTube with their sea of roaring torpedoes taken from the Aether Wars action. It was a hugely successful stress test for us, announcing Aether Engine to the world and showing what our technology is capable of.

EAW2 Screenshot 5

But as we celebrated our success, we also asked ourselves how we could push this further and make our technology more effective for our studio partners. What if we improved the bandwidth and server efficiency? What if we added global state for elements such as leaderboards? We realised these questions would only be answered by sending our beloved multiplayer project back into the wild and thus, EVE Aether Wars: Phase Two was born.

Putting Aether Engine into the hands of our customer, CCP Games

We put our SDK in the hands of CCP Games and they built EVE Aether Wars: Phase Two, designing and building a gameplay experience from scratch on Aether Engine — their complete 3-month long rewrite of the game since GDC. We focused on the technology side and the optimisations, ensuring that Aether Engine could run more efficiently, while CCP Games brought their gaming expertise and knowledge to the project.

Our aim with this most recent playtest was more than demonstrating how our technology performs under strain. We wanted to show how much more complex gameplay can be, whilst delivering at enormous scale. You may have seen new, exciting features during the playtest, such as resource collection, NPCs and asteroid cover; and with more interesting gameplay you can have a greater complexity of what happens in-world, including player-to-player interaction.

Towards an Efficient Cloud Engine

Using some of the techniques described in our Devcom 2019 talk (more on this soon!) we were able to reduce bandwidth usage from GDC by a factor of 100x. This was a key design goal as egress charges can make cloud gaming prohibitively expensive.

With a more robust game-like demo, there was an increase in player interaction and state that had to be communicated between Aether Engine’s simulation cluster and its replication clusters. More events needed to be sent out at a higher rate with each event requiring more data. For Phase Two, we built a powerful interest management layer to make such a huge data range manageable and update some of the more complex data processing within the game more frequently.

We learned so much together in the last few weeks. I love this cross studio team. We have a great engine and chassis that we’ve put through its paces and we have the data / learning to analyse and apply to our development.

Stephen Northcott, Technical Director (CCP Games)

We Axed Client-Side Interpolation for This One

Crucially, we wanted to test how this experience would fare without any interpolation or client-side prediction logic -- to achieve this we upped the server tick rate to 30hz. Typically game MMO backends run at lower tickrates which the client smoothens to deliver a good experience. We wanted to push Aether beyond typical backends and into client engine territory. This and the more complex gameplay caused a heavy load on the simulation and a big increase in data flowing out of the data centres. The data we’ve collected from this is already giving us key insights to optimise Aether Engine even further. We also have a fair few ideas now on delivering smooth client-side gameplay and have begun experimenting with different interpolation and prediction algorithms fit for this sort of massive scale.

Conclusion

And for us that’s the ultimate goal of these demos. We try, we test, we learn, we refine and we improve. A huge thank you to our pioneering partners, CCP Games, who have embarked on this exciting journey with us. We also couldn’t do this without all of your support, so thank you to everyone who turned up on the day and took part. Yet again, we end EVE Aether Wars: Phase Two by asking ourselves some deep and probing questions, and we hope you’ll continue with us on this journey as we look for the answers.

Subscribe by Email

No Comments Yet

Let us know what you think