Conversation With Nels Anderson: A Designer's Guide to Getting Started in Game Development

DZone 's Guide to

Conversation With Nels Anderson: A Designer's Guide to Getting Started in Game Development

A DZoner sat down with this professional game dev to discuss how he got started, what's important to learn when creating games, and more.

· Web Dev Zone ·
Free Resource

This article was featured in our first ever DZone Guide to Game Development. Get your free copy for more insightful articles, industry statistics, and more! 

Nels Anderson has been developing games professionally for over eight years. His first job out of college was working with HotHead Games on Ron Gilbert's (of Monkey Island fame) game DeathSpank. From there he became the lead designer of stealth 2D platformer Mark of the Ninja in 2012 from Klei Entertainment. He's perhaps best known for his work on the 2016 indie hit Firewatch from Campo Santo, where his experiences growing up in Wyoming helped shape the environments of the game. He's currently venturing on his own with Caledonia, working on a currently unknown debut project. With his technical background in computer science and experience in the industry, I spoke with Nels to learn about getting started in the industry, why technical experience is important for game design and focusing on players.

Nels got his start in the industry with a Computer  Science degree at the University of Colorado, and became interested in designing games, beginning with supplemental content he created for tabletop games like Dungeons and Dragons. He had not programmed anything until starting school. After that, he moved to Vancouver, British Columbia, for graduate school at the University of British Columbia in 2005. During that time, he took the opportunity to volunteer at the first few PennyArcade Expos (PAX) that were held in Seattle. Since the small conference was just starting out, he was able to easily meet with younger Vancouver studios who made the short trip across the border while he was an undergrad, talking about development and asking for jobs. By the time he graduated, he had made a few contacts which he leveraged into a job at HotHead Games.

One thing Nels made explicitly clear is that there's very little need for specific game development education. "There are a few good programs, like DigiPen in Seattle, Carnegie Mellon, and SMU," he explains, "but I question how much they can teach you compared to what you can learn online." There are other ways to learn about game development without an industry-specific education. One piece of advice that Nels recommends is that developers "download a game engine, like Unity or GameMaker, and just make a clone of Breakout, or Tetris, or something. Just learn how these old classic games work and that'll help you understand a lot. The core of games is 'get input from player, put thing on screen, repeat.'" He also points out that "the only thing stopping you, is you," and recommends going to game jams once you have some basic skills under your belt.

We've come to a similar conclusion at DZone. Our audience survey has found that DZone users who are developing games are using most of the same languages as users who are not developing games but are interested in doing so. Most enterprise developers who read DZone are using either Java or JavaScript (when I told him about this, Nels recommended working with "anything other than JavaScript"), while most game developers are using Java or C/C++.

When creating a new game, Nels recommends that designers start with an emotion they want the player to experience. "It has to be more complicated than 'fun,'" he explains. "Those are kind of useless descriptors compared to something like 'loneliness,' for example. How do we make the player feel loneliness through mechanics or graphics or music?" That central idea is what your game is about, it can come from an individual or the team, and acts as an anchor for the whole team to keep in mind as they work on mechanics or solve problems, though how this vision is communicated differs by team or company.

With the central concept of a game figured out, Nels prefers to approach development systemically. To use FireWatch as an example, the story and narrative are definitely the core of the game experience, but the way it was actually built was based on systems, figuring out what needs to happen in the game — such as movement, interacting with objects, etc. You need to build an idea, refine it, rebuild it, and refine it again until it's ready. Game development is an incredibly iterative process. When you're a designer, having a technical background can help make these cycles easier.

"I have a very nuts-and-bolts engineering background," says Nels. "When I went to school it was the kind of program where you go to the bookstore, buy a book on C, and just go." However, having that background does not mean it's strictly necessary, or that you even need to be an amazing developer to design games. Nels readily admits that nowadays he's "a very mediocre programmer. But I can create a prototype and pass it to a 'real developer' and tell them what I'm thinking and what I want to happen in the game." However, if you're a non-technical designer, it can add days or weeks to your release schedule if you need someone else to implement an idea to iterate on, rather than creating it yourself. When you're iterating on these ideas, Nels warns that "you can't be married to anything. You're going to make a lot of wrong assumptions, and the only barometer for your success is the person behind the controller."

The experience the person behind the controller has is perhaps the biggest difference between game and enterprise development, other than the overall purpose of the software being created for entertainment vs. business function. As previously mentioned, games need to evoke an emotion from the player, whether it's loneliness, excitement, or dread. While this doesn't seem much different in theory than enterprise software's goal to meet a business need, enterprise software doesn't need to encourage their users to immerse themselves in the experience. Games, on the other hand, need not only strong mechanics, but also strong visuals and UI that don't take them out of the experience. While enterprise software can solve an issue without necessarily being a great experience for the user, that experience is essential to creating successful video games.

"Ultimately, you're making entertainment," says Nels, "there aren't very clear requirements for figuring out whether something is successful." In other engineering projects, something either works or doesn’t. With something creative, “what ‘successful’ means is a lot more intangible until you’ve actually built the thing.” If you're interested in developing games, even as a hobby, there are more avenues to getting started than ever, and if you have a technical background it'll be even easier.

This article was featured in our first ever DZone Guide to Game Development. Get your free copy for more insightful articles, industry statistics, and more!

game design, game dev, unreal engine, web dev

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}