There are many occupations in the game industry ranging from Level Designer to Twitch stream, with individual skill and experience to learn and focus on. In this blog, I’m going to primarily look at programming and what is needed to break in this industry (well the most common way, there are always outliers to almost anything).
Skills & Knowledge
The skill you need as a programmer can vary, they’re different subsections of game programming. Online programmer, gameplay, web, 3D, system administrator. The general common knowledge for all of them is that you know the fundamentals/principles of computer science. But they generally all have common qualifications and/or skills.
A skill that is highly used almost cross the industry is the knowledge and use of C/C++. Most AAA and now some AA developers heavily rely on C++ for the most graphic and processing-intensive games. C++ allows the developer to work with memory, processing, and storage usage. This is very beneficial to allow them to push current hardware, make the tech industry having to innovate and create better technology. Video games do this a lot with new console generations and more powerful GPU’s being made.
This skill is also beneficial to learn because now most AAA studios have in house engines that are built and use this C++, some others along with AA studios use Unreal Engine. But companies also use Unity, which has been growing in popularity for the past years in the indie and mobile area. Now AAA companies are open mobile-specific studios to develop for the mobile to capture that growing market. Unity use C#, another good language to learn, which falls in the C-Languages so it’s easy to learn the syntax if you learn C++, so to keep it short knowledge trickles down. You can learn C# first then C++ which can reduce the learning curve a little bit, but the reverse is easier. But C++ is more desirable, for example, Behaviour Interactive is hiring Unity programmer, but they still want them to know C++, even though Unity uses mainly C#. Course there are other languages out there that can be used to create games but those are the main ones.
Another important skill is mathematics, coding and math go hand and hand. Yeah, some programmers can get away with knowing the basics, but working in 3 or 2-dimensional space you’ll need to now much more. Now some games engines can do some of the work for you, but it’s still beneficial to understand what’s going on or if you need to create a new way to do a task. This math can vary but is a small list of mathematics used in video games daily:
- Matrices
- Delta time
- Unit and scaling vectors
- Dot and cross products
- And scalar manipulation
- Quaternions
These skills are the foundation of being a game programmer in today’s job market. To refer back to companies using different game engines, some companies want you to be knowledgeable about game engines and physics engines. Being knowledgeable about the game engine, how their tools set work and their coding pipeline works. AAA companies that are using in house engines still look at people who have learned engines like theirs. So then if they hire that person, training them to use their engine will be much easy then training someone from scratch, saving them time and money.
Roles and Responsibilities
Now that we talk about what skills and knowledge are needed to get into the industry, what roles and responsibilities come with it. like I said earlier they can differ depending on what type of programming you do. Since there are many of them, I’m to pull from some of them.
Gameplay programmer
A gameplay programmer is responsible for player interactivity, taking the assets from the designs and making the working in the game. In some studios, this title can be used for a different role like UI programmer, but at the end of the day, the role gameplayer programmer is anything to do with the user.
AI programmer
Now, most of any game you play as some sort of artificial intelligence. An AI programmer role is like the gameplay but focuses only on AI interactivity. NPC’s (none playable characters) in a stealth game for example, how they interact with the world, what state they’re, if the player in their sight of view, patrol patterns, etc.
Online and Network programmer
Every online game has a team of programmers working on it, front-end and back-end. Online programmer role is the front-end of it, create a player to player experiences, new game modes for online matchmaking. The network programmer’s role is the back-end of it, managing and optimizing it. Making sure you have the best connectivity experiences.
Tools programmer
Tools programmer’s role is exactly how it sounds. They make tools. These tools are utilized by all the other programmers and sometimes designers, they make it easier and faster to use and do things in the engine, in return speed up development times.
To wrap this up, knowing the right skills and the right knowledge is important in breaking into the game industry. Yeah, you necessarily don’t have to have these particular skills but in this work field, they are less likely to hire you. It’s also important what type of video game programmer you want to be since they have different roles and criteria for them. Me personally I’m looking to be a gameplay programmer, and it may be more difficult to find a job in my interest because i don’t have the proper skills and knowledge yet. Thankfully there are great resources out there that I can use to learn them myself.
Research and Sources
- Game Developer’s Guide: How to Become a Video Game Developer
- Video Game Programmer: Career success tips for 2018!
- Video Game Programmer Job Description, Career as a Video Game Programmer, Salary, Employment
- 5 Types of Video Game Jobs
- Programming Languages for Game Design
- Using Math in Programming & Game Design
- GameDev (Stackexchange)
- Programmer (Unity – C#) (beHaviour interacive)





