Microsoft Game Dev Customer Story
Diarkis uses AKS to accelerate development and testing
Real-time communication platforms for multiplayer games can be difficult to implement and laborious to operate. Diarkis created the Diarkis platform to solve this problem and promote use of real-time communication in more services. Its greatest feature is that it can automatically scale out and in by combining proprietary technology with containers. The platform makes it easy to stop unnecessary servers—an operation that can be prone to mistakes when running games. Microsoft has supported the development and commercialization of Diarkis in a variety of ways. With Diarkis gaining popularity in the games industry and use cases emerging in other areas, the company will continue to partner with Microsoft to expand the platform's popularity.
A platform to easily build multiplayer apps for millions of players
Although the world of computer games is a relatively new form of entertainment, it's evolving at a breakneck pace. Esports—the gaming equivalent of sports competitions—have surged in popularity in recent years. Multiplayer games, where an unspecified number of users play simultaneously in one game space, have become a major genre. Diarkis developed a unique engine to provide essential communication infrastructure connecting multiple users in real time for multiplayer gaming.
"I've been involved in real-time gaming for years, working on large-scale network systems for many large titles at Silicon Studio and COLOPL," says Nobuyori Takahashi, founder and CEO of Diarkis. Many game companies manually start virtual machines for communication based on expected player numbers and drop them when they are no longer needed. "This takes time and effort, and also carries a risk of human error, like dropping a virtual machine that's still in use."
Takahashi believed that an autoscaleable, real-time communication platform built with container technology and the Kubernetes management platform could ease the challenge.
"Having a real-time communication platform like Diarkis would make it easy to build and operate real-time games. I knew that many people in the games industry would welcome such a service. The technology would also be useful in IoT areas such as connected cars and drones, and multi-user VR events."
So, what is Diarkis? "It's a parallel scalable engine that enables real-time applications using HTTP, WebSocket, TCP, UDP, and RUDP," explains Takahashi. The four features described below make it possible to create multiplayer apps for millions of people "quickly" and "easily."
First, Diarkis is a cross-platform communication engine compatible with Unity and Unreal Engine as well as multiple operating systems. Users with different operating systems can join the same group. With support for ARM and ESP32 environments arriving in the future, use will extend beyond game consoles and smart devices.
Second, the platform offers excellent security with all communications encrypted to prevent eavesdropping or tampering by malicious third parties. There's no need to worry about encryption or decryption on the application side.
Third, processing is distributed across multiple servers for stable operation and high availability. If some servers go down, other servers will continue processing so there's no need for stoppages due to failures or program updates.
Fourth is extensibility. When user numbers rise and load increases, you can scale out by simply adding more servers. Running Diarkis on the cloud means that there's no need to worry about server numbers. Diarkis also detects load reductions when user numbers dwindle and handles the reconnection process, allowing developers to concentrate on the functions they want to create.
Development work for Diarkis began when the company launched in November 2019, with Microsoft stepping in with tireless support.
Accelerating development and testing through approachable support from Microsoft for Startups
"Immediately after we launched the company, an acquaintance introduced me to a Microsoft representative to talk about commercializing Diarkis," says Takahashi. "This was when I learned about Microsoft for Startups. It was December 2019, and I applied immediately. I thought the application would take a while because Microsoft's Japanese office had to confer with their US head office, but we were accepted for the program in a flash."
Diarkis acquired a free Azure account through Microsoft for Startups and immediately began preparing an Azure Kubernetes Service (AKS) environment, which accelerated development.
"It's hard to build, develop, and test a Kubernetes environment yourself, but using AKS made it easy. We'd used Kubernetes before, so we didn't encounter any technical hurdles. Large-scale operational tests went smoothly because we could use all the resources we needed."
Diarkis is specifically designed to work with Kubernetes clusters, with multiple server pods working together. The platform's internal communication functions keep these pods in constant communication. In addition, AKS's autoscaling feature can automatically remove server pods. Diarkis provides the following six functional modules using these mechanisms.
For programs requiring low-latency communication, such as multiplayer FPS. Customizations include setting the capacity for each room. The Rooms module is suitable for use cases where fault tolerance and low latency are essential.
A chat module. Clients with different communication protocols can join the same group with unlimited users. Unlike rooms, it's possible to join multiple groups at the same time.
- Match making
Matches users, rooms, and other aspects based on user attributes. This function also enables complex searches, such as searches with multiple filters.
Suitable for large-scale MMO (Massively Multiplayer Online) apps. Facilitates communication between clients in an open world without segmenting the world.
- Timed data
For managing numerical values and states that change over time. Enables management of time-limited events and other features.
- P2P Over UDP
Enables low-latency communication through direct communication between clients (P2P communication).
According to Takahashi, "Diarkis can be implemented in any environment with Kubernetes, so it can be used with clouds other than Azure." Takahashi had envisioned multi-cloud support from the very beginning. "Despite this, Microsoft was highly supportive. This approachable attitude is another great thing about Microsoft."
Games industry embraces Diarkis, various use cases emerge in other areas
The popularity of Diarkis' auto-scalable, real-time communication platform is climbing in the games industry, and client numbers are growing.
"As Takahashi mentioned, it's easy to set up a real-time communication server, but scaling in and out is tricky," says Tatsuro Hisamori, director of Diarkis. According to Hisamori, many gaming companies are adopting Diarkis to solve this problem and control operating costs.
The creator of 「HatsuneMiku:Colorful Stage!」 is one such enterprise, using Diarkis for an in-game countdown event in December 2020.
"By switching from the existing engine to Diarkis, the game connected five times more users than it previously had. We had expected about 2.5 times more users, so we were able to handle twice as many users as planned," says Hisamori. "This number tells us there may have been quite a few users who previously wanted to connect but couldn't. By automatically scaling and being able to handle more users than expected, the game can reach more users."
A variety of use cases are also appearing in sectors other than the games industry. According to Hisamori, this includes the Regional Distributed Cloud Technology Development Project by Japan's Ministry of Economy, Trade and Industry.
This project aims to build a distributed cloud infrastructure that utilizes data centers in rural areas by subsidizing R&D costs for integrated management technologies and parallel processing technologies for highly efficient networks. Diarkis submitted a tender for this project, and its platform was adopted for the latter category.
"Being part of the Microsoft partner ecosystem makes us realize our potential to reach a wide range of areas in the games industry and beyond, from VR, AR, and MR to IoT and business systems," says Takahashi. He has great expectations for working with Microsoft, which has a substantial presence in many industries.
"Microsoft is a giant in the IT and software industry as well as games. They are great partners for the growth of unknown startups with innovative technology like us. They will also help us with joint marketing and press releases. We've received inquiries about Diarkis from companies outside the games industry who want to use it in medical IoT and VR, so you'll be seeing it in many different segments and businesses. Everyone can expect big things from us in the future."
"It's hard to build, develop, and test a Kubernetes environment yourself, but using AKS made it easy. Large-scale operational tests went smoothly because we were able to use all the resources we needed."
Nobuyori Takahashi: President and CEO
Games & Studios using Microsoft Game Dev
Cloud Build Pipelines: The Coalition
The Coalition utilized IncrediBuild's unique process level virtualization technology to scale Azure performance.
Record-breaking Fall Guys scales faster with Azure
"Fall Guys exceeded all expectations at launch...Azure provided all the reassurance we needed to scale elastically"
Kolibri Games optimizing games for millions with the cloud
WIth Azure, Kolibri Games learns quickly from players and ensures they always provide the best gaming experience.