One of the most intimidating parts of becoming a game developer is the sheer amount of software a person needs to know. Below is a list of some of the most popular applications in the industry. Certainly, there are other options out there. Though these are popular options, well documented, lots of tutorials available, and may lend itself well to positions within the industry.

My Software Recommendations

Game Engine

A game engine is software with built-in classes and methods that can handle many of the common functions you might want in your game. These things may include physics to objects, movement, controls, cameras, and more.

A game engine is not required for game development. However, the use of a game engine has made the process easier. Those who are into programming can create their own. That being said, I would recommend all new developers begin with one of these. It will be an easier path to success.

Unity

This is certainly my favorite option of game engines. You might call me bias, but the reason I started with this one back in 2012 was because it was well documented. I was able to easily find tutorials for it. They are currently releasing content regularly to help people who may be new to game development understand how to get going.

It supports both 2D and 3D, but is probably most common in 2D mobile games. You are certainly able to do 3D as well. Rust, my current obsession, is built using the Unity game engine.

Unreal Engine

This is certainly a direct competitor. It is known by many as being the game engine for a beautiful environment. Of course, Unity is well capable of equally beautiful environments. With that being said, Unreal out of the box does have the advantage here.

Unreal has really been pushing to grow its community of indie developers by providing resources, making free assets more readily available, and helping new developers get started.

The only downside is that it is not a 2D game engine.

Godot

I think Godot deserves being the conversation. It is known as the free alternative as the other engines mentioned will want a portion of your sales or have pro licenses. Godot is also open source, meaning that it is likely to continue to improve for years to come since it currently has an impressive market share.

I fully expect Godot to continue to rise in popularity. It appears to be well documented. Many praise it for being a great entry to game development, much like Unity.

2D Art

2D Game Art is made up primarily of images known as sprites. Sprites may be used for objects within a game. Using sprites placed in sequence can create a 2D animation effect.

Although I dabble in 2D from time to time, I primarily have my focus in the 3D arena. That being said, there is often a need for 2D when it comes to UI, even for 3D games. For 2D games, you would obviously use these applications much more extensively.

Photoshop

Photoshop is notoriously the application of choice for creating 2D assets. It is relatively easy to use. It works well with drawing tablets, for those that want to draw with a traditional art style. Photoshop is considered to be the go-to software for raster-based images.

Krita

If you are looking for a free alternative, Krita would be a good choice for you. It is capable of working with a drawing tablet and is supported on Windows and Mac. It is primarily used in the hobbyist world.

3D Modeling

3D Modeling is the process of creating geometry, typically triangles or quads, to create complex shapes. This technique is used for game development, film, engineering, architectural rendering, and more.

The game developer will typically be using 3D modeling to create art assets for an environment or a character.

Maya

This is my favorite choice. I actually started out with a bit more knowledge in 3DSMax, but I found Maya to be the resource initially that had all of the training materials. Teaching class, this was extremely important to me. There were numerous tutorials online and other teachers for 3D Design were using this primarily.

I do believe that if you are just getting started and not familiar, I would recommend Blender slightly more. It has some major movement in the industry right now.

Blender

I love Maya, it’s what I am most familiar with. I currently do not see myself switching, but I do admit that if I were to start back at the beginning, I would probably choose Blender over Maya.

It is now a very serious contender in the 3D industry. It used to be considered the hobbyist tool, professionals would go to Maya. Now, the majority of indie game developers doing 3D are likely to be using Blender over any other application. The reason is mainly associated with the cost but also the huge rise in popularity and availability of training resources.

3DSMax

 3DSMax is still quite popular. Those in the 3D Design industry often swear by it if they have been around for a while. The old school guys who are extremely talented and have an impressive portfolio might be using 3DSMax.

I have found it to be difficult to learn due to the interface. I also found a limited number of training resources. It probably most popular in large companies as it is not really that affordable.

Modo

Modo is a 3D application I stumbled upon a few years back. There are some companies using it. Those who are familiar with it say that it offers several more options to the 3D modeling process than other software does to make the process easier. In the tutorials I have watched, I have found it to have a nice UI.

I was so serious about looking at Modo I tried reaching out to them to see if they had any educational discounts. I was unable to get a price that seemed reasonable.

3D Sculpting

3D Sculpting is the process of using small geometry shapes, such as millions of quads, to create models with high amounts of detail. 3D sculpting is what allows characters to have wrinkles in their face and folds on their clothes. The sculpting process is used heavily for organic objects.

In video games, the process is generally to create a base shape in one of the 3D modeling applications such as Maya then go to a 3D sculpting application to add additional detail. They will then return to their 3D application to reduce the polygon count so that it does not slow down rendering in a video game. The process of going from the high detail to a lower amount of detail is known as retopology. In order to get the detail to appear, you use a process known as 3D baking.

3D Baking is the process of taking a highly detailed model and projecting lighting details on a lower resolution 3D model. Using this technique, you can produce fine detail such as wrinkles on a face without losing performance in rendering the object.

 Zbrush

I do believe there really is another need to put any other application here. In fact, anyone who speaks of 3D sculpting is likely talking about Zbrush. The two terms are almost synonymous with one another at this point.

Zbrush is not an inexpensive software, but many who want very realistic models will use this in their workflow to produce the fine detail in models. It can be used to create scratches, breaks, wrinkles, folds, etc.

Zbrush is notorious for having one of the worst interfaces in the 3D industry. However, students who use it for a short period of time are able to catch on relatively quickly and find it to be an enjoyable part of the process.

3D Texturing

3D texturing is the process of applying color and material to a 3D object. 3D texturing allows for objects to appear metallic and reflective in addition to providing color detail.

This is the process that takes a gray table and may make it look like it is wood. Or, if you have a person, it will give the person blue eyes, soft pale skin, and perhaps small detail through a series of maps to change light on the model. Using this technique you could take a model of a hand that is relatively simple and give it fingernails. Or, you could take a perfectly flat wall and give it an orange peel texture pattern. A perfectly flat plane on the ground the character is walking on could be given slight grooves so that it appears to be tile instead.

Substance Painter

This is the most popular choice in the game development industry right now. They are consistently making improvements for it. It work well with the major 3D modeling applications and game engines mentioned above.

The process is pretty neat. It makes the process of getting very detailed and elaborate textures far easier. There are some built-in generators that can help you apply dirt, rust, and other detail to models outside of just applying color. You can also paint on height information such as paint bumps or scratches.

Quixel

Quixel offers a package that is really geared towards very high level texturing. They are currently teamed up with Epic Games, working heavily with the Unreal Engine. One area they specialize in is 3D scanning to produce ultra-realistic textures to apply to models. The movie, The Jungle Book, used Quixel in their workflow. If you take a look at the film, it shows off some of the capabilities of this software.

I am honestly more familiar with Substance Painter and have been able to accomplish what I want with that software, so I haven’t bothered to branch over into Quixel to see what it has to offer much. That being said, they are pushing towards educational institutions with a series of tutorials to help students. I see this gaining in popularity over the next couple of years as students begin using it as part of their workflow.

Photoshop (Affordable Alternative)

This used to be the go-to path for texturing. Layout your UV’s, bring them into photoshop, and place textures on top. It is still a viable option, but primarily for handpainted texturing or stylized texturing processes. I have spoken about a method I use for game jams. It can do much more though. If you are worried about learning some additional software on top of everything else, this may be a good pathway to go if you already have some experience with it.

Audio

Audio can make or break a game. I recall one of my favorite student projects from a couple of years back. The student built a horror style game. It’s not my favorite genre, to be quite honest. The project wasn’t my favorite either early on. The audio he implemented is

Wwise

Wwise was one of the early software I had heard of. I do not have a ton of experience with it, but have worked with a few people in game jams that used it pretty heavily. I intend to dive in a bit further. It does have integration capability with game engines, making it easier to create and edit audio in game.

FMOD

FMOD is another application that a game jammer I worked with swore by. He did all of the audio. It also has a Unity plugin making it supposedly easier to work with. He was able to modify audio pretty quickly and easily using this application.

Freesound.org / Microphone

In my class, we use this as the primary resource for audio. There are thousands of options to choose from on Freesound and most short clips we are looking for such as doors or drawers closing and opening can be found here.

We also create some of our own audio using a microphone and recording. Sound can be done in so many ways. I find that thinking about it for a bit leads to some pretty creative solutions that work well and add a unique factor to your game.

Can you build a game for free?

Looking at all of the software above, there is no doubt that it appears to be an expensive endeavor. It certainly can be. There are reasons above just paying for developers that games can be so expensive to make. The amount of software used in AAA game is pretty insane. The good news is that the prices seem to be slowly going down, catering more towards the indie scene.

Video games can be built for free. There are free alternatives to all of the software used in game development, including game engines, 3d modeling software, 3D texturing, 2D asset creation, and audio.

Just because you are on shoe string budget, does not mean you cannot build a really awesome game. A lot of the free alternatives are considered to be the best option available by many. I have been surprised at what people can create who are passionate about this industry. Generally the art in the end is representative of the creators ability, not the quality of the software.

How can I learn game development software?

I understand that the list above about game development software can be extremely intimidating. However, I tell students as they walk into the program that we will take it one setup at a time. I believe students should start at the beginning of their workflow. Below is an example of our typical workflow. Yours may be slightly different and at times we do deviate from this.

When we do deviate, we typically have a specific reason. For example, you may prefer doing animation in your 3D modeling package such as Maya or Blender. At times we find character animation to be best done in the 3D modeling package. The majority of time, however, we have opted to do most of our basic animation in the game engine itself, in our case, Unity.

To learn this software, there are a ton of resources out there. At times though, the quality of YouTube videos is pretty low. What I find is that sites like Skillshare, Pluralsight, or Udemy offer better one-stop solutions. It allows you to focus more on the learning, less on the searching for something that fills the holes that might be missing in YouTube videos.

Conclusion

Did I miss anything? Do you know of some software that we could add to this list to help others? Please feel free to reach out to me.