To Avoid Starting Over

Anatolii Landyshev
Anatolii Landyshev

The contributions of Ukrainian software engineer Anatolii Landyshev have had a global impact on the game development industry. He significantly increased the visibility and popularity of the Entitas framework, the most widely used Entity-Component-System (ECS) framework for Unity. This, in turn, prompted Unity, the creators of the leading game engine in the world, to develop their own ECS solution. Before 2016, no one in Ukraine had even heard of the ECS approach. Meanwhile, games developed by Landyshev using this approach are known to gamers worldwide—even though the vast majority have never heard of him.

In this interview, Anatolii shares his insights with our readers.

Anatolii, right after graduating from KPI (National Technical University of Ukraine 'Igor Sikorsky Kyiv Polytechnic Institute'), you began developing major, well-known games. Could you tell us more about them?

— I started with simpler mobile games for Apple devices, as well as children's mini-games for the educational platform Tamboro and interactive projectors from EyeClick. A couple of years later, I got the chance to work on 'Astro Lords: The Oort Cloud,' a large MMO strategy game with a budget of over $2 million, which I adapted for mobile devices. That was when I first saw how MMO games are created—games like 'World of Warcraft' or 'World of Tanks,' where many players participate online, competing against each other or playing in teams.

At that time, my experience in mobile game development was sufficient to port a large game like 'Astro Lords: The Oort Cloud' to mobile platforms. However, I still couldn't independently create a game server and establish network interactions between players. I mastered these aspects later while working on other game projects like 'Power Rangers: Unite' and 'Mad Machines.' The game 'Power Rangers: Unite,' based on the world-famous comic franchise, which I developed, was featured as an Editor's Choice in the Apple App Store and Google Play, and was played by over 3 million players. Another game I worked on, 'Time Drop,' was also featured as an Editor's Choice in Google Play worldwide and was played by over a million players.

And when did you realize the necessity of using the ECS approach in your game development work? As far as we know, until 2018, you were the only Ukrainian expert in this innovative approach before it gained recognition in the country. Where did you draw your ideas from?

— The ECS approach is a real treasure for developers who want to avoid those dreadful situations where it's easier to rewrite everything from scratch when there's a major project change or new functionality needs to be added. The Entity-Component-System reduces coupling between different parts of the game's code, allowing developers to add, remove, or change game mechanics independently without any loss in productivity or game performance.

I realized the necessity of this approach in 2015 while working on the turn-based football strategy game 'Local Heroes,' developed by the former producer of the world-famous game 'Grand Theft Auto V,' or simply GTA-5. The concept of this project was so outstanding that we aimed to set a new standard for the genre. However, the development process suffered from frequent changes in project requirements. The game's codebase, developed using a traditional object-oriented approach, lacked flexibility and was difficult to adapt. Every change required extensive refactoring of large code sections, causing significant delays and costs. Ultimately, the project exceeded its budget and was never released.

This outcome was a real shock for me, as I was deeply invested in the project and its innovative concept. I vowed never to let this happen again. So, I began searching for alternative architectural paradigms that would allow for quick and easy adaptation to changing requirements without major code overhauls. My search led me to articles by Adam Martin on the Entity-Component-System (ECS) architecture. Martin proposed the most logical approach to game architecture I had ever encountered, and it was like a 'Eureka' moment for me—exactly the solution I had been looking for. ECS has many similarities to Unity's component model—Unity being the world's most popular game engine—but ECS offers greater flexibility, greatly simplifying refactoring and the addition of new functionality without major changes to the existing code.

While studying available ECS implementations like Artemis, Fast ECS, and Ashley, I found that they were mostly developed in C++ or Java and weren't integrated with Unity—the leading engine for mobile game development, used by most game developers globally, including myself. I was about to create my own ECS framework for Unity when I discovered Entitas, an open-source ECS framework developed by Simon Schmid, a German developer from the renowned Berlin company Wooga.

Entitas
Entitas

Back in 2016–2017, Entitas was still relatively unknown, and no one in Ukraine had heard of it. However, it was an ultra-fast framework specifically designed for C# and Unity, with internal caching and incredibly fast access to components, making it truly unmatched. Realizing the enormous potential of this framework, I decided not to develop my own but to join the Entitas community and help promote it. I actively participated in forum discussions, assisted newcomers, and promoted ECS and Entitas at game development conferences across Ukraine.

Indeed, during those years, you were the only Ukrainian in the Entitas community, taking on the mission of promoting the Entitas framework and the ECS approach within the Ukrainian game development scene. We remember you were frequently invited to the most prominent IT conferences and forums. Could you tell us about your participation in them?

Games Gathering 2016
Games Gathering 2016

— Yes, in 2016–2017, I spoke at three major game development conferences in Ukraine, where I discussed optimal code architecture in games and the advantages of the Entity-Component-System (ECS) approach. The first one, 'Games Gathering 2016' in Kyiv, was the largest international GameDev conference in Ukraine. It had over 1,000 attendees—representatives from more than 100 companies across eleven countries. Specifically for this conference, I developed a new computer game called 'Space Wars'—not in one, but in two versions. The first was developed using the traditional object-oriented approach, and the second used the Entity-Component-System. This allowed me to demonstrate clearly the differences between these two approaches. My presentation lasted a full hour and included code examples and live coding sessions to explain the differences. I can confidently say it was a real eye-opener! The recording of my talk on the Games Gathering YouTube channel garnered 1.3K views, becoming the most-watched technical presentation of the conference—the average views for presentations on that channel are around 100–500. Additionally, the video of this presentation was added to the GitHub page of the Entitas framework (today's most popular ECS framework for Unity), alongside the official tutorial videos!

Games Gathering 2016
Games Gathering 2016

The following year, I spoke at another major international GameDev conference—'GameDev Conference 2017' in Lviv. This event attracted over 500 attendees and featured 50 speakers from Ukraine and other Eastern European countries. During my 45-minute presentation, I detailed the shortcomings of the object-oriented approach to game development and explained how the ECS approach addresses these issues. Engineers from Unity, the developers of the world's most popular game engine, attended my talk and praised my presentation highly, which was an incredible honor for me.

Later in 2017, I presented at another international conference—'Game Craft Conference 2017' in Kyiv. There, I discussed two different ways to achieve modularity in Unity game architecture: Dependency Injection and the ECS approach. I also proposed patterns to achieve ECS-like behavior in Unity without using third-party libraries, supporting my talk with extensive code examples.

Game Craft Conference 2017
Game Craft Conference 2017

Your presentations at these conferences had a significant impact on the game development industry in Ukraine, inspiring thousands of Ukrainian developers, including internationally recognized game studios, to adopt the ECS approach. As a result, your fellow countrymen have created many high-quality, successful games. For example, Plarium, with offices in Kyiv, Kharkiv, Odesa, Lviv, Warsaw, San Francisco, Michigan, Helsinki, and Herzliya, Israel, recently released 'RAID: Shadow Legends,' a game based on the ECS approach. The game already has over 98 million players and nearly 5-star reviews. Do you think the secret to this game's success lies in the ECS approach?

— I believe the secret to any project's success lies primarily in its team. The team usually includes not only developers but also producers, game designers, artists, testers, and others. Each member must do their job well for the game to succeed. However, it's very frustrating when everyone does their job well, but the project misses deadlines due to an architecture that poorly adapts to changes. In the case of 'RAID: Shadow Legends,' I think the entire team did their job well. The ECS architecture didn't hinder them; it didn't limit the game designers' and artists' ability to make the game interesting. This is exactly what good architecture in games should do. Recently, Oleksii Naumenko, a Unity Architect at Plarium in Kharkiv, gave a talk about this game. The talk was titled 'Unity, ECS, and People.' I believe this is the key to success.

I'd also like to point out that while Plarium is a prominent example, there are hundreds of other games developed by Ukrainian developers using ECS. For instance, mobile games like 'Travel Merge Family' and 'Time Drop' come to mind, but there are many more. Back in 2016, no one in Ukraine had heard of ECS. Now, knowledge of ECS is required in most job postings, and without it, it can be difficult for a game developer to get a job. This shows that studios are actively developing games with ECS and need this expertise.

In 2018, shortly after your presentations at the largest international conferences in Ukraine, Unity—the developer of the world's most popular game engine—announced the development of its own ECS framework. Do you think this is related to your presentations and the rising popularity of Entitas?

— I think the popularity of the Entitas framework was definitely a factor. Unity, like any successful product company, keeps a close eye on user sentiment. When they saw that more and more Unity developers were looking for ways to use the ECS approach, they couldn't ignore it. Entitas, which became the most popular ECS framework for Unity and was rapidly gaining popularity, certainly proved the demand and potential of this approach. The rise in Entitas's popularity wasn't just my doing; it was thanks to many community members who answered questions on forums, helped newcomers, gave presentations, suggested changes, and wrote code. I was the first member of this community in Ukraine, helping thousands of Ukrainian developers understand and start using this approach. This made our ECS community's voice louder, and eventually, Unity heard us and began shifting their engine architecture towards ECS.

Anatolii, in professional circles, you're also known for developing unique projects in AR and VR. For example, the 'TechRow' platform for immersive children's education and the 'SkyTrak' golf simulator, both widely used in the USA and globally, saw your active participation in their development. Additionally, the web engine you created for the metaverse became the core of 'RemoteBridge,' the most advanced virtual HR platform in the world. How do these projects align with game development? Do they interfere with each other?

SkyTrak
SkyTrak

— On the contrary, one helps the other. For instance, when we talk about metaverses, they share many similarities with modern computer games. They have the same virtual environments and the same possibilities for user interaction and collaboration. So, most metaverse development technologies are the same as those used in MMO games like 'World of Warcraft' or 'World of Tanks,' which we mentioned earlier. In these games, a large number of people simultaneously interact within the virtual game space—just like in a metaverse.

For an experienced MMO game developer, creating a metaverse is generally not difficult. However, creating such a game is considered a significant achievement among fellow developers. There are serious challenges in this field related to network interaction, optimization, and server infrastructure. Personally, I spent years understanding all these issues and had to complete several projects to master all the necessary technologies.

But once you have all the necessary experience, it opens up enormous opportunities for creativity and innovation. For example, I recently managed to create the world's first web engine for a metaverse that lets over 150 users interact simultaneously in the same virtual environment, all within a browser tab, without needing to install anything on a computer or use expensive VR hardware. This engine became the core of RemoteBridge, the largest and most successful HR metaverse today, used by companies like Google, Amazon, Microsoft, Intel, FedEx, Salesforce, Pfizer, Dell, McKinsey & Company, Mitsubishi, Adobe, PepsiCo, and other Fortune 500 companies. Of course, this required not only 'game' experience but also the creation of new tools and algorithms. However, the foundation of metaverses, as I've mentioned, is essentially the same as in games.

RemoteBridge
RemoteBridge

What new universes—in gaming and beyond—do you plan to explore in the future?

— I see great potential in using metaverses for children's education. In virtual reality, we can create something like a 'magic school' or an 'adventure school' by leveraging artificial intelligence capabilities. Kids love playing games, so we can design this metaverse to make learning an exciting part of the game. For me, this would be an impressive synthesis of my experience as a developer of both games and serious platforms like those for work and education. I've long wanted to create something significant in the field of education—something that would really boost kids' motivation to learn.

© 2024 iTech Post All rights reserved. Do not reproduce without permission.

More from iTechPost

Real Time Analytics