Is Understanding Game Engines/Low-Level Game Tech Still Essential in Modern Game Development?

Is Understanding Game Engines/Low-Level Game Tech Still Essential in Modern Game Development?

In the modern era of game development, game engines such as Unity and Unreal Engine have become staples. But does this mean that understanding how to develop a game engine or low-level game tech is no longer necessary?

Personal Experience: Creating a 3D Game with OpenGL

Recently, I embarked on the journey of creating my own 3D game using the OpenGL library. Admittedly, the graphics may not have been visually stunning, but the learning experience was invaluable. By writing raw OpenGL code, I deepened my understanding of graphics programming and solidified my knowledge of a core library that is fundamental to many game development projects.

Previously, I had written code inside a game engine, but that was significantly different from the challenges presented when writing low-level code from scratch. Without the support of a high-level engine, every line of code must be carefully crafted. Believe me when I say that writing low-level code is even more demanding. The process is absolute and unforgiving—OpenGL only draws basic shapes, and even coding it from scratch is a steep learning curve.

This journey taught me the value and intricacies of writing code at a fundamental level. It isn't just a task, but a creative and challenging one, regardless of the programming language used. It is an intellectual pursuit that should not be left to those of lesser intellect. After all, the tools and inventions of the modern world were designed to make our lives easier. Yet, it is unfair to exclude those who, through less time or fewer resources, may not have had the opportunity to delve into the depths of low-level programming.

The Necessity of Low-Level Knowledge for Game Developers

For the vast majority of modern game developers, understanding low-level game tech is not necessary. It is a luxury rather than a requirement. In fact, learning to develop a game engine is only beneficial if your goal is to create highly customized engines. For instance, if you aim to develop a game like Half-Life 3, you might want to enhance the graphics beyond what existing engines can offer. In such cases, building your own engine becomes essential.

For indie developers, while understanding low-level game tech can be valuable, it is not a necessity. It is more about learning the craft to the point where you can add this advanced knowledge to your resume for a desirable job position. However, creating AAA games (Triple-A) without millions of dollars is simply not feasible for most indie developers.

Illustrating the Importance of Game Engine Developers

Despite the abundance of game engines and tools, there is still a need for dedicated game engine developers. It is similar to the world of operating systems, where only a small number of developers truly understand how to build them. Without these individuals, the entire field of game development would suffer greatly. Just as operating systems underpin the functionality of computers, game engines are the backbone of modern game development.

Furthermore, not all game developers need to understand low-level game tech. On a typical modern game development team, fewer than 25% of the team members are developers, and this number is even lower if quality assurance (QA) team members are included. Among the developers, those with less than 10 years of experience do not need to have extensive knowledge of engine-level architecture or systems design. Engaging in engine-level knowledge typically becomes more relevant around the 8-year mark in a developer's career, but even then, it is not a dominant part of a game programmer's job for many.

Conclusion

While understanding game engines and low-level game tech is no longer a requirement for the majority of game developers, it is still a valuable skill for those aiming to push the boundaries of what is possible. As with any technical field, staying informed and learning about the latest developments can provide a significant advantage. But for the bulk of game developers, focusing on using existing tools, quickly implementing features, and minimizing bugs is the more practical and efficient approach.