We Write Code logo
We Write Code

It’s no secret that we love games here at We Write Code. (Being located directly above Iowa’s coolest barcade is, most definitely, not a coincidence.) Whether it’s tabletop RPGs, old-school arcade classics, or the newest Indie creation, there’s something about a good game that we just can’t resist.

The more we thought about it, the more we realized that the things we loved most about our favorite games were the same things that make us excited to walk through the office door every day and get developing. When you get down to it, good development isn’t that different from your favorite video game.

Here are a few things we’ve learned from our favorite games:

  1. Know your main quest.

You’re playing Skyrim and sent on a quest to retrieve the Dragonstone. You’re on the move, keeping your eye on the prize, when — oh, look! — another side quest! Suddenly you’re heading in the opposite direction on an infinite map for twenty hours before you remember that you think there was something you had to do on the other side of the world maybe…?

Bethesda Softworks, via Associated Press

Admit it, this has happened to you in an RPG a time or two. (Or thirty.)

We touched on this idea in Creating An App Users Want, and we’re going to stress again: know your end goal. It seems like a simple concept, but so many teams lose hours of work, sleep, and sanity by not having a defined end goal, or problem that needs solved. When in the planning stages, make sure your entire team is on the same page in regards to what your goal/problem is. Do not move forward in the process if one person seems to be confused about where the team stands — their confusion could eventually be your users’. This isn’t to say that you won’t have opportunities to stray off the beaten path, or that other problems won’t arise as you work toward the finish line, but understanding when and where going is crucial for success.

Things that seems exciting but will take you further from your goal are not always things worth pursuing. At least not right away — remember, just because you complete a project doesn’t mean it’s “finished”. You can always go back and explore your side quests later — just make sure you don’t get eaten by a dragon before you get a chance to finish your main quest.

2. Know your weapons (and when to use them)

Don’t waste your spell slots, honey.

Yes, circle of death is super cool, but is it the best use of mana? And just because you can wield two swords doesn’t mean making a close-range attack is your best move — or what’s best for the party.

Taking the time to evaluate your situation and determine your plan of attack in D&D is just as relevant in your development. Whether you’re a one-man operation or a team of thirty, sussing out whose skillset, interests, and availability suits the project best will set you off on the right foot.

Again, this is where sitting down with your team at the beginning of each project is beneficial! Figuring out what each person brings to the table not only helps with current projects, but makes decisions for future projects easier and brings a sense of appreciation and value to each team member over time. Outlining where you are going will help you assign appropriate tasks to your strongest warrior, craftiest rouge, or mystical mage. And who’s to say your bard won’t have some skills that can benefit your paladin? But she won’t be able to provide assistance if she doesn’t know what each member of her party is doing, so take the time to take stock of everyone’s inventory and skills.

3. Don’t forget to interact with NPCs.

We get it. NPCs can be so annoying. They provide boring dialogue, they can get in the way during a chase scene, and most of the time they ask you for favors for diddly-squat.

But imagine if Ezio was trying to stealthily follow the Templars around Florence and the city-square was completely barren. A liiiiittle more difficult for a guy covered in swords and knives in a hooded cloak to blend in, huh?

Take a step back and you realize how valuable NPCs can be in assisting you along your way. From providing general support to valuable insight, relying on NPCs — or in a developer’s case, your users — play a valuable role in you doing your job successfully. Forgetting about your NPCs is forgetting who makes up the world that you’re trying to make better. Without your NPCs, you wouldn’t have a problem to solve or a world to save. Your actions affect their world, so ultimately everything you are doing is for them.

4. Play a lot to learn each platform better.

Though true of all game genres, players of puzzle games can definitely relate. You have to walk through more than a few of your fair share of failed portals to figure out the cake is a lie, amiright? Taking the time to work through these challenges (as opposed to giving up and playing a mindless FPS or RPG) makes it easier to solve future problems faster, more efficiently, and with greater success. There’s no difference in your development — the more you work, the more you learn, the more successful you’ll be.

Another benefit of lots of play time? Learning what mechanics do and don’t work. We can identify when a game is good or bad, but putting your finger on what gives it its playability is what makes a game really work. Researching and testing your work to see who has been successful and why — and, just as importantly, who has failed and why — will help you make leaps and bounds in your creation of successful, user-friendly content.

5. Accept the rules of the world.

Not the most fun part of your gaming experience, but one thing all games have in common? Rules. Whether they’re the rules of what your character can and can’t do, or the rules of the land you have to follow, you’ve got to play by the rules. And as infuriating as it may be that Link can’t jump at will, or bizarre it is that all ancient, untouched tombs have LIT TORCHES, it’s just the way the world works — accept the rules and learn how to be successful despite them.

One excellent thing about having rules? It forces creative thinking and problem solving. Your results may not always be what you intended, but they’ll be what you need, and they’ll work within the context of your given problem.

— — —

Now you can tell your mom that spending those hours in the basement playing Super Smash Brothers was really just prep to be a better developer. (Well…maybe don’t tell her that. She’s already been through a lot.)