Mind Your Language
Game designers wear many hats. As an entry-level employee in any industry, you’re often asked to do things that don’t usually fall quite within your job description. It’s good to be able to be flexible when necessary! As a game designer, you may be asked, from time to time, to do some programming, or you may be asked to step in and do a little coding while the “real” programmers work on a complicated piece of the game. It can be a little daunting to step into a position that’s foreign to you, but we’re here to help. In this article, we’ll unpack the top three programming languages used in the development of mobile games and PC games.
What is Programming?
Before we get into the details of the different languages, let’s unpack the concept of programming for games a little bit. Basically, what programming is in this concept is the development of the software that will eventually become the game. What this entails is writing every line of code that will go into creating the game world, the characters, and all of the actions that the players will see and take on the front end. An easy way to think of it is this: programming is the bones of the game. It is the base structure to which everything else will be added.
Programming and coding are not the same things. Though they are very similar in many ways, coding is the actual language that the machine program will have to translate. Programming is building the system that will carry out these written commands (the bones or skeleton), while code is the instructions that will be carried out by the program. These days, the terms “coding” and “programming” are often used interchangeably, but they are not the same thing.
A game programmer writes all the details that bring a game to life. Of course, you’ll work closely with the producers, game designers, art and animation departments to ensure that the results are smooth and cohesive. Your job as a programmer is to turn a vision into a functioning, entertaining, and engaging end product. You might need to dictate how fast the game characters will be able to run or how high they jump, where the antagonists will appear, and when and how the in-game characters react when they are engaged or attacked. It’s a huge amount of work and responsibility.
Let’s start off with one of the trickier languages. C++ is known for having a rather high entry barrier, so it’s likely that if you are not experienced, you would not be asked to work with this language, but it is always better to be safe than sorry. C++ allows for a large amount of direct control when working with the hardware and graphical processes, which is extremely important in game design. It’s challenging to work with, but the reward is worth it. C++ is object-oriented. What this means is that it uses an internal structure to organize the code into reusable blocks, which are separated into classes and objects. It is by far the most commonly used programming language for writing game engines, and there are certain engines (like Unreal) that will only accept C++. If you can choose to learn only one gaming language, this is the one to choose. Sure, other languages may be simpler to pick up, but most body-oriented languages stem from C++, so why not learn it?
Games developed using C++:
- The Doom Three engine
- Little Alchemy
It might not be the most popular of all the options, but Python is used for game development as well. It’s very developer-friendly, so you shouldn’t come across too many issues. Its PyGame library is incredibly helpful, and the system is easy to use for quick results, which is a must when you are under the gun to get a prototype out. The syntax used in Python places a lot of emphasis on readability, which brings the overall cost of program maintenance down significantly; Python also runs a lot of OOP principles. The language’s learning curve is soft, so it’s ideal if programming is not usually your forte. It is an interpreted, object-oriented language featuring dynamic semantics. Python is multi-functional and can also be used as glue language or scripting to connect components that you already have. It supports both modules and packages, which means that you can stay modular and re-use a lot of the code that’s already been written.
Games developed using Python:
- Battlefield 2
- Frets on Fire
- Toontown Online
Of course, there are many more programming languages out there, but these are some of the most used and loved for various reasons. It never hurts to upskill- there are many online courses that are pretty cost-effective and can help you be prepared should the need ever arise for you to step out of your comfort zone. Invest a few hours of hard work, and you’ll have a new skill at your fingertips. Programming languages are exciting, and they are part of a world that is always evolving; why not evolve with it?