Behind the Scenes at Playrix: The Technologies Powering Mobile Game Development
Playrix is one of the most successful mobile game developers in the world. Our games have been installed 2.3 billion times, and more than 30 million people around the globe play them every day. Today you’ll hear from Ilya Bogin (Executive Technical Producer) and Maks Zhylitski (CTO) about the kinds of technology and engineering we use and the principles we apply as a market leader.
Each of you has over 15 years of experience in tech, both in game development and in other areas. Tell us — how technically difficult it is to develop casual mobile games?
Maks: Developing successful mobile games isn't easy. It's important to understand that we work in the entertainment industry, so we're not only competing with games, but also with other products in the domain. Players make a decision every day to either start a new level in Gardenscapes or turn on the next episode on Netflix, for example. This choice is what encourages us to create products that are comparable in quality to the products from top companies in the entertainment industry.
From a technical point of view, such stiff competition also sets the bar high. We have to use the most effective technologies and practices while structuring production and operations in such a way as to achieve our goal. That's why we focus on tech market leaders and solid product companies, not just game development.
Ilya: I agree with Maks in many ways, and in general I see a lot of similarities with the development of classic mobile applications. That being said, game development is characterized by a high level of technical complexity. I would draw parallels with the development of a web browser or applications focused on maps and navigation.
At Playrix, we create games using our own game engine technology. On the one hand, this gives us a lot of freedom — we can change behaviors, add effects, implement new types of animations, or optimize whatever we want. But if a problem arises, we're the only ones who can fix it. We also have a fairly sophisticated product structure and a large amount of code. The result is very complex applications, both architecturally and in terms of technical metrics.
Another element that adds complexity is the amount of graphic content. For content to appear to the user, it must be delivered either in the build or in the resource preload, which is a big undertaking. Since we work with a lot of custom graphics, there can be issues related to performance and FPS, as well as issues with startup speed or transitions between screens.
The third factor is that we can’t use the standard, native elements that Apple or Google provide within their operating systems. That is, all renderings of elements and buttons are custom-made by us, so we’re fully responsible for how they function, how fast they work, and whether they’ve been tested.
A top-quality mobile game is a very intricate piece of software. There are a number of challenges at all stages of development, as well as at the levels of development management, infrastructure, and testing.
What technology stack do engineers use at Playrix?
Maks: The technologies we use can be divided into several layers.
The most substantial layer comprises the technology to create/develop and operate games.
Game development frameworks make up the next layer. We operate our framework to build game components (using C++ and Lua) and evolve automated testing (with Pytest, Appium, and OpenCV) to streamline the development of game features and events, enhance speed, and improve quality.
领英推荐
Finally, there’s a crucial layer of technology called Playrix Platform as a Service, or PaaS.???
Also, we are conducting some experiments with AI in development and trying out things like GitHub Copilot for engineers or Stable Diffusion for artists.
Ilya: In some cases, due to the games’ high degree of product and technical complexity, we can't use ready-made software solutions. To run automated tests, for instance, we have to develop internal technologies and frameworks.
What do you find to be the most interesting and challenging aspects of game development?
Ilya: Joining our team is a challenge in its own right, since Playrix employs mostly senior experts ?? But aside from that, the first challenge would be our very large and complex code base. Our flagship games were released many years ago (Township in 2013, Fishdom in 2015, Gardenscapes in 2016, and Homescapes in 2017) and they're updated every 6 weeks.
The second challenge is related to the technical quality requirements of our applications. Since each game has a lot of animations, dynamics, and graphics, the following are very important: the quality of graphics, speed of animation, and the FPS and smoothness of user interaction with the game.
The third challenge is related to the fact that Playrix games have over 100 million active users per month, which means a large fragmentation of devices that the games are being launched on. There are hundreds or even thousands of different phone models in use, and we’re committed to providing users of any device with the highest possible quality of game design and graphics.
Maks: High-quality expectations and hundreds of millions of players call for constant development and ingenuity ?? You need to think systemically and be mature both in terms of software development and your business understanding. An important skill is being able to competently defend your opinion in front of colleagues who are on equal technical footing.
Playrix has a high rate of change, which can be another kind of challenge, so we aim to recruit people who are ready for that and thrive in dynamic circumstances.
What can you say about the Playrix team as a whole?
Ilya: What I see is a very strong team at every level. That applies to management, development, content, art, audio, effects, and so on.
Maks: I agree. It may sound trite, but we do believe that by working with smart and talented people, we'll get great results. When someone is dissatisfied with the status quo and is constantly thinking about how to do something better, they work to achieve their goal. The sum of these individual achievements ultimately produces a powerful effect. In a way, I think that sums up the whole philosophy of Playrix.
CEO: GauravGo GTPL||Appreciated By Narendra Modi || Certified PM
1 个月Sergei Shestakov, thanks for sharing !!
Seasoned Project/Delivery manager
1 个月Maks Zhylitski, thanks for sharing! Tech looks interesting, especially that hybrid cloud-based Plazure. Though it's kind of unclear why to use all 3 cloud providers for it. Is it operationally wise to manage that many clusters? And I liked the last part about strong and proactive team as well. It's good to have strong team around to be able grow yourself.
Just in case, you can always find a list of relevant open positions on our website https://playrix.com/job/open ??
Deputy CTO | Infrastructure, DevOps, BI, Service management
1 个月Great read! Really impressive how Playrix tackles such complex challenges in game development and uses in-house technology. It's awesome to see the team constantly pushing for improvements and embracing new challenges.? Ps. Maks, ??