So You Want to Make Games…
Every couple of months, I get a question from a family member or a friend looking for advice on breaking into the game industry, usually on behalf of somebody else, I can imagine the conversation “oh you want to make video games? hey I know a guy.”
It’s a question that I love to get, and rather than just rattle off some thoughts over the phone, I figured I would write something here. Given the time of year, maybe it will help a couple of people with their New Year’s resolutions. This is not comprehensive, there are countless ways to break into the game industry, but I think these steps will get you headed in a good direction.
I’m going to go ahead and assume that you really want to make games. You want to make them enough that you found this post. You have a lot of work ahead of you, but if you’re passionate it’s accomplishable. You can go to college to help get started, I found that having assignments helped me get through some of the more boring aspects of learning to program. That said, the most successful game developers are self-starters that can start and complete projects without being made to-and there is plenty of freely available coursework online. So if you go to school, make sure to always have a gaming-related side project.
Learn to Program (but don’t start with a game)
Yeah, I know there are plenty of people in the industry that are not programmers. But I can’t tell you how many successful designers, artists, user researchers, producers, testers etc I run into that have at least some background in programming. You don’t need to be John Carmack, but getting some time in even a light scripting language such as Python will do wonders. Other options: Actionscript for Flash games: there’s a great episode of the Debug podcast where Adam Saltsman of Cannabalt makes a good case for Flash. Or you could grab the free Unity Engine and get going with their scripting language. Why not start by building a game? Because games are hard, and they take forever. Start very very small, and build from there. “I want to write a word on-screen” … “now I want to make that word a different color” … “now I want to make a shape onscreen too” … and so on. There are countless resources out there that will make this easier, but I’ll stick with two:
iTunes U is a fantastic resource that you can view from an iPad, an iPhone, or iTunes on a computer. There are tons of great courses from schools like Harvard & Stanford, and they have some good introductory courses.
Stack Overflow is the premier Q&A site for coding questions. Bookmark it, you will visit it constantly. This may seem remedial, but there is no replacing good fundamentals. Even if you end up building your first “real” game in GameMaker, you’re going to have to be writing code. Do basic stuff: learn some data structures, how to draw graphics on the screen, how to handle input. You’ll be glad you did. It’s worth reading ahead to the next section because if you can make a slightly-informed decision about what programming language you’re going to learn, you can save time later.
Choose Your Tools
OK, you’ve now spent a couple of months getting up to speed on programming fundamentals. You’re insanely bored of writing non-games, so let’s do it! Ahh but you’re going to need some tools, and to choose your tools, you’re going to need to carefully choose a platform. iOS, Android, PC, Mac, Web, etc.. The reason I chose to list the those platforms is because they all have free development tools, and you can use retail hardware to do the development. You probably already have a platform preference. You could spend forever evaluating the options, so I’m just going to recommend some.
Unity is a fantastic engine/toolset that actually supports all of the platforms above. Xcode is necessary for Mac/iOS. Visual Studio is essential for PC. If you’re targeting a more locked-down platform like a console, your toolset & language will likely be pre-defined for you. For a first effort, strongly consider something like GameMaker. GunPoint is a great example of a commercial game that shipped this year made with GameMaker. If you’re considering something else, there are a couple of factors you should take into account: Make sure you can find communities of people using the tools you want to use, you’re going to need their help. Choose tools from established companies or individuals that won’t vanish overnight. Choose something with a licensing model that won’t screw you as soon as you have some success. Choose something that is free or cheap to start with. If you want to make iOS games but don’t have a Mac, it’s not a bad idea to start with a different platform for your first couple of efforts before you go and spend a bunch of money on a computer.
Copy Something
I bet you have this amazing MOBA/MMO mashup idea that’s going to make Riot & Blizzard cry.. but slow down. If you’ve spent enough time learning programming basics, it has probably occurred to you that even seemingly trivial tasks can be pretty complicated to pull off. You’re going to have to work your way up to an MMO. Pick something simple to clone, but choose a genre you like, every little bit of motivation is going to help. Do Solitaire, Asteroids, Bejeweled, or something of similar complexity. My first game project was cloning Dr. Mario. Clone the gameplay exquisitely, but create your own art. For Dr. Mario I copied the timings, the difficulty levels, the strange piece rotation behavior on the edges, reverse-engineered the bug layout algorithm, etc.. It may seem tedious, but making games can be tedious. As you work through the game’s design decisions, you will get a much better understanding of what it takes to finish a game.
Actually Finish It
Perhaps the most classic junior game designer mistake is to think “Hey I made a square drop from the top of the screen so I’m close enough to Tetris that I can move on to my big idea.” The reality is that getting something that sort-of-looks-like-the-thing-you’re-building is about 5% of the actual work. Even if I’m exaggerating I can tell you with confidence that you’re nowhere near halfway. I’ve seen games with multi-year schedules go from garbage to great in the final month or two. Actually finishing your game is the most work, but it’s also the most important & impactful work.
Make Your Own Game
Now you’ve made a game! Congratulations! You have some options at this point. The good news is that you’ve made a game, the bad news is that if you’re going to sell your game, you’re going to have to market it. Since you’ve just ripped-off one of Atari’s greatest hits, you’re probably not going to be marketing this game, so it’s time to build something original. By now you realize how hard making even a simple game is, so I suggest you keep it simple while you build your experience and learn from your mistakes. Try to make a few games if you can. A great way to get some rapid experience under your belt is to participate in a Game Jam such as Ludum Dare or Global Game Jam. At this point you’ve come far enough to consider yourself an apprentice, but you need a plan for how you’re going to become a craftsman. Listen to developer-centric podcasts that focus on the craft, not something that is run by a marketing or PR person. Find a local game dev or programming group. Follow lots of game creators on Twitter. SOAK IT UP.
Choose your path
If you made it this far, first I hope you’ll send me a copy of your game! I would love to check it out. You’re a true generalist, you’ve dabbled in art, design and programming, you’re a self-starter and all of a sudden you’re also employable. You have lots of options: Continue on as a game programmer and try to get hired at a studio. Pivot to art and curse me for suggesting you ever look at programming. Pivot to Production and learn about project management. Start your own company. Quit making games and go back to just playing them. Build the next great middleware so nobody has to endure what you just endured. The possibilities are endless, good luck.