In this episode of Game Industry Career Guide Podcast, I answer a question from Joseph F. who asks, “I’m a high school student considering a career in game programming or design. I’m trying to learn C++ on my own with no background knowledge of programming and I wondered if you could recommend any tips for learning game-specific coding. My school doesn’t offer anything code related until junior or senior year and I’m having trouble knowing where to start. Is there anything in particular I can focus on to start practicing game coding while I’m in high school?”
In this episode, you’ll learn:
- How to learn the most popular game programming languages from scratch
- How to learn to use the most popular video game engine, for free
- The best way to combine your skills to make your first video game
Find game schools near you
Hello there. Welcome to the Game Industry Career Guide Podcast. This is Episode Number 21. I’m Jason W. Bay from GameIndustryCareerGuide.com and this is the podcast where I answer your questions about getting a job and growing your career making video games.
This week’s question comes from Joseph F. Joseph sent me an email to ask this: “I’m a high school student considering a career in game programming or design. I’m trying to learn C++ on my own with no background knowledge of programming and I wondered if you could recommend any tips for learning game specific coding? My school doesn’t offer anything code related until junior or senior year and I’m having trouble knowing where to start. Is there anything in particular I can focus on to start practicing game coding while I’m in high school? By the way thank you for all the resources you’re providing. They’ve been super helpful and encouraging.”
Joseph, first of all thank you so much for your kind words. When I get feedback like that from my readers and listeners it really helps to keep me fired up and continuing to post helpful resources on my website. So thank you for that I really do appreciate it.
Okay, so if you’re in high school and you want to get started on learning how to program games I’m going to tell you about a three step approach that you can take to accomplish that goal. The steps are learning a programming language. Learning a game engine and learning how to use a programming language inside of the game engine. Let’s get started.
Step One: Learn to code
The first step is to learn a programming language. Now this might sound like a big step. If you’ve ever looked at computer code before it looks kind of weird and maybe a little bit intimidating. But actually it’s pretty easy to get started. Learning a programming language isn’t like learning a new human language like English or Spanish or Chinese. It’s much, much simpler than that. In fact once you get started you’ll be able to write your very first computer program in about 10 minutes. Of course it will be a tiny, simple little program — but it’s such a great feeling when you accomplish that small goal. It just feels like magic.
There are many different programming languages available. Some of the most common languages for game programming though are C++, C#, and Java. So which one should you learn? The truth is it really doesn’t matter which one you learn first because all the languages work pretty much the same way. Even though each one has different specific key words and language features, the most important thing is that you learn the fundamentals of how a program language works, how to start thinking like a programmer, and how to use a programming language to make a computer program. Those fundamentals are nearly identical in all of the popular programming languages. Once you learn your first language, it’s relatively fast and easy to learn most any other programming language that you might need later on.
Now Joseph said that he’s been dabbling with C++. If you’re not sure which one to pick then let me pick one for you: I would recommend starting by learning C# (pronounced “see sharp”). Why do I recommend C#? Because it’s a strong modern language; there are a huge number of books and tutorials available to help you learn; and because it’s a language used in one of the most popular game engines available (which I’ll discuss later in Step 3).
There are many courses that you can use to help you learn C#. There are free YouTube videos, and there are paid courses on sites like Lynda.com that are really good. I did a bit of research this morning and I found a free online tutorial that looks like it does a great job of teaching the C# language to new programmers and you can type and run your code right there in the web browser without installing any other software which is super convenient. That tutorial is at http://tutorialspoint.com/csharp/.
Step Two: Learn a game engine
The second step is to learn how to use the game engine. If you don’t know that term, a game engine is just a piece of pre-made software that helps you make a game faster because it provides a lot of built in functionality so you don’t have to program everything in your game from scratch. Even professional game developers use game engines but it also helps beginners because it helps you get you up and running and make a new game right away.
My favorite game engine is called Unity 3D. It’s full featured. It can make games for just about every platform including computers and mobile phones and best of all its free for beginners. You can download it today for free. Now the reason that “learn a game engine” is in a separate step from “learn a programming language” is because with the modern game engine like Unity 3D you can actually make small games without learning how to program.
But that doesn’t mean it doesn’t require some work. Unity has a ton of features that you need to learn how to use, and that will take some time. Luckily, Unity also provides some really great tutorials to help you learn. After you download it and install it just go to their website at Unity3D.com and click the learn menu. Then go to the tutorials area to find a video series that will walk you through making your very first game without any programming.
Now each of those first two steps will take you some time to get through, since you also have school work and probably other work and other hobbies. It’s likely to take you several weeks of regular effort before you get really comfortable with your new skills.
Step Three: Put it all together
But once you learn the basics of C# and the basics of the Unity 3D game engine, the third step is to combine both of those new skills together. In other words, start using C# programming inside of the Unity game engine to program a custom game of your own creation.
How do you learn to program C# inside of the Unity game engine? Once again you are in luck because Unity’s website also has tutorials that teach you exactly that. Go to the Unity website at Unity3D.com and start exploring the tutorials on scripting. Just make sure that you’ve already done the other tutorials and have a firm understanding of C# and Unity before you start on this third step.
Once you start programming inside of Unity, the sky is the limit. You can make just about any game. If you can imagine it, you can probably build it using C# and Unity 3D.
Bonus Step: Don’t do it alone!
Okay, those steps might sound big. And they are big, because game programming isn’t something you can learn overnight. But you can definitely do it. Just take it step by step. Do the tutorials, and don’t give up. Before you know it, you will be making some awesome games of your very own creation that you can share with your family and your friends.
Oh, and that’s another point that I wanted to make. As you take this journey to learning game programming, talk about it with your family. Let them know what you’re up to, and let them know that you’re passionate about learning computer programming and learning how to make games. They’ll be interested, and they might even offer to help encourage you if you ever get stuck or frustrated along the way.
That’s an overview of the three steps that you can take to learn how to program your very own video games. Game programming will challenge your mind. It will offer a sense of accomplishment over and over again as you learn and grow your skills. And it’s a super fun and rewarding hobby that you can also turn into a high paying career later on.
Thanks to Joseph for this question and thank you for hanging out with me today. If this information has been helpful please tell a friend about it or stop by the website to ask your own question. You might just hear your name on a future episode. For more information and inspiration on getting a job and growing your career making video games visit me at GameIndustryCareerGuide.com. I’m Jason W. Bay and I’ll see you again next week right here on the Game Industry Career Guide Podcast.