It’s an inescapable fact that game designers, on occasion, may be asked to do a little programming.
This comes down to entry-level designers often switching their positions in teams a lot, and the nature of game design teams being very fluid.
It is not unusual for designers to step in and program, freeing up the game programmers to work on something more complicated, just like it is not unusual for programmers to be consulted during the design process.
That said, getting started in programming can be a little daunting.
What is the best language for game development?
Currently, The best programming languages for games are:
Where to Start?
There are literally thousands of programming languages out there (although it’s worth saying that only a very small subset is used frequently), so how does a fresh new game designer-come-developer know where to start?
Well, that’s what this article is about!
It’s no lie that there is only a small subset of commonly-used languages, and the languages used for games are an even smaller subset of that.
There are two main types of programming you should focus on as well, something called ‘systems’ programming, and ‘web’ programming.
Both are important, although what you end up doing will mostly be down to the focus of the studio and their in-development titles.
Systems programming means programming for a stand-alone application, such as a video game run on your machine.
Another type of programming you may hear referred to is scripting, but that essentially comes down to a type of systems programming.
Web programming is used, funnily enough, for applications that are run through a browser over a web interface.
Web languages are not so much one-or-the-other, they work in unison to create the kind of experience players expect (although some programmers will specialize in just one or another).
Web languages now include:
Along with things like content management systems (which are beyond the scope of this article).
8. The Wizard
9. Little Alchemy
10. New Super Resident Raver
C++ is a language with a relatively high entry barrier (meaning it’s quite difficult to learn), but the reward is greater because it allows more direct control over the hardware and graphical processes (something very important in video game design).
It is an object-oriented language, meaning it uses internal structures to better organize code into reusable blocks (classes and objects).
It is by far the most commonly used language for writing game engines, and some engines (such as Unreal) only accept information written in C++.
If you only choose one language to learn, this would be it, because most other object-oriented languages stem from C++ (so picking them up will be easier).
Games made with C++
2. Doom III Engine
3. King Quest
5. World of Warcraft
6. Warcraft III
7. Football Pro
8. Master of Orion III
Java runs on everything, from printers and microwaves to complex video game systems. It is a very dynamic language with lots of applications, making it seem like a good choice to learn.
Java is closely related to C++, so learning the two alongside each other would not be difficult.
Games made with Java
1. Tom Clancy’s Politika
3. Powder Game
4. Star Wars Galaxies
Tutorials for Programming Languages:
HTML5 and CSS3 are the languages used in the web to give a page structure and visual display elements, respectively.
SQL is used for back-end database work so that the player can access their account and do other things on the server.
If the studio you want to work for has a web-game focus, it’s worthwhile brushing up on all of these languages, but you probably will not require a very deep knowledge of them.
Games made with HTML 5
1. Kingdom of Loathing
2. Nothing to Hide
3. Gods will be watching
4. Roll It
5. Cookie Clicker
Video Games That Teach You to Code
I wish I had learned how to code. I would be able to make my own games, web-based apps, and everything, you name it. Well, it turns out that I still have time to code. Not only that, but I can do it using games instead of complicated software or a boring class where you would rather fall asleep than listen to a professor drone on about stuff.
I took a coding class once and I was forced to buy my professor’s book that proved to be a bunch of garbage. And no, I didn’t pass the class, so stop wondering!
These games are perfect for teaching you how to code, so pretty soon you can start coding and making your own creations. I found a few great options if you are like me.
1. Code Monkey
Code Monkey is geared towards kids and adolescents, but don’t let that stop you! I know, I know, it’s for kids, not for me. Wrong, friend: it’s for everyone.
It turns out its interface is super easy and goes through the rudimentary phases of coding and creating. It is geared towards students, so right off the bat, it is geared towards teaching.
Users of Code Monkey don’t need to have any prior experience in coding to begin—it’s all about clean slates and fresh starts. They include detailed plans and even video tutorials.
If there’s one thing I love more than gaming, it’s a good video tutorial. Through basic text-based coding, you can easily learn the basics and build a foundation for yourself. Plus, it’s free!
2. Code Combat
Code Combat is a great way for people to see their coding actions brought to life immediately. Not only that, but you learn to code by actually playing the game in real-time.
You control your character’s actions by coding, helping them progress towards the goals in the game. For example, you can get your character to move towards a treasure chest by typing ‘hero.moveRight( ) to get the character to, you guessed it, move right.
This method of real-time interaction is revolutionary and is super helpful for first-time programmers.
Much like Code Combat, Robocode thrusts the player/programmer into a scenario where you need to combat other robots. The only way to do so is by using Java, Scala, C#. It’s a great way to throw the programmer right into the pilot’s seat, keeping them on their toes.
This is a great little community for prospective programmers. Players of the game will have to pass tests, or Kata, to advance in the game. Katas are usually debugging exercises, serving as little tests for you along your programming journey.
With addicting gameplay, Codewars pulls the gamer in and keeps them up to date and practicing on their coding. The great mix of addicting gameplay and educational activities is a real slam dunk for people looking for games to help you learn how to code.
Codingame is a website and suite of programs that emphasize teaching coding through gameplay. It offers multiple avenues of learning code through different game types.
One I particularly liked was a motorcycle race where you had to type in the code to avoid obstacles on the track. This is a faster-paced style of coding akin to the aforementioned Code Combat.
Another facet of Codingame is that you are solving the most important coding problems while also getting help from experts in the field. The fact that you can get assistance from coding experts is definitely one of the best parts of Codingame’s function.
A big part of Codingame, (and the other games listed), is practice. Although these games are great, you need to stick with it every day to really build up your coding chops.
6. Shenzhen I/O
Here’s an interesting one. Available on Steam, Shenzhen I/O is a puzzle game that emphasizes coding while mixing it with addicting gameplay that trains your brain. The story is the player is a coding expert moving to China to work for a tech company.
While there, the player is tasked with making technological products for clients. Through these small stages and products, the player solves puzzles in the form of coding. This is a great method of teaching code. A cool little story mixed with great gameplay makes learning code addictive.
7. Human Resource Machine
This game available for mobile platforms and PC, Linux, and Nintendo Switch is much like other serious games that teach you to code. Developed by Tomorrow Corporation, it includes over 40 puzzles that serve as both gameplay and coding experience.
The player is introduced to the ‘office’ where they need to complete tasks and keep their job for years at the Human Resource Machine. The way in which players do this is by coding and completing tasks in that fashion.
The game got great reviews, with reviewers praising its skilfull integration of coding with gameplay and introducing some more complex coding nuances into a package in which nearly anyone could understand and enjoy.
I love how the Internet is filled with different games like these, many of them free of charge. No matter where you look, you can easily find them. It’s almost impossible NOT to find them. They’re on web browsers, they’re on Steam, apps on mobile devices, etc.
Do you know what that means? You have no excuse not to get out there and start coding. People who made coding their life’s work have, in turn, opened up the floor to amateur coders or even people who have a passing curiosity for it.
No more sitting through a boring class as I did. You can now do this from the comfort of your own computer ‘battle station’. No grades just practice every day to learn to code, and hopefully, making your own game through any of these options.
Which language you choose to learn will depend a lot on where your interest in game design lies; web-based or PC-/console-based.
PC- and console-based languages will include object-oriented languages, as well as simpler scripting languages, whereas web development will focus solely on technologies built for the web (although there is some crossover, again beyond the scope of this article).
We hope this run-down of the top languages to learn has been informative. Check back for more on how to best prepare yourself for a career in game design!