Languages you should learn to become a game programmer

Languages you should learn to become a game programmer

Gaming programmers help write and code the software for video games. Game programmer will typically be part of a collaborative creative team that includes game designers and artists. As a gaming programmer, you might design core game features, oversee game testing and conduct design reviews. You could also work in production, artistic concept, and game play. With people looking to get into game development one main questions come up over and over. There are literally thousands of programming languages out there. It's worth saying that only a very small subset are used frequently.

So how does a fresh new game programmer know where to start?

There are two main types of programming you should focus - 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.

1. System Programming -

Systems programming means programming for a stand-alone application, such as a video game run on your machine. The two most common languages for game designers to learn are C++ and Java, although other languages are popular C, C# for Unity, Assembly.

2. Web Programming -

Web languages are not so much one-or-the-other, they work in unison to create the kind of experience players expect. Web languages now include HTML5, CSS3, JavaScript, SQL.

C++

C++ is a language with a relatively high entry barrier, but the reward is greater because it allows more direct control over the hardware and graphical processes. It is an object-oriented language, meaning it uses internal structures to better organize code into reusable blocks. It is by far the most commonly used language for writing game engines, and some engines 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++.

Java

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.

C#

All things being equal, this is the language I go to. Generally, this is the non-C++ language most people will recommend and for good reason. C# is a modern derivative of C++, in that it was based on C++. Excellent standard libraries. Probably the best on any platform I've ever used. So things like working over the network, manipulating strings, loading files, etc. are by far easier than C++.

Assembly

If you as a beginner pick assembly in this day and age, you did something wrong, extremely wrong! Choosing assembly as your first language makes C++ look like a wonderful choice! That said, this is about as close to the metal as you can reasonably get. In this age of i7 quad core processors though, getting close to that metal is a pretty stupid thing to do.

HTML5 and CSS3 are the languages used in the web to give a page structure and visual display elements, respectively. HTML5 is a powerful language, and can be used in place of JavaScript in some cases. Most people think of JavaScript as a web scripting language and easily that is it's most common use, but this language ends up being used just about everywhere. It's worth learning, as it is really everywhere, and although beginning life as a bit of a hack, it has proven itself capable again and again.

Which language you choose to learn will depend a lot on where your interest in game development 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.


Comments (0)

  • To add your comment please or

We use cookies to improve your experience on our site and to show you personalised advertising. Please read our cookie policy and privacy policy.

Got It!