Ashes of Creation – Technical Exploration of Ashes of Creation's “Server Meshing”

Learn how Ashes of Creation uses server meshing technology to allow large numbers of players to interact simultaneously in an open world. This article takes a deep dive into how server meshing works, Unreal Engine 5 optimizations, and how it compares to traditional replication systems.

Ashes of Creationdevelopped by Intrepid Studiosis distinguished by the advanced use of “server meshing” to allow a very large number of players to interact simultaneously in an open world (for example, during PvP battles) without resorting to traditional techniques such as “layering” or “sharding”, which have the drawback of breaking the persistence of the world and the immersion of the players. This technical approach explores in depth the mechanics and advantages of server meshing, the optimizations made to the Unreal Engine 5 engine, and the implications of a decentralized replication architecture.

Advertisement

Putting “Massively Multiplayer” Back at the Heart of MMORPGs

The primary goal of server meshing in Ashes of Creation is to allow a large number of players to interact simultaneously in an open world, eliminating the limitations of traditional centralized systems. To achieve this, the game world is divided between multiple interconnected servers, each managing a specific part of the world, while continually communicating to synchronize information.

70bdda2d897f7247749b9d87c8893b87.jpg

Basic Operation of Server Meshing

The whitish blur represents the boundary between two servers

Game World Division

The game world is divided into cells, each managed by a separate server. This division allows the load to be distributed across multiple servers, eliminating the bottleneck of a single server.

Inter-server communication

These servers communicate with each other to synchronize the states of entities (actors) and ensure a smooth gaming experience. Each server maintains “proxy actors” to represent nearby entities on adjacent servers, allowing players to interact with elements managed by other servers without interruption.

Scalability, fault tolerance

By distributing the game world load across multiple servers, server meshing provides better scalability. New servers can be added to increase the game world capacity without degrading performance. The decentralization of the replication system allows for better fault tolerance. If a server goes down, its responsibilities can be transferred to other servers, minimizing the impact on the gaming experience.

Advertisement

Inter-server replication

11b6d619894fd45a7062c87cef37d087.jpg

Proxies for actors

“Proxy actors” represent entities from one server to another. These proxies are lightweight versions of the original actors (players, NPCs, etc.)containing only the information needed for basic interactions, thus allowing efficient replication without unnecessary overhead.

Synchronizing states

Each server is responsible for replicating its data to neighboring servers. This includes updating actor states, position, animation, and other relevant parameters to ensure visual consistency. and behavioral (According to the demo, it is entirely possible for players to engage in PvP while being on opposite sides of the server border) across server borders. These inter-server communications are accomplished through Unreal Engine's feature called Remote Procedure Calls (RPCs).

Designating function replication across the network

RPCs ( Remote Procedure Calls ) are functions that are called locally, but executed remotely on another machine (separate from the calling machine).

Transfers between servers

Promotion system

When players cross a server boundary, a “promotion” system seamlessly transfers the authority of those players. This process ensures that transitions are invisible to players, maintaining full immersion.

So when Character 1 (P1) on Server 1 (S1) is visible from Character 2 (P2) on Server 2 (S2), this is then only in the state of proxy actor on S2. On the other hand, when P1 crosses the border and joins P2 on S2, then the promotion system takes care of transferring its “authority” (its ability to influence its environment) from its actor on S1 to his proxy actor on S2, thus becoming a actor in its own right (not with “that the information needed for basic interactions” but one authority in its own right).

Technical optimizations

Real-time load balancing

Dynamic grid allows to detect overloads on a server and divide that server into smaller cells to balance the load. This includes creating new server processes on the fly and redistributing actors to maintain optimal performance.

fc8a99dc522f2dee0ba0c1d29c037795.png

Managing Global Features

Some global features, such as the social system or population management (ex : see the position of a grouped ally but on the other side of the world), are managed by microservices. These independent services allow efficient communication between distant servers in the grid, ensuring consistency across the game world.

abbdb4fcd95f1e6dc6f83a3d64164f8f.png

Replication graph

Using a “replication graph” (a feature recently introduced by Unreal Engine) allows you to verify that it is relevant to replicate information. This graph determines precisely which entities should be replicated for each server and for different scenarios, thus reducing the number of replications (by prioritizing) when necessary.

Multithreading of replication

Intrepid Studios has managed to make the replication process multi-threaded, which is a notable challenge given the primarily single-threaded nature of Unreal Engine 5. This optimization helps to better utilize CPU resources and improve replication performance.

Server Meshing: The Key to a Major Evolution in the World of Online Gaming massively multiplayer

Intrepid Studios’ implementation of server meshing in Ashes of Creation represents a significant technological advancement for MMORPGs. By adopting a decentralized replication approach, with specific optimizations for Unreal Engine 5, and a dynamic grid architecture, Intrepid Studios has created an infrastructure capable of handling thousands of players in a vast, interactive, and dynamic open world. persistent. This innovative approach promises a fluid, immersive and scalable gaming experience, redefining the standards of massively multiplayer online games. The Alpha 2 planned for this third quarter 2024will offer players the opportunity to concretely evaluate these commitments and form their own opinion on their implementation of server meshing.

Advertisement