[Top 5] Best Game Programming Languages

Best Game Programming Languages
Updated:
22 Oct 2020

A roundup of the various programming languages available to game designers is always a bit odd. Generally, one chooses a language and works with it enough to become proficient after years of slamming their head against syntax errors, uppity and rebellious compilers, and a feature which doesn’t appear to do anything you tell it to. The idea of picking up another language sounds atrocious, unless one can convince themselves it is better than the previous, of course.

In my experience, one simply runs into new and exciting ways to break their applications. To be clear, this is a beneficial exercise, but there is no programming language which is generally the best. Instead, there are languages which are the most widely adopted and thus have the most support. Some languages are optimized for certain things and knowing which is which before having spent a month coding in it is a good idea.

Here are the top five, one of which involves a newcomer. Becoming adept at any of these languages will allow the programmer to make some half-decent video games. Creativity sold separately.

 

5. Jai

I don’t know much about Jai, honestly. I just like its name and the individual most visibly responsible for developing it. Jonathan Blow, of Braid and The Witness fame, has turned his attention to producing a new programming language. His stated goals with the language are to outperform C++, something which has been attempted before with few successes, if any. As a bit of an aesthetic weirdo, he has also claimed he wants it to be a joy to program with. I’m not entirely sure what he means by this as I’ve never derived a ton of joy from coding anything myself; but I’m hardly seasoned. My work mostly focuses on busting code, not having a good time creating it.

There are samples of Jai available to consume and play around with. I have not yet done so as necessity has not compelled me to, but I won’t miss an opportunity to evangelize Mr. Blow’s work. If it proves to be adopted widely, one could do worse than understand it. But no one knows if it will be yet. Something to keep an eye on. If it manages to outperform C++ without sacrificing too much, it likely will. The last I had heard, as of six months ago, Mr. Blow was working on a compiler for it. I’m looking forward to decimating it should it become a thing.

He occasionally tosses up discussions and tutorials on YouTube, updating us on his progress.

  • Intended to outperform C++, the most performing language available.
  • Intended to be a joy to code in, whatever that means. Joy for me is compiling the first time..
  • Developed by a game maker who obviously loves games. This is like Tarantino making movies.
 

4. Python

I’ve just started digging into Python and it seems fairly straight forward; at least so far as programming languages are concerned. The complexity of these things could put a 17th century continental existentialist into apoplectic shocks of confusion. Spinoza could likely pick up a programming language, but I suspect Descartes would be entirely lost. Python seems okay so far to me, and more developers are adopting it every day.

Some of my familiarity with Python comes from experience with C++. They are both object-oriented, which can throw some aspiring developers into fits of befuddlement like the aforementioned existentialist. So, overcoming that hump, tiny as it seems, is deeply beneficial and can be done in either Python or C++. Understanding of one, in some cases, helps understand the other.

Python also lends itself to scripting quite well. So, if one is interested in testing software or managing large banks of service machines, it is a good one to get going on first.

  • Both a scripting and programming language.
  • Strangely simple compared to other languages, such as C++.
  • Excellent beginner’s language.
 

3. C#

C# is the suggested programming language of choice for folks working with the Unity engine. I am told this is due to its working with .NET easily, which I believe. Folks with resources for C# development on their machines will necessarily have .NET libraries. Unity jacks into this and run mostly via .NET frameworks, so a little bit of C# should propel the developer right along.

I’m still learning about Unity, usually only in situations where I have to. But I’ve dabbled with C# enough to produce a few console applications that would tell me which gear to pick up back when I was playing World of Warcraft too much. I got sick of crunching numbers myself and spreadsheets were becoming unwieldy and unmanageable. So, I coded an application to do it for me. Freed up more time to eat Cheetos and shotgun Mountain Dew in between screaming at noobs on Ventrilo.

  • Somewhat simple language. Again, compared to C++.
  • Works well with Unity engine and multiplayer networking.
  • Easy to bang together console applications for quick number crunches.
 

2. Java

Java, as these things are measured, is usually pretty easy to use. Unfortunately, over the years, repeated releases of the thing have made catching up about as much fun as attempting to complete Ironman mode in X-Com 2. That is, not fun. Not fun at all.

That said, it is still pretty solid. It is a scripting language more than a programming language, meaning you don’t need to compile the thing before running it. But it is indeed both things; interpreted and compiled. You can make games with it, tweak this or that thing, and see how it goes with little turnaround time. A ton of web games are almost entirely Java powered, if not entirely. Browsers power Java with little difficulty so if you’re looking to pump out a few little web games, this is your guy.

Just understand different full releases of Java break older releases of Java with alarming regularity. I’ve also been told Java suffers severe issues in terms of security, but I’m afraid that’s far above my paygrade. So, I’ll just relay that information uncritically.

  • Runs in a web browser! This means web games.
  • Java runs on most platforms, I’m told. I’m also told some explicitly don’t allow it.
 

1. C++

C++ is king and has been for quite a while now. It is arcane, weird, and intensely finicky from my perspective. But it prioritizes performance and speed, which is what you want in any sort of consumer-oriented software. When I say jump, I don’t even want my character in the video game to even take the time to ask me how high; I want them to jump immediately. This is possibly the most important reason serious game developers figure out C. One could make money wagering their favorite games were coded in C++.

For the Unreal Engine, possibly the most popular game engine around, C++ is a must. Most of your favorite games run on that engine. Whether this is due to C++ already being popular or if the popularity of the Unreal Engine made it so, I do not know. There’s a real chicken and the egg situation going on here, but in any event, they work great together. Many functions one would want to implement in their game already exist in C++ libraries, too.

Sometimes one doesn’t need to invent the wheel. Because the wheel already exists in a standard library.

  • Performance! Apps in C++, coded properly, just run faster.
  • Popular among game developers the world around.
  • It can be complicated and arcane and nuts, but all that insanity allows for modular development. Code it once, save it, re-use it later.
 

But it depends, really, on what you want to do. Different languages are produced and used for different reasons.

If you’re getting started in programming, picking one of the programming languages here and sticking with it for a bit will definitely get you moving. But having a decent idea of what you want to do beforehand will help quite a bit. If you’re interested in pumping out a few smaller, web-based games, Python or Java will get you there more easily. If you want to craft a gigantic, cinematic driven extravaganza action game, pick up C++ and God speed you on your way to sleepless nights and caffeine addiction.

You May Also Be Interested In:

image
Gamer Since:
1984
Favorite Genre:
RPG
Currently Playing:
Tony Hawk's Pro Skater 1+2
Top 3 Favorite Games:
Dark Souls 3 , Diablo, The Talos Principle