Every day, the gaming industry grows at a breakneck pace, paralleling the exponential expansion of the global customer base. Network and server lag can cause sluggish responses and disconnecting from the game for game players. As a result, solving these problems has become a top priority for the game community in order to better players' experiences.Reliable servers, real-time data analysis and low-latency are essential for high-quality content and outstanding player experience.
This makes gaming a natural fit to run on cloud. Moreover, gaming companies no longer need to estimate the game servers they will need or even to make additional purchases in advance, as cloud computing offers flexible and scalable infrastructure.
Mobile gaming is now the largest segment of the gaming industry. With modern mobile technologies developed enough to handle medium-to-heavy workload games, many console gaming companies have entered the mobile segment. Mobile gaming tends to lean toward innovation, VR/AR, mobility, connectivity, and even going global. The underlying architecture for mobile gaming should be able to handle heavy workload and global connectivity while keeping costs at a minimum, making cloud computing the best choice for mobile gaming companies.
The architecture of Global Server Game Acceleration (or Global Accelerator) is built with the centralized game servers deployed in a single region, and edge locations deployed worldwide with the accelerated public network access. Players are geographically routed to the closest edge locations through Express Connect. This aids to minimize the latency, ensures high-quality performance and availability and to realize the global acceleration.
Currently, the prime pain area of global server games is the unfair gaming experience caused by different network latencies of players located in different regions. The technical complications such as price and quality variations of dedicated network connection from the third-parties, the high O&M costs involved in the worldwide edge location deployment, complex proxies are to name a few.
Game developers may encounter the following problems:
These problems make Alibaba Cloud Mobile Accelerator the most appropriate fit to resolve the "last mile" acceleration between clients and edge locations. See the following figure.
With Alibaba Cloud Global Acceleration, you do not have to manually configure content delivery acceleration to edge locations, which can be complicated, and requires longtime debugging. Global Acceleration ensures you the high availability, scalability, performance, and flexible routing.
Basically, Global Acceleration provides the point-to-point acceleration by using EIPs (elastic IP addresses) to map the ECS instances or VPC Server Load Balancer instances on your centralized servers to the public network. Global Acceleration speeds up the cross-region and cross-country connection to the servers, as shown in the following figure:
By combining Mobile Acceleration with Global Acceleration, we can accelerate the entire data path from the server to the client. In this solution, Mobile Acceleration speeds up the connection between clients and edge locations based on dynamic routing, while Global Acceleration speeds up the connection between the centralized servers and edge locations through Express Connect. See the following figure.
In this article, we looked at several architecture designs for supporting global gaming servers, as well as evaluated the strengths and weaknesses of each design.
Global Rankings Design
When designing a global rankings service, you must consider demand, analysis, data structure, rank data persistence, rank server SPOF issues, and other issues. A ranking service architecture is shown in the following figure:
This architecture uses Redis to implement data at regular intervals. The game server reports rank data to the rank server. Clients pull rank data from the game server and the game server pulls rank data from the rank server.
Game Time Design
All the game servers use GMT Jan 1, 1970 00:00:00 offset (generally an absolute value of 1 for the second count) to express the in-game time. This time is synced to game clients, who use the time zone set on the cell phone to compute the game time to be displayed in the client. The specifications are shown in the figure below.
Why is the game time synchronization necessary?
Game Data Synchronization
Solution 1: Use a Cache for Instant Data Writeback
In this method, data is stored centrally and the local caches instantly write data back to the database. The specific architecture is shown in the following figure.
Currently, there are two main scenarios that involve data synchronization:
Scenario 1 Players log on in their local regions (explanation marked in red text in the previous figure).
Scenario 2 Players log on across regions.
Solution 2: Real-time Regional Database Synchronization
The various regional databases are synchronized in real time. You can accomplish this using Message Service or Alibaba Cloud DTS. Each of the regional databases store data for all players.
The players can play the game from different regions, their data need not be migrated. All regions support local data reading and writing.
The asynchronous data synchronization can produce data inconsistencies. If the player uses a VPN to access the game, a transient VPN disconnection can cause the player to log on again in another region. If data synchronization messages are lost or delayed, the data read when a player logs in again may not be up to date.
The various regions contain all player data, so real-time synchronization may put a high level of pressure on the database. Real-time synchronization between regional databases demands a great deal of cross-region leased line bandwidth.
Solution 3: Cross-Region Data Update
When a player logs on from a different region, the player's local server must remotely read combat data. The combat results call an API to trigger a data update on the local server.
For players in the same region, role data is read/written to/from the nearest local node.
The implementation logic is complicated. All gameplay results must be abstracted to an interface and data is centrally changed by the original server interface.
Solution 4: Remote Data Migration
When a player logs on from a different region, the player data is remotely migrated from the player's previous server. Each time a player logs on, the system must check if data migration is required.
Game Localization Solutions
Game localization is an important factor for consideration of games seeking to enter overseas markets. Games, either being released overseas or looking to expand to new regions must be attentive to localization work. The general approach is to build a standard client installation package, which contains several basic material packages, art material packages for different languages, and some program materials. This allows the game to be dynamically rendered based on the phone's language version.
There are three common installation strategies:
This article shows specific examples of applying architecture designs to solve common issues in the gaming industry.
Global Accelerator is a network acceleration service, benefiting from the high-quality bandwidth and global transmission networks that are provided by Alibaba Cloud. Global Accelerator enables nearby access to the Internet and cross-region deployment of applications, improving the user experience of Internet services. Global Accelerator features high network quality, high security, high availability, and low latency. In addition, Global Accelerator can be activated within several minutes, making service deployment more agile.
This topic describes the service of Global Accelerator (GA). Each GA instance is an acceleration service running on a global scale. GA provides six types of GA instance specifications with different acceleration capabilities to help you meet the diverse needs in different scenarios.
Alibaba Clouder - March 15, 2019
ApsaraDB - February 9, 2021
wenlou - November 7, 2019
Alibaba Developer - September 7, 2020
amap_tech - April 20, 2020
Alibaba Clouder - March 15, 2020
More Posts by Alibaba Clouder