Ever since I first touched a computer, I was absolutely in love with the idea of someday becoming a video game developer.
As a kid — and partially as an adult — I spent a large amount of time playing video games.
It’s funny to say, but some of my fondest childhood memories and nostalgia involve video games, especially the NES and Super NES. And I can’t forget all those awesome Sierra games like Space Quest and King’s Quest.
Ah, those were the days.
I can pretty much say that the aspirations of being a video game developer were the main motivating forces — at least early on — in my becoming a programmer at all.
There is a decent chance that either you, too, wanted to become a programmer because you wanted to make your own video games or that as a programmer now, you have at least some interest in the field of video game development.
If not, feel free to skip this chapter, but if you are interested in the wide world of video game development and are curious if it might be right for you, read on.
I’ve gotten so many requests for information about this topic that, even though video game development isn’t necessarily something you need to know about as a software developer, I decided to include it anyway.
I think that no discussion which seriously entertains the idea of someone becoming a professional game developer is responsible if it doesn’t first start out with a warning about why you should not become a video game developer and try and dissuade you from the crazy notion altogether.
Video game development is not for the faint of heart. It’s an extremely difficult and demanding line of work, and the rewards are not nearly as great as you might think.
I have to admit that my experience on the topic is somewhat limited since I’ve never been a professional video game developer myself, but I have created my own games, taught courses on video game development, and know plenty of professional game developers, so I at least have some idea of what I am talking about.
First of all, you should realize that video game development is extremely competitive.
Think about it. Who doesn’t want to become a video game developer?
If you are going to program something, why not video games?
I would guess that at last 70 percent of professional programmers have fantasized about becoming video game developers at some point in their lives — hell, I’m fantasizing about it right now.
So, you should be prepared to face a huge amount of competition for every single job that you apply for if you decide to embark on this road.
Not only is the competition stiff, but also the hours are extremely long, especially for Triple-A studios.
Creating and releasing a video game takes a huge amount of work, and a ridiculous amount of money could be invested in a single title.
As a result, video game developers are often expected to work extremely long hours.
I would be prepared to work no less than 60 hours a week if you seriously want to entertain this career choice.
Finally, the pay is fairly low for the most part — definitely not what most people expect.
True, independent video game developers with a very successful title can make a fortune, and even experienced video game developers working for a studio can do fairly well if they have some successful titles under their belt, but those are the outliers.
When you further consider the insane amount of hours typically worked, the pay doesn’t seem quite that high compared to a regular job.
If you really want to make money as a software developer, go work on Wall Street.
If you absolutely love video games and can’t see yourself doing anything else and you don’t care about the costs or the money, perhaps… perhaps, video game development might be for you.
Even though I said that you can become a software developer without a degree — and I definitely believe you can — for video game development, I would recommend getting a degree or at least going through some kind of vocational training program.
Because video game development is difficult. Really difficult. There is a large amount to learn and so much of it is art.
You can easily get in way over your head, where you don’t even know what you don’t know or what is important.
You can certainly teach yourself video game development (I did), but are you going to teach yourself how to make video game graphics, how to design a story and level, 3D modeling, how to use the latest graphics engine, and all the other countless areas of speciality that are required to build one of the complex video games of today?
It’s not that you can’t learn all that stuff. It’s more that to be a video game developer, you need to know the basics of all those things and more, and it can be quite useful to have a prescribed path to follow and to have some guidance along the way.
If you are creating, small, one-developer games that you are going to release independently, you might be able to skip all that, but if you want to get a job with a major game development studio, you are going to want to have a more complete education.
Even now, I’m tempted to go to school to learn video game development. I think it would be a lot of fun.
Fortunately, there are actually quite a number of schools which actually specialize in video game development.
For the longest time, I wanted to go to Digipen University and Full Sail University because those were the two major schools that actually taught video game development.
Today, however, there is quite a large list of schools which either offer video game development programs or specialize in video game development completely.
Rather than list all of them here, you can check out an updated list on gamecareerguide.com.
Now that I’ve talked you out of video game development by telling you how hard it is, how crappy the pay is, and that you’ll need to go to school for four years at an expensive game development university, it’s time to really give you a kick in the nuts by telling you that you’ll need to master C++.
Ha, I’m just kidding — sort of.
The truth is that there are quite a few skills that you will need to become a video game programmer, skills that other types of programmers can get away without.
Let’s start with C/C++.
I was only partially kidding when I said you needed to become a master of C++.
It is certainly possible to develop games without knowing C++. Plenty of games are written in all kinds of programming languages.
However, many of the larger game studios releasing massively processing intensive games still rely on C++ as one of the main languages of game development.
This could change in the future, or even by the time you are reading this post, but I doubt it.
Why do I doubt it?
Because video games are always cutting edge, pushing whatever the current hardware is to the extremes.
That means that even if C++ stops being used, some other, close to the metal language is going to take its place in order to get the maximum performance on the hardware the game is running on. (Perhaps quantum computers will solve this problem.)
Another really important skill for video game developers is experience with a video game engine.
Right now, at the time of writing this book, Unity 3D is one of the most popular video game engines out there, so it’s not a bad idea to develop some skills with this game engine.
There is also the slightly more complex Unreal Engine, and a few others that you might want to be familiar with.
Most complex games today use some kind of game engine rather than writing their own, so having a skill set and experience in at least one game engine is pretty critical.
Finally, I’ll say that math is also an extremely important skill as a game developer.
Most programmers can get away with a rudimentary amount of math, honestly.
But video game developers have to understand how to do matrix transformations and all kinds of other complex calculations — especially if you are working with 3D games.
Yes, the game engines can handle some of this for you, but you still need to know what is going on.
There are of course a whole list of other skills you’ll need as a game developer, but I wanted to point out what I think are the three most important ones that other types of programmers would be much less likely to concern themselves with.
Working for a Big Game Studio
There are two major career paths for video game developers: you can work for a big studio or you can be independent.
Working for a big studio is what I’ve really focused on in this chapter since most video game developers who actually want to make a living will be going down this road at least at some point in their careers.
This option is going to make sense for most video game developers because it is going to guarantee them a paycheck, and they are going to be able to be a video game programmer and focus on that aspect of video game development rather than having to know how to do all the other things related to releasing a video game.
That doesn’t mean this is the best choice.
Certainly, there are going to be major drawbacks.
You might not be able to work on the cool parts of the game you’d like to work on.
You might instead have to work on one simple aspect of the game that seems pretty boring to you.
You might work really long hours and find that video game development doesn’t feel like playing and creating video games, but just like work.
You do, though, have the opportunity to be part of something very large.
By working for a studio, you can work on a massive game that you could never develop completely on your own.
You also might get a chance to work with some really cool and experienced video game programmers who you can learn from.
Being an Independent
If you don’t work for a large video game studio, your other choice is to either be independent or work for a small independent game company.
This choice sounds like a large amount of fun — and I bet it is — but it also carries a huge amount of risk.
Video game development is difficult and extremely competitive.
It’s very difficult to create a best-selling video game or even to create a profitable video game at all.
A huge amount of time and money can go into creating a game which may not even be released, or if it is, flops completely.
I’ve looked at income reports from independent game developers who I thought were pretty successful, and to say they were disappointing is a huge understatement.
Yes, there are exceptions. Maybe you’ll create the next Minecraft, but don’t count on it.
Instead, I would suggest pursuing independent game development if you have to call all the shots to make your game, and you are willing to make whatever sacrifices you have to have that freedom.
Honestly, if I were to actually pursue game development professionally, this is the route I’d choose.
I like the idea of having complete creative control over a game.
I like the idea of learning how to create the graphics for my game or directly working with an artist to do so.
I like the idea of designing the levels and gameplay myself, not just programming it.
And you might, too, but you will have to weigh the costs and see if it’s worth it to you.
Resources and Suggestions
I thought I’d end this chapter by giving you a few suggestions and a few resources you can utilize if you are interested in learning more about game development.
Now, I haven’t been a professional game developer myself, so take my suggestion here with a grain of salt, but I have learned how to program games and have taught some courses on it. All of my game development experience is self-taught.
With that said, I’d highly suggest that if you are pursuing game development that you start by creating a large number of games.
Start with some really simple games, and then try to create more complex games.
Instead of inventing your own original games, try and make copies of existing games that are progressively more and more difficult.
For example, the first game I made when I was teaching myself game development was Pong.
Then, I tried creating a simple space shooter game.
Not only is this a great way to develop your game programming skills and learn about making games without having to come out with brilliant ideas and get stuck in the design of games, but it will also help you create a portfolio of games you can show if you apply for a game development job.
So many programmers I talk to really want to be game developers but don’t know where to get started. My answer is always, “Start making games.”
As for resources, one of the best ones I know of is a site called Gamasutra.
This site is probably the best on the internet for finding information about game development, game development news, and hearing real stories from game developers.
Gamasutra also has some sister sites in their network with more focused topics and an excellent collection of resources.
If you are interested in checking out my courses on game development, you can check out these Pluralsight courses I created:
- Beginning HTML 5 Game Development With Quintus
- Building Your First Game For Android And The PC Using Java
- Introduction to 2D Game Programming with XNA
- Cross Platform Game Development with MonoGame
Good luck and have fun.
This post is a chapter from my book, The Complete Software Developer's Career Guide. I'm writing the book live on this site week-by-week. If you enter your favorite email address here, I'll send you the prior chapters and get you caught up - then send every new chapter as it comes out!