GameDev

Game Developer: How to Make Childhood Dreams Come True

Game Developer: Who They Are and How to Become One

When we think of the entertainment industry, we first think of music, TV shows, and film. But many don't even realize that there is a segment that is several times more valuable than all of these industries combined. This is the computer gaming market, which is estimated at $245 billion in 2023, and could grow to $400 billion in the next four years. Today, there are more than three billion active gamers in the world, and their number is constantly growing. As is the industry as a whole. The most successful games sell hundreds of millions of copies, for which companies receive billions of dollars in revenue. New projects are constantly emerging that require top professionals—experienced coders and enthusiasts with fresh ideas.

Game development is a profession with a certain amount of personal and creative freedom. Game studios create a relaxed work environment and promote remote employment. While programmers rely on template solutions in software development, game development teams often receive carte blanche.

Game development isn't just about large-scale AAA projects like Grand Theft Auto (GTA), Call of Duty, and Need for Speed. The gaming industry is multifaceted. Mobile and browser games, Facebook and VK apps, Easter eggs in commercial apps, add-ons, and separate rooms for entire virtual worlds—you can find yourself in the most unexpected industries.

Learn how to create characters and game scenes in Blender in the Unity Game Developer from Scratch to Intermediate course.

Learn more.

Game Developers. What They Are and What They Are Responsible For.

To understand who a game developer is and what they do, you need to understand a little about the industry.

Games were once simple and created by a small team. For example, Tetris was developed by Alexey Pajitnov in his free time, without receiving any dividends for his work. The most successful commercial projects are often the result of the labor of one person. "Space Invaders" is the work of Toshihiro Nishikado, "Pac-Man" is the work of Toru Iwatani.

Modern games are entire virtual worlds with complex graphics and game mechanics, an intricate plot and the ability to interact not only with AI characters (edit: mobs, bots), but also with other players. Hundreds of specialists work on large projects. Among them are programmers, environment and character designers, sound engineers, scriptwriters, artists, testers, and game designers.

Each of the specialists associated with this industry can be called a game developer or gamedev. But traditionally, the term refers to programmers who write code for the game. Dozens of coders can work on a single project, and they are divided into several areas:

  • Gameplay developer. Works closely with game designers and animators. His responsibilities include developing game mechanics—the way the character interacts with the game environment, working out physics (the laws of physics in the game), and scenarios for how enemies or non-player characters behave when in contact with the player.
  • Engine developer.Creates the game engine (the game engine) or refines an existing one. This is the part that ties all the components of the game together, similar to an operating system for a PC. Contains scripts responsible for visualization, game artificial intelligence (AI), animation, sound processing, and memory management. The programmer works on software components and tools (for example, level editors) that simplify the development of the game or its add-ons for other team members.
  • Animation developer.Responsible for developing the visual part - the surrounding world, animation, game and non-player characters. It is important to understand that this is not an artist, but a programmer who collaborates with 2D and 3D designers. Unlike films, most of the surrounding world in the game does not consist of raster images, but is calculated by the video card based on program code and mathematical formulas.
  • UI Developer. Develops game elements outside the game world - splash screens, mode selection menus, settings pages, and the user client for online games.
  • AI Developer. Responsible for setting up game AI. Creates scenarios for the behavior of non-player characters, bots, and mobs, as well as the environment, depending on the player's actions.
  • Graphics programmer.Optimizes graphics — reworks code and scripts to ensure a high frame rate without game lag.
  • Frontend and backend. Some games exchange data with a remote server and offer online multiplayer. A backend developer codes the server side, configures databases, and configures internal game processes. The frontend works on the client part - the application on the user side.

What does a game developer do?

Game development is a creative process. There is no strict binding to standards, and each studio builds its own work process. In some companies, there is no strict delineation of specializations, and one developer can be responsible for several areas at once. In small teams, programmers sometimes work on 3D design and scriptwriting simultaneously. Therefore, the tasks a game developer solves vary greatly from studio to studio. However, coding alone is usually not enough—they also need to be able to generate ideas and translate them into code. Common responsibilities of a game developer include:

  • Developing new ideas and implementing them.In game development, a developer not only solves a problem, but sometimes also acts as an architect, refining and supplementing the concept, creating new game mechanics and visual effects. For example, the effect of eyes adjusting to the dark first appeared in the game "Serious Sam", and it was invented by a programmer from a small team.
  • Transferring the ideas of designers and artists into program code.This may include developing code from scratch or modifying and optimizing scripts taken from an existing game engine.
  • Animation of game and non-player-controlled characters and other objects.Object movement, character facial expressions, various actions like shots, jumps, and punches — a separate script is created for each of them.
  • Script development. How the music will change depending on what is happening on the screen, how the in-game environment will react to various player actions.
  • Game testing. Search for errors that lead to crashes: freezing, violation of in-game physics, problems with animation, display of objects and phenomena. If a game is released for multiple operating systems, each version is tested.
  • Performance Optimization.Contrary to the myths and conspiracy theories circulating on forums, game developers don't raise the bar for hardware performance requirements. On the contrary, one of the game developer's jobs is to eliminate bugs and optimize code so that the game runs not only on PCs with top-end specifications, but also on relatively inexpensive devices. Developers optimize frame rates, character detail, and the level of game world detail.
  • Porting a game from one platform to another (edited: porting).For example, a game written for Windows OS is rebuilt to run on Apple, Android devices, or a gaming console like Nintendo, Xbox, or Sony PS. In some cases, the code has to be rewritten from scratch.

What hard skills are needed for the job?

In the gaming industry, developers don't rely on formulaic approaches, but look for new solutions. Some teams are made up of enthusiasts who learn many processes on the job. Therefore, there aren't many criteria for selecting applicants in this field. A good knowledge of programming languages ​​is paramount. Among the main languages, we note: C++. Large-scale AAA projects are indispensable. Its advantage is the high performance of the written code due to flexible management of graphics and memory processing. This language allows you to write technically complex games that won't be too resource-intensive. C++ supports most game engines and SDKs (platforms on which other developers can create their games).

  • C#.It is the native language for the popular Unity game engine, which has been used to write thousands of games. Unity developers are in demand and earn the same salaries as C++ specialists.
  • Java.You can also enter game development using Java, which is popular in mobile game development. It is platform-independent and allows for the creation of applications for various operating systems, including desktop PCs—the popular game Minecraft is written in Java. This language is easier to learn than, for example, C++, but it is rarely used in large-scale projects.
  • Other programming languages.JavaScript and Python are used in browser-based game development. Both languages ​​are relatively easy to learn, have a community, and a wide selection of frameworks and libraries that simplify and speed up game prototyping. PHP and GO are also used to write the server side in game development.
  • If we talk about the hard skills of a game developer, the main ones include:

    • Knowledge of low-level libraries DirectX, SDL, OpenAL.They contain a ready-made set of instructions for accessing hardware - a sound and network card, joystick, mouse and keyboard.
    • Mathematics and physics.For example, when working with animation, knowledge of trigonometry, linear algebra and differential calculus is needed. To create a realistic simulation of driving a car, interacting with the game world - an understanding of mass, inertia, thermodynamics.
    • Knowledge of popular game engines - the software core that is responsible for the technical side of the game.Some projects include a visual development environment. For example, a level and character editor. Even if the studio is developing its own engine, knowledge of third-party software will help avoid common mistakes and speed up development. Popular platforms: Unity, Unreal Engine, Game Maker, CryEngine, GameSalad.
    • Basic knowledge of 3D graphics editors.Popular ones include Blender, Maya LT, 3DS Max, Houdini, Photoshop (working with textures). Here, the ability to edit, export 3D models, and work with textures will come in handy.
    • GIT version control system. Used by studios and indie developers. This system allows you to synchronize the team's work and promptly roll back unwanted changes.
    • Understanding of data structures. Ability to work with MySQL, MS SQL, Oracle.

    How to become a game developer

    There are several ways to get into the industry. The most obvious is to get an education at a university. For example, at BSUIR. But, as in other areas of the IT field, employers prioritize a portfolio and knowledge that can help implement projects, not a diploma. The industry is so vibrant and changing that educational programs don't always keep up. In any case, some skills will have to be mastered from scratch.

    But don't be afraid and give up on your dream. As Jez Sherlock, Vice President of Technology at Aspyr Media, told Builtin, you don't necessarily have to be an ace in C++ and systems engineering. Even in small teams, no one will trust a beginner with the development of the engine and the system core. This is done by developers with 10 years of experience. And many specialists start as a tester or refinement of existing scripts.

    In the same article, EA Red Crow engineer Sean Warnock noted: “Just having a degree isn’t enough. You need to have some proof that you can do the job you’re applying for. If you’re a level designer for a browser game, it could be a screenshot or a video of your levels. If you’re a programmer, it could be game repositories on GitHub.”

    The industry is not limited to PC and console games. You don’t need to create large-scale projects to demonstrate your skills. If you're familiar with software development, you can start with a simple arcade game. There are mobile and browser games.

    You can enter the industry by developing commercial applications or web development with knowledge of HTML and JavaScript, Python, Ruby, or Java. You can master the Unity game engine, where many processes are reduced to working in a visual editor, and knowledge of the C# language will be sufficient.

    If you're starting from scratch, self-studying the profession can take years, and during this time, your knowledge may become outdated. In this situation, as an alternative to university, you can choose distance learning courses in game design and game development. They allow you to acquire the necessary skills and build a portfolio in an average of 8-12 months. When choosing, we recommend paying attention to the relevance of the training programs and the opportunity to work on real cases.

    How much does a game developer earn?

    The classic scenario for a game developer's career development is to start as a tester and understand the principles of game development, gradually developing:

    • Junior. At this stage, it is often enough to know C#, Unity, Git and be able to work in a team.
    • Middle.A specialist with about three years of experience, who can work independently on individual tasks. Has good knowledge of 1-2 engines and several programming languages, and is familiar with C++.
    • Senior. A game developer of this level can solve complex problems. For example, modifying or creating a game engine. He knows several programming languages, databases, can manage a team, act as an architect, and is familiar with various aspects of game development.

    You can search for employers directly - through the official websites of the studios. Alternative methods - LinkedIn, rabota.by, hh.ru, glassdoor.com, ziprecruiter.co.uk, talent.com. Freelancing in game development also exists, but it is underdeveloped.

    Game developers are among the highest paid specialists in IT. Their salary depends on their qualifications, specialization, and place of employment. The editors of Skillbox.by studied job search services - today in Belarus the highest-paid developers are C/C++ and Unity developers at the Middle and Senior levels. On the same website rabota.byyou can find vacancies with a salary of $2,000-3,000. However, most companies do not indicate their expected income.

    In the US, UK, and EU countries, game development remains one of the highest-paid professions in IT. According to glassdoor.com, the median developer salary in the US is $123,000 per year. The annual income range is from $95,000 to $160,000. Some companies pay above the market. For example, the median income of developers at the studio Robloxis $217,192 per year, and the salary of individual developers reaches $289,000.

    Similar data is provided by the portal builtIn.com. The resource talent.comprovides more modest figures. The median salary is $105 thousand per year. In the UK, developers earn a little less. ziprecruiter.co.ukMost companies offer an annual salary in the range of 76-114 thousand dollars.

    Successful projects in game development. Useful resources from the editors of Skillbox.by

    In the field of game development, it is difficult to predict the result in advance. Even a technically perfect project with beautiful graphics can become a failure. And vice versa - relatively simple games gather millions of fans, high ratings from critics and bring millions to their creators.

    The business model is constantly changing. In the formative years of the industry, slot machines brought in the main profit. This model has long been defunct, although it remains one of the most profitable in the almost 50-year history of computer games. Space Invaders, a simple title by today's standards, earned its developers nearly $14 billion.

    In the last 5-7 years, mobile online games have become the most profitable. Developers distribute them for free and make money from advertising and premium subscription sales. In 2020, Honor of Kings, Peacekeeper Elite, Roblox, and Free Fire generated over two billion dollars in annual revenue. They outpaced AAA titles such as Call of Duty: Modern Warfare, FIFA 20, Grand Theft Auto V, and Cyberpunk 2077.

    Indie projects are still successful. Just look at the success of Minecraft, which was single-handedly created by Swedish programmer Markus Persson. Or Stardew Valley, created by Eric Barone. And a small team, Croteam, worked on the cult shooter Serious Sam, which brought many new technologies to the industry.

    Game developer is an exciting and highly paid profession. There is a lot of creative freedom and no template approaches. Even the work process is organized in such a way that employees are not constrained by boundaries. But to become a developer, you need to be able to see things through to the end and be personally proactive. To help you get to know the game development industry better, Skillbox.by has put together some useful resources for you.

    References:

    • Mike Gale, "Developing Games on Unity 2018 in 24 Hours";
    • A. Cookson, R. Dowlingsoka, K. Crumpler, "Developing Games on Unreal Engine 4 in 24 Hours";
    • Jeremy Gibson Bond "Unity and C#. Game Development from Idea to Implementation."

    Internet resources:

    Learn to develop games of various genres using Unreal Engine 4. Master programming in C# and Blueprints. Explore the specifics of game development and reach the middle-level.

    Take access