If you think video games can be hard to play, try making ’em.
In “Blood, Sweat, and Pixels,” author and Kotaku news editor Jason Schreier’s 2017 chronicle of how video games go from concept to reality, he went so far as to wonder aloud whether “every single video game is made under abnormal circumstances” — once you consider the challenges of interactivity, ever-changing technology, always-evolving tools, unpredictable scheduling and the sheer nebulousness of trying to pin down “fun.”
There’s no easy-mode setting for breaking into game development, either. The three experts we spoke with about forging a career path — a mix of veteran and emerging talent, all based in Austin, Texas — mentioned the need to master complex programming languages and self-direct your own professional development in a competitive job market. But one of the pros noted that merit matters, too, and applicants with strong portfolios and demonstrated skills stand out from the pack.
Our panel of insiders includes:
Shawn Warnock, an automation engineer at EA’s mobile-centric studio-within-a-studio, Red Crow. Before joining EA, Warnock worked as a quality assurance tester at Epic Games, where he tested the juggernaut Fortnite.
Curtis Ratica, president and CEO of Ratical Games, which focuses on family-friendly mobile games. Ratica also co-founded Longshot Games, where he helped make the popular Bobblehead College Football, and previously served as art director at wargames-focused studio Atomic Games, where he built art for titles like Close Combat.
When did you realize game development might be something you could make a living doing?
About 1983. I’m probably one of the more advanced-in-years, or long-term, game developers. For me, there was a fascination with how these things that I was playing were made, how they were put together. And as games became slightly more complicated, transitioning from things like Atari VCS to early eight-bit machines, it became apparent that I had the tools to put one together. And the games also became just a little bit more involved: storylines, worlds, characters, people. The idea of creating my own kind of living world, even as basic as it would have been back then, was very appealing. And I guess it fueled the general curiosity I have about how things are put together.
I have almost no [formal] education. I started doing things in my spare time at high school. Back then it was really unique because we didn’t have PCs; we had home computers — the ultimate machines to just boot up and tinker with. Several of us would play around with these machines at school. I’m not surprised that two of us from the same class ended up in the game industry, although my friend recently left. And that’s how we learned. We taught ourselves.
The work opportunity for me just kind of walked into my life. I was lounging around in an English garden in the summer, relaxing as much as possible, thinking about my next step: Do I join the army? Do I go to a local college and follow a computer science studies route. There was no degree that would lead to game development at the time. And I was lucky enough to see a job advertisement in a local newspaper for training game programmers. I thought, perhaps this is it.
I put together a disc of demos and code and I was invited along for an interview. They more or less told me on the spot that based on what I had submitted, I was way ahead of the other candidates, having already authored programs in assembly language and showing what I could do. They invited me back the next day. That got me a job at age 16 developing games. I don’t even know if this path exists anymore. I was very, very lucky to start what has been for me a long-term career so early.
It was a couple of years after I graduated high school. I took a couple of years off school to figure out what I wanted to do. And I realized I wanted to do something that didn’t feel like work every day, something I enjoyed getting up and doing. And I really enjoyed video games, and so I started pursuing it.
I wanted to develop games since I was a kid, when we got our first video game system, the Atari 2600. My father worked for IBM and was into having the latest, greatest gadgets and toys, so I was always interested in these things as well. Growing up, I was an artist, so when I saw the character animation in the Olympic Decathlon game on the PC, I was mesmerized. I started creating digital art early on and even won an award from the AmigoTimes magazine back in the Amiga days. Soon after that, I applied for a job at Electronic Arts in Northern California. I didn’t get hired, but I did receive a reply from [then-senior game designer] Michael Kosaka, who said he loved my work but that I needed to do more of it. I knew early on that developing games was something I could make a living at once I worked on strengthening my portfolio, so that’s what I did.
What does your day-to-day entail?
Sherlock: Well, at the VP level now, I talk a lot about technology and talk a lot about programming, but don’t do so much myself. I attend a lot of meetings, I run a team, I am more on the soft and people side of managing and providing technical direction. As someone who still likes to tinker with programming, I do my programming at home. I think this is how a lot of long-term people who move up the ladder still satisfy curiosities. I’ll still make the odd, crazy little game in my own time. And actually that can be a way for programmers on AAA teams to determine whether their gaming desires are better fulfilled as hobbies.
It’s very much a desk-and-meeting job nowadays. That’s how it is as a VP. That’s what leadership is: time at the desk and time in meetings, providing direction and leadership.
Warnock: I’m running software engineering tests, within the QA organization, but more like a quality engineer than a tester. I’m in charge of creating software tools for testing, the main one being automated testing. And that’s software that can interact with your game or application without anyone actually physically interacting with the game. It can click buttons, check data, make verifications — then, we incorporate that into our continuous integration pipeline. And that allows us to find big, high-priority issues faster than a manual testing team usually can.
What’s the job market outlook right now for game developers?
Sherlock: Anyone with experience, we have to really compete for them. For anyone who doesn’t have the experience, there’s a lot of applicants, many of which just aren’t qualified. I would say it’s competitive in terms of volume, but really, if you have the right talent and you’re doing the right things, your resume is going to stand out quite prominently. As I say, just don’t expect that your degree is funding your job application. You’ve got to do more than that. But if you do do more than that, and if you have the talent, I think it’s quite easy to land that first job because talent is so rare.
Ratica: It’s always tough for most positions. Sometimes it’s much tougher than others, like after the big video game crash [from 1983 to 1985], but it’s certainly not an easy industry to break into. Programming is always the most sought-after role. A talented programmer who can demonstrate excellent programming skills in one or more areas — such as graphics engines, AI, server backend, tools, etc. — will have the best chance to break into the industry. The creative roles, like artists and designers, are generally much more difficult.
Larger companies have more specialized roles, such as separating character animation from character rigging, level designers, game designers, UI designers, UI artists, level artists, texture artists, etc. Whereas smaller companies will look for people who have many skills, such as a general artist who can perform all art tasks and designers who can design levels, UI and develop stories.
Warnock: I’d definitely say it’s very competitive. If you think you’re just going to get a college degree and then get a role… you’ll need more than that. You need to show a willingness to improve your skills on your own time and an ability to adapt pretty quickly. My day-to-day changes pretty rapidly.
There are definitely plenty of people playing video games and buying video games, so I don’t see there being any shortage of jobs, but you have to do everything you can to make your resume stand out. There are a lot more people looking for entry-level roles than there are entry level roles available, I would think. So having a portfolio website, having GitHub repos with games created definitely helps.
Austin is definitely a hub for game studios. L.A., which has a lot more studios, is as well. It definitely helps being in one of those hubs. But I prefer Austin because it has a much lower cost of living than L.A. My first role was in North Carolina, with Epic. I grew up in Toms River, New Jersey, so I had to move seven hours away to get into the industry. Unless you happen to be located in an area with several studios, you’ll probably have to relocate. There are, however, studios all over the world. EA has studios in Vancouver, Montreal, the Bay Area and Florida, for example.
What kind of education requirements are employers looking for? Is a traditional, say, computer science degree more attractive than an accelerated or online degree from a school like Full Sail?
Sherlock: When I started, nobody had a degree. When I was seven years in, we’d see more people with degrees, and then I think degrees and school took over. It’s still possible without [one], but rare. We had this great period where there were no game programs and boot camps, but people were being taught C++ on programs and they were coming out, not necessarily with game experience, but certainly with language experience. And if they were interested, they could naturally already apply that and had the demos to show for it. I think there has been a push to do game programs and boot camps. The problem with the tools that are available nowadays is it can often lead to dumbing down [and not knowing the languages fully.]
But as far as engineering experience goes, it depends what those game development programs are using to put those games together. If you’re targeting AAA, I would hope you’re at least using Unreal 4 on those game development programs. But if you do that, then you may not touch something like C++. And for that reason, I wouldn’t rule out pure computer science programs with relevant focuses on low level languages — on things like C++ languages. I’ve got an old saying: if you want to make games, make games. I don’t think a comp-sci talented person who's got their own demo reel together is at all disadvantaged by someone who's been through a game program. And actually, some of the game programs are known to be not that good. So it depends on which game program you go on, as to how it’s viewed.
Ratica: For game development, education is of course important, but it takes a back seat to demonstrable talent and experience.
Warnock: I got my bachelor’s degree in game simulation programming. I wouldn’t say it’s necessarily a requirement. It definitely helps. But just having a degree is never enough. You need to have some type of proof that you can do the job for which you’re applying. If you’re a level designer at a website, that could be showing screenshots or videos of your levels. Or if you’re a programmer, GitHub repos of games that you've created.
How much creative work does a typical game developer do? Are they involved in creating narratives and character biographies and building worlds?
Sherlock: A lot of software engineers, or potential software engineers, are never going to be involved in creating or concepting or envisioning. This is what people don’t always understand. You don’t necessarily get to be that creative visionary who you look up to. You get to join a team and you’re often working on someone else’s idea. You are, for sure, a small cog in a big machine at many companies. I think many programmers come into the industry and eventually leave having never necessarily created their own game. If that was their goal, you know, they might want to think about going into the design side of things, or sticking with independent game development, where you can lead a project as a programmer and be more of a creative influence over it.
It’s your own game; you can build a team around it. But AAA gaming is something else nowadays. When I started, I would write the code, do the art, do the music. The art needs were much simpler back then; I’m no artist. And the music I put into the games was just small jingles. But, yeah, it was a really funny change in the industry when it went from one man doing all that to, “Well, someone’s going to do some art work or me, someone’s gonna do some audio.” Eventually we got gameplay designers in. You just tend to be less on the creative side as an engineer now.
Ratica: The best game developers are all about being creative. From writing stories, to creating believable and immersive characters, objects, worlds and everything in between.
Warnock: My role, it’s more of a central team. I work on tools that are used across projects. Since I’m in an embedded studio, I'm able to go to design review meetings and sprint demos and give feedback on some of what I see.
Now, the game industry has multiple positions; it’s not like one size fits all. You have programmers, designers, artists, animators, development directors, technical directors, and creative directors. Everyone has their own role flow. People who are primarily focused on designing levels and designing narratives are game designers or system designers — you could call it like a game designer, which kind of encompasses it all. They're the ones coming up with the ideas for the game and how they're going to balance things and what features the game will have. Then your gameplay engineers and programmers are the ones who’ll implement the features. Usually that involves creating an in-editor tool that can be used by the designers to create the world. In a way, you’re helping to create the tools and programs that’ll be used by designers to make the game of it then.
What programming languages do you need to master?
Sherlock: It depends on whether they’re going for AAA type games or more independent game development. C++ is still the language of AAA game development. And to some extent that’s out of necessity. But it’s created a big problem because the universities and schools aren’t really teaching it anymore. And most people, even if they’ve done a bit of C++, don’t know it well enough to learn the job. For independent gaming, you can typically get away with Java or C#, unity development. In fact, this route of using Unity or even Unreal Engine 4 in a game development program, it all [stems] back from people coming out of colleges not learning C++, because you for sure can’t make games without it. AAAs [need] C++.
Warnock: If you want to do engineering work, definitely C++. Most engines in the industry use C++. The popular engine Unity uses C#, so that would help with Unity development and mobile development. A lot of times, server-side work runs in Java, so knowledge of Java is always good. Python’s used a lot for any type of scripting, but that’s not really a necessity. C# and C++ are the two biggest ones.
C++ is mostly used because you have more control over memory management and performance and you’re managing memory yourself. Most AAA games require a high frame rate and good performance, especially multiplayer, hi-fidelity games. So that's usually why C++ is chosen. But for Unity and mobile titles, a lot of times they’ll use C#.
How should would-be developers gain experience and build a portfolio developing games outside of the big firms?
Sherlock: I say my path wouldn’t be available today. But if you look at what my opportunity was, my experience and whatever talent I had was par for the course for the industry at that time. So to some extent, it may be different experience and different talent, but it’s still having that talent and being in the right place at the right time.
What I did back then to demonstrate my talent was make games and write programs. If you want to set yourself ahead of the competition, this is still relevant today. A degree — even a degree that’s associated with a game program — is a large investment. You buy yourself a degree at the end of the day, not a job. It doesn’t automatically grant you that. And there are far too many candidates, I think, who turn up having paid for a degree doing almost the minimum, which is actually still a lot of work.
I don’t want to downplay that. But really, what have you done to suggest you [should] get that job in the industry above anyone else who’s attended university and got a piece of paper to show for it? If you want to make games, make games. You don’t have to be a professional to do it. But if you want to be a professional, [you need] games experience, polished experience. It’s the equivalent of an artist’s demo reel.
Videos of games are always going to be better than demos that interviewers need to compile and put together. A lot of candidates put source on GitHub. And that’s cool when you want to look at source. But it’s much easier to see what people do nowadays just in a video. And of course with a video, you can edit, put in the best bits of your work, even add a narrative. But certainly whatever way you do it, whether it’s videos and demos or whether you ask people to build your game and put source code together is, it needs to be examples of your own best work and not just courses you did at university.
Warnock: Definitely not waiting for the job to learn the skill; learn the skill beforehand. You can find tools like HackerRank or other places where you can do coding exercises. HackRank is really good because they do a lot of challenges that you commonly see in the interview process. So you can work on a lot of the questions that a lot of interviewers will ask.
And if your end goal is to get into the game industry, don’t be afraid to look into a different industry to get the experience you need. When I was studying automation and I left Epic, I took a little detour to a mobile app developer so I could get experience in automation and get professional experience with coding engineering. And that helped to beef up my resume and get me the job at EA. Sometimes it’s scary to do that because it’s hard to get into the industry, and then you leave and have to get back in. But it can definitely pay off.
Ratica: I began by creating all kinds of digital art and animations. Eventually a game developer hired me on and I worked in [art direction] for over 20 years. For programmers, start programming your own game and stick with it. It’s easy to start but hard to finish. Come up with an idea of a simple, basic game mechanic and make a game out of it.
Don’t try to do too much, otherwise it may be overwhelming and discouragement will lead to never completing it. Keep the game and game mechanic very simple, but polish the heck out of it. Make whatever it is work very, very well.
Are there good entry-level roles that people should target?
Sherlock: There are often roles that involve scripting that don’t necessarily see you jumping into hardcore systems engineering and C++. UI, gameplay scripting — you aren’t going to be creating an engine out of the gate. No one will let you do that. The fact is, people who are employed to do that have 10 more years of experience than you. So you have to buy into an entry-level, scripting-level job. I’d say take a QA position if necessary, and then find out if there’s a way you can put in some extra hours to help a game team. That’s something we’re actually going to do at Aspyr — give people in QA some opportunity to contribute to some of the scripting we do. It’s not heavy, intense programming, but it lets us sample the talent we have in other departments.
Ratica: There aren’t very many entry-level roles in game development with the exception of tester. I have seen people who are great game testers move up and become good game designers.
Warnock: I came in through QA, starting as a QA Tester on Fortnite. But I realized very quickly that that wasn’t enough. I thought I would get a job and be able to work my way up the ranks, but a lot of companies don’t necessarily put much faith in moving QA up. Now, I’ve definitely seen a much a different story with EA. But you’re definitely going to have to do a lot of personal development on your own, in your free time. I spend probably two or three hours a day making my own games, working on HackerRank, trying to hone my skills as much as I can to get myself to the next level.
When I was at Epic working as a QA tester, I had to study automation in my free time, learn Java and some of the more popular automation tools. And I actually had to leave the game industry to get a job doing that. Then, after I got the professional experience, I applied to jobs within the game industry for core automation. It was definitely a lot of work and a lot of dedication to improving your art form.
At EA, I have mentors who have been gameplay programmers for a while. I have one-on-ones with some of the higher-level software engineers and with technical technical directors. They’re currently working with me to give me insight and help me grow my skill set — doing exercises and giving me homework to work on. It’s almost like getting an internship on top of doing my normal work. Depending on the company, you will find ones that are willing to work with you and help you grow.
Are there any helpful resources you recommend for people trying to become a game developer?
Sherlock: I think if you’re looking to go into the gameplay side of programming, it can be great to offer mods for existing games, along [with] doing more original creative works with things like Unity and Unreal Engine 4. For the most part, you are going to be working in the script and languages they provide. And I certainly think modding is working with someone else’s ideas and putting your own, and that’s a great thing to show.
For systems engineering, more of the hardcore technology side and C++ — that’s a bit harder to get into. You should for sure make games or make demos of some kind. If you want to be a graphics programmer, you should probably offer your own graphics engine. But you should also be prepared to get an existing engine and modify it at the source code level. It’s amazing how many graphics programmers are not working on their own engine nowadays, but are authoring shaders and putting things into other people's engines.
So [in terms of] modern communities for gameplay programmers, I think you've got to create your own projects as a systems-level engineer. And by all means, put them on GitHub. But again, don't expect people to jump through hoops to compile your work. If you have work to show, make it easy for people to view it.
Warnock: I usually go on HackerRank a few times each week. There’s a whole bunch of practice problems you can do, and it lets you choose different languages to work in. I usually just stick with C++ and hone my skills a lot when I’m at home. So that’s a good resource. When you’re job-searching, Gamasutra is a good website. And there’s also gamedevmap, which maps out pretty much every single game development studio in the world. And you can narrow it down to different areas, by country, by region, by city.