Posted by Javid Shamloo | Posted on October 6th, 2015 at 12:21 pm
For the past few weeks I’ve been delving into the dark side of the education of a game developer: game schools. This week I’d like to focus on the light side: what you should do, today, to become an exceptional game developer. I’m going to go all out and give you people everything I’ve learned…in my life. This is important for me to do because back when I was young I had no idea what I needed to do to become a game developer and make my own creations. I knew I wanted to do it, but where should I have begun? This lack of information caused me to make a lot of missteps and mistakes, cost me a fair amount of money, and most of all, a big amount of frustration and time. I don’t want to see this happen to anyone else, regardless of your age or current situation. Therefore, I’m going to structure these articles in such a way as to make them age-specific. I’ll start with what you should be doing at an early age, and work my way up to what you should be doing in adulthood. I realize that for some people the early age stuff will SEEM to not apply, and might be annoyed that I’m speaking to younger kids, but it’s important for me to reach the youth because they might be in the same situation I was when I was their age: wanting to make videogames, but not knowing what to do. I want these blog posts to be read by everyone, regardless of age, gender, race, or religion. And if you’re an older person who thinks my advice for the younger kids might not apply to you, you’re mistaken. Everything builds from a solid foundation, and that foundation is built when you’re young. It simply continues to be added onto when you get older. If you don’t have this solid foundation when you ARE older, then you need to catch up, and the things I suggest to do when you’re young apply double if you’re older!
Please keep in mind before we begin that this is simply my advice with what I’ve learned so far as to how to be a game developer with massive ability and consummate skill. In no way, shape or form am I stating that people MUST do what I say. I’m not trying to start a school of my own here; I’m just sharing my lessons. I will say though, that most of my lessons are being echoed by other great game developers in the industry and will be more likely to give you positive results than negative ones. I’d also like to say that I’m only giving advice on how to be a game designer, programmer, and founder of an indie game studio. I don’t know much of what it takes to be an artist, because that’s not what I do. I only want to share things with you that I have expertise on, and not give bad advice to anyone. Ok, now that that’s outta the way, how early will we go in this game-creation learning journey? Let’s start with middle school!
Now if you’re in middle school you might think that there isn’t much you can do to learn how to make videogames. Well, that’s flat out false! There’s actually a tremendous amount of things that you can start doing at this early age that will give you an exceptional leg up over everyone when it comes to skills. Let’s go over them.
You can begin by learning how to program. Yes, I said it, start programming today! There are a lot of people who think that this skill is too much for a younger person to grasp. Even college students don’t get to program until late in their undergraduate careers. I had a friend, for example, who was told by the faculty at USF that he wasn’t allowed to take any programming classes until he passed all his general course work. He would’ve started to program in his junior year at college. What a load of baloney! Start today! When you’re young! There are some excellent books that you could buy to help you with this (as your parents and teachers probably won’t know how to teach you). My recommendation is the Head First series of books. I learned from these books and they are very easy to follow, teach deep, important concepts, and do it all in a very helpful and easy way for your brain to understand. Some of the books I highly recommend are Head First C, Head First C#, and Head First Java. These books will get you started in the three main languages that every great programmer should know. It will teach you to set up your computer to program and give you easy to follow lessons that teach you a lot of advanced material in an easy to understand way. Just kick back and go through the books at your leisure. There’s no need to rush. You probably have a lot of school work to do at the same time and most likely participate in a lot of activities like sports teams or clubs. Again, just relax and slowly go through the books. When you finish, you’ll know a lot more than most college students and will (believe me!), and even have made some great things in the process, including a few games! If you need help with something you don’t get, the Head First website has forums where you can go to ask questions and get advice. The point here is to get your feet wet. Start small now and keep building till you’re at the point of mastery.
Another thing you can do is enroll in any computer classes at your school. Now a lot of middle schools don’t offer any computer classes, but some do (mine did). It doesn’t matter what kind of class it is, take it! In order to make games you need to work with computers, so it’s important to learn as much as you can with what can be done with them, and get as much experience using them as possible. Also, take advanced math classes and do well in math. Now I know what you’re thinking, “Uuuggh, I hate math!” Well in order to make games you’re going to need to know as much math as you can. I know that most middle school math teachers stink, but just stick through it and try to get a tutor if you need help. But learn math! Think of it this way: the more math you learn, the cooler games you’re gonna make in the future! Trust me, math rocks!
Another thing you should be doing, and I know you’re all gonna love me for this one, is playing as many different games as you can. Yes, that’s right: play games! Play them on the iPhone, iPad, Playstation, Xbox, computer, as many systems as you can get your hands on. However, pay attention to what you play! If you play a game that you really liked, why did you like it? What was it about that game that made it enjoyable? What didn’t you like about it? If you played a game that was really bad, why was it so bad? What did they do wrong? Also, pay attention to what other people are saying about the different games. Subscribe to magazines like EGM and GameInformer and go to websites like Polygon.com and Kotaku.com and read what others are saying. Check out the comments sections on game forums and YouTube playthroughs and talk to your friends. See what the general feelings are on the games you play and think about why people have those feelings. This will let you gain some insight into how the industry works and what kinds of things people respond to. Most importantly, it’ll give you the awesome experience of playing some kick-ass games!
If you’re in high school and haven’t started doing anything yet then you’re honestly not in that bad of a shape, but it’s time to step it up a little. In addition to doing all the things that I told the middle school kids to do, you need to be getting more experience making games and toying with game engines, plus taking your math and programming skills to a whole other level, as well as gaining important life experiences. Ok, ok, let’s start small and work our way up.
The first thing you need to do is beef up your programming chops. In addition to all the books I told the middle schoolers to read in the last section, you need to get into more in-depth territory. It’s time to play with the big boys…and learn C++. The only book you’ll need to learn C++ with is C++ Primer Plus. This book is literally my programming bible and I keep it next to me and cuddle with it every night when I go to sleep (not really but you get the picture). It has been instrumental in teaching me everything from the basics to the advanced things that C++ has to offer, and this language is the #1, go-to language of choice used by me and my company. It’s very, very powerful and can do whatever you need it to do, from the simple things to the most complex. It’s not perfect (no programming language is) but it’s the best language that I’ve found and will do you well to master. Also, keep up on your math skills! Make sure that you are taking the most advanced math classes that you can take, and understand what they’re teaching. If you’ve gone beyond Calculus, take Calculus 2 at your local university. I know some of my high school friends that did this, as well as taking linear algebra and statistics.
In addition to learning all these languages and all that math, you need to start getting some experience working with game engines. Now it doesn’t matter if you want to build your own game engine one day and have no desire to use any of the pre-made ones to make your games. The point here is that you gain experience using them, learn how a game engine works in the most general sense, and see what they do right and wrong so you know what to do and what not to do if you eventually decide to make one of your own. You’ll also see the limitations that all game engines have, in one way or another, and will learn the very valuable lesson that, sometimes, the tool shapes the hand of the user. You’re stuck doing what the game engine allows you to do, and if you wanna do something different or do what they do more efficiently…well, you’re basically outta luck. You need to learn about all these issues as soon as possible, and high school is a great place to start playing with engines and seeing these things for yourself. Some great engines to try out are Unity3D, GameMaker: Studio and Torque.
Now, in addition to all these logical left-brain things I’m telling you to do, you need to do a lot of creative “right-brain” things as well, as being a game designer is all about taking what you see, hear, and experience from the outside world and using it to make your games. Just as a musician uses inspiration from a breakup to write a love song or a painter uses the death of his mother to paint a masterpiece, you need to start getting some life experiences to use in your life’s work, videogames. Now am I telling you to break up with your girlfriend or kill your mother? Absolutely not! I’m simply saying that you need to get out in the world and do shit. A lot of game designers and programmers at AAA companies are social outcasts who don’t know how to talk to women, don’t know how to behave at a club or big party, and rarely leave their room where their computer is at home. They just play musical chairs with their life: sit behind the computer at work, sit behind the computer at home, then back to work, etc. This is NO WAY to live life. So be sure that you don’t do this. Go out and see some independent and foreign movies. Go to art galleries. Eat different foods at restaurants you haven’t been to before. Go to concerts that play music you like and some that you’ve never really tried listening to before. Date girls. Get a girlfriend. Have sex. Safe sex of course. Exercise. Eat healthy and get enough sleep. Travel. Get out there and LIVE. I like to produce music and go to the beach, as well as read books on a wide array of things, and drive around at night listening to different types of music. I go all the time to see interesting movies, art exhibits and musical concerts. There’s more to life that sitting behind your computer. And the beauty of doing all these things is that they’ll all make your game designs better, because you’ll be getting LIFE EXPERIENCES to design with. Try it! Who knows, you might even enjoy yourself a little.
Next week I’ll be discussing what you should be doing when you get to college and beyond. Being an awesome game developer takes a lot of effort, but it doesn’t have to be frustrating if you’re having fun!
Till then my friends, take care and stay safe!