Platform Development: Update 16

Tiếng Việt | 한국어 | 日本語 | 简体中文Русский

Hi, all! Please find below a regular development status report, this one covering the period from Nov 26 to Dec 9. Within this timeframe, we were focused on SDK evolution (RBAC, theabyss_api.dll, Embedded JS API for Web Games, etc), improving The Abyss infrastructure, and working on other tasks.

Software Development Kit (SDK) evolution:

1. Parameterized Role-Based Access Control (PRBAC)

As part of SDK development task, in the recent sprint, we have completed technical design for the inner Parameterized Role-Based Access Control (PRBAC) system, which represents the enhancement to the non-parameterized version (RBAC) making the entire role-based system more flexible by granting a variety of parameterized privileges to groups of users. The entirety of the system is contained in two classes of objects:

  • Role (representing users, groups, capabilities, and privileges);
  • Grant (representing memberships, containment, and permissions).

PRBAC allows to make the roles smaller and simpler, and will definitely allow much more powerful administration of the platform. The groups will become more useful when parameterized. In turn, resolutions can be interpreted depending on the situation.

The Map of Dependencies in PRBAC
The process of birth of map of dependencies

2. Server-to-Server Session Authorization System

We’ve also extended the Server-to-Server (S2S) Session Authorization system functionality required for games integration. This functionality is described in details in SDK documentation.

3. Theabyss_api.dll

In December, The Abyss development team has been further expanded. Our new team member, Senior C++ Developer, Oleg Krasnov, has started building a library comprising all The Abyss API methods. Oleg will be one of the key people to work on client’s libraries and works in close cooperation with Sergey Zakharchenko (our System Architect) and C# programmers team.

Embedded JS API for Web Games

As a result of an in-depth analysis, it was decided that our Embedded JS API (currently under development) will be compatible with other platforms’ contracts. This decision will help to reduce the time for games integration with The Abyss. First, we intended to benchmark what we thought was the market’s best practice. However, in reality, it turned out to be a mix of technologies and complex codes, which made us develop an easy-to-use Embedded JS API of our own.

License management system (LMS)

We have implemented the pre-order function for Atomic Heart, the project that will become the first AAA-game on The Abyss platform. This was due to the implementation of the basic functions of LMS, delivered during the recent sprint.

The Abyss Platform Testing and Infrastructure

We’re also working to improve The Abyss infrastructure. In recent sprint:

  • Integrational tests coverage reached 80% level (which is far ahead of the schedule). Multithreaded test-running made possible the full system test in 10 minutes only;
  • New servers prepared and put into operation in one of the largest European data centres;
  • The Kubernetes server clusters are installed on our new servers, configured and got ready for developers’ environment;
  • All our repository with our GitLab was moved to Kubernetes;
  • CI/CD deployment to the new place configuration is in progress.

Stability and Fault tolerance

The work on our internal Framework for Microservices with RabbitMQ as a transport is complete. Our short-term plans include transferring all microservices to this framework. The diagram below shows one of the most sophisticated logical part of our framework:

Part of The Potato™ framework logic
Adaptive Dark Theme brainstorming

Adaptive Dark Color Design

The work done in the context of this task included:

  • Game Page and Main Page — the technological stack (ReactJS/Redux) for the adaptive dark colour design for Desktop is 100% complete;
  • The “Referral statistics” — visual prototype is complete;
  • We’re currently designing the modal and user support windows, “My games”, “Tokens deposit”, “Token withdrawal” functionality.

Well, that’s it for today. The Abyss Team will keep you up to date with the development progress twice per month. The next report is scheduled for December 24, 2018.

And stay tuned! We have much to show you!


The Abyss Team