|Unreal Engine 4|
|XNA Game Studio|
|Java / Flash|
Stop. Slow down. Picking the right programming software is not the first step; math class is. Nearly every function or loop in programming revolves around advanced math, which is why anyone who wishes to become a programmer will need to take nearly every math class that their college has. Have you already put in those years of dedication, or are willing to? Great. Here are some possible paths you might take after that long learning journey.
First of all, if you’re an aspiring game artist, don’t worry! Coding isn’t something that will be asked of you, but it doesn’t hurt to educate yourself about a vital part of your studio that’s often filled with unsung heroes. Your art will be seen by everyone, but their work is often taken for granted. This introduction is for both curious artists as well as those who aspire to leave their pursuit of art and instead approach projects from the programmer’s perspective.
Before getting to which programming languages you can use, it’s important to first realize that coders have become just as specialized as artists have over the years. Things used to be as simple as one graphics engine programmer, and then came the need for sound programmers and separate gameplay programmers. Eventually the need for AI (artificial intelligence) and UI (user interface) coders arose, as well as scripters for cinematic events and quests, and also porting programmers who transport a game from one console to another. In recent years physics and network programmers have also become popular as games and their online environments grow more and more complex.
Just as different studios choose different 3D software packages from one another for their artists to use, they also differ in which programming packages to use. In the past, I’ve said many times that it’s less about which 3D software you use, and more about knowing the fundamentals of animation and then learning different software tools to help you do what you want. The same is true for programming languages that all have different syntax approaches to many of the same mathematic principles of coding.
You can break down every code until it’s nothing more than binary, and ever since Assembly we’ve been simplifying it (imagine writing a program in just 1’s and 0’s) by making it more complex (adding program commands that interact). Modern day games are mostly created with C/C++, though working with code for a PS3 is obviously different than coding for the hardware in a Nintendo Wii. C++ has its hand in several programming markets, and gaming is no different.
Unreal Engine 4
If you’re coding a game in C++ or something similar from scratch, then you’re going to need to build a robust game engine from scratch each and every time. It’s not possible for most companies to do this and still expect to release a game every other year, so it’s somewhat common for studios to license the current Unreal engine and use their pre-existing functions and code to expedite the process
XNA Game Studio
Microsoft XNA is a .NET programming package that allows coders to build the indie game they’ve dreamed up, and more importantly, it also helps them share their creations with the world. There are plenty of ways to create a low budget Windows PC game, but making a game for a console is something that hasn’t really been an option in the past. XNA allows you to share your game on Xbox Live, which is a great opportunity for exposure, so that as many people can enjoy your game as possible.
There’s Panda 3D, Blitz3D, and plenty of others; take your pick. My personal preference as an artist who only has primitive programming needs is DarkBasic Professional, and as someone who’s only taken one coding class and loved to code TI-83 games back in high school, it meets most of my needs. If you go this route you may want to also look into Lua, Python, and AutoIt for related uses, but it’s not necessary.
Java / Flash
Java and Flash are both great places for beginning coders to start learning. Java’s perk is how portable it is across most platforms. Flash’s ActionScript is fairly simple to learn and use, and meshes will with most artists, but arguably its biggest perk is how easy it is to share your game online.
Then there’s GameMaker, which is about as easy as it gets for an artist to make a game. Tell the program what sprite image is your character, how it can move and act, add some sound files, and then build the game world block by block. It’s not only limited to top down 2D creations, but it does encourage that style. You’ll still need a basic understanding of variables and other fundamentals, but the difference is that you can learn it all in one night instead of spending countless hours reading before actually creating anything that’s worth playing. For the artists out there who are terrified of coding, start here and work your way up this list over the years until you feel like you’ve reached your limit. Good luck!
Game Design Schools to Consider: