Game Design Work Flow Advice

In this segment, we focus on the work flow used when designing a game. Cindy Miller has a BA in Game Design from Columbia College, Chicago. She is currently working on a social change game called We Are Chicago. In the past she has worked on games for Disney Interactive Studios for the PC, OSX, PlayStation, Xbox, Wii and Wii U, and mobile platforms. Cindy is one of the founders of Voxelles, a Chicago-based group for women in game development. Cindy Miller’s disclaimer: “I have heard a lot of people having their own flow to make games, so I want to state, ‘This is what works for me, but I believe that everyone has their own way of doing things.'” 

Could you talk about the work flow you use when designing a game?

“If this [paper prototype] is fun without the art, then I know it’s good, and it can go somewhere.”

1.       The first thing that happens with me is that I’m inspired by something. I see something, or I’ve read something; I like a story, or there’s a mechanic I really think is cool. I could be inspired by something in the real world, or anything of that nature. Yasuhiro Wada’s idea for coming up with Harvest Moon was from his childhood in the Japanese countryside.

2.       I’ll start writing down ideas for it in my journal. I have a bunch of notebooks that I just write in for different stuff. I usually end up thinking about it for a long time, and that involves a lot of writing down everything I’m thinking about.

3.       I usually end up then putting aside that idea once I’ve written out everything I can for it. I’ll move on to something else, like work on We Are Chicago, or go watch a movie, or do something else.

4.       An hour later, or a day later, I can come back to it and go through it again, and see how I like it. And I’ll either keep iterating on the idea I’ve already done, or get rid of it. By “get rid of it” I just mean, like, turn the page and start new. I leave these ideas in my journal.

5.       If I haven’t started a project yet, and I’m starting something new, I’ll go through the book of ideas and find one that’s my most favorite idea, and start prototyping it.

6.       A lot of times, if it’s something that’s paper prototype-able, then I’ll just do really low-fidelity paper prototypes with cut-up bits of paper, and really badly drawn backgrounds, and then I’ll be like, “Okay, this is how this would work.” Sometimes if it’s easy enough, or if I already have the tools, I can just pull an old template up. I already have a 2D side-scrolling platformer as a base in Unity, so if I have an idea for that, I’ll pull it up and just start prototyping right away. If it’s something more complex than that, then I’ll just do little paper prototypes.

a.       These are SUPER ROUGH. I’ll find a package of batteries and start cutting it, and say, “This color green here represents my character, and this color purple represents the warp gate part of the puzzle.” These wouldn’t mean anything to anybody besides me. That’s the fastest way to do it. I really don’t like getting hung up on the art, because I am not a good artist.

b.      So I’ll leave something as “programmer art,” and say, “If this is fun without the art, then I know it’s good, and it can go somewhere.”

7.       Once I pick an idea and where to start on it, then I’ll start making a very loose milestone schedule. It’s more of just a Trello to-do list. In the past, I’ve wanted to create a game, and already paper-designed it out a bit, and I have this image in my head of what I want it to look like. But if I just sit down and stare at Unity, it’s really overwhelming. Like, “I have this game to make! I don’t know where to start!” So I usually need to say to myself, “This is the beginning step.” And I’ll just start building a Trello list. It feels good to cross tasks off, archive the card, and feel accomplished.

a.       Using Trello with a big team could potentially get messy…  Michael and I are using Trello with We Are Chicago. Trello doesn’t really have a good way of sending cards to people without you being assigned to that card as well. But it’s really good for just my personal use.

b.      If you’re working together, whose name is on the card? You can put both your names on the card, but then people have a tendency think, “Oh, So-and-So is on this card, they can take care of it.” But in reality, I have to do something after that person, which is why my name is on it, so I don’t forget that this is something I have to do. So it’s just not a very good work-flow unless you put a lot of time into Trello.

c.       For much bigger projects, at Wideload we used to use Hansoft. (Phosphor also uses it.) It has a pipeline for tasks, and you can divide it up into sprints, and you can have a pipeline inside of that.

8.       I try to get one thing done at a time. I usually tell myself, “I’m going to get all this stuff done by the end of the week,” but it’s not a hard deadline. I feel like you need to make sure that what you’re doing is on the right track before you start investing too heavily into meeting milestones. Once you start gluing yourself to a milestone schedule, you become heavily invested. So if you find out that your game is not fun after you do your initial prototyping of it, then it’s really hard to let go. “Oh no, we’re on the fourth milestone of this game! Maybe we should just finish it!” But no… if it’s not fun, you should just stop.

9.       If you find that, “This is not what I want,” or, “This is not shaping up to my expectations,” “This is not fun,” or anything that makes you want to ditch it, you should be able to ditch it. You shouldn’t feel bad about it. I think it’s better to enable people to move on to new projects and new ideas.

10.   So keep a loose schedule in the beginning, so if you have to start over or do something else, you can, without feeling like it’s a big loss. It’s really hard to realize you don’t like something, and maybe if you put more time and effort into it, it’ll make it better. You don’t want to get stuck in that loop forever.

Are there any development roadblocks you’ve run into more than once, or for an extended period of time?

This is a hard question for me, because I can’t really think of any. Usually with the design process I talked about, I’ll work on something, and then leave it. I’ll work on something else. I always have other work to do with We Are Chicago. Or I’ll go watch a movie, or go play a different game. Something to take my mind off of whatever roadblock I’m having. Then I could have an epiphany while I’m making dinner. Suddenly, “Oh! This is how I could solve that issue!” Then I’ll go back and work on it. I haven’t really had anything that stops me from working on it, other than being able to generate ideas for things.

Puzzle games are really hard, because you have to think of a million different puzzles, and different difficulties for each puzzle, so at that point you’re just kind of slowly generating puzzles, but I wouldn’t really say that’s a roadblock, I just think that’s a slow process.

Do as much as you can do, but don’t overdo it. Get a good sense of how much you should do – and then LEAVE IT. Seriously, just drop it. DO SOMETHING ELSE. You can get tunnel-vision on things, and that’s not good. An epiphany isn’t going to come to you while you’re making dinner if all you’re doing is sitting and staring at your code for hours on end.

What about when you first started making games, did you ever have trouble using the tools?

Not really. Most of the engines I’ve worked on have a lot of documentation out there. And if you can’t do it the way you’re thinking of, then there’s usually somebody else who will tell you, “You can do it this way instead.”

Have you ever struggled with losing motivation?

Yes. Yes, especially when you feel like you have so much to do on the project that it’s never going to get done. It’s really hard to motivate yourself.

How do you deal with that and keep progressing with your game?

There are a lot of inspirational speeches out there, and TED talks, about how to motivate yourself. I usually watch some of those and try some of those techniques. *laughs* Motivation is hard sometimes.

Do you remember any particularly motivating speeches?

Any talks from Game Developer’s Conference (GDC) or other places that have developers confessing design decisions are good. One might say, “Hey, we made this game. I didn’t really know what I was doing!” And then you’ll go, “OH WOW! I didn’t really know what I was going either!! So it’s not just me! I’m not doing it wrong!” It can help with motivation as well.

I think everyone has something that helps them do whatever they’re trying to get motivated to do. I think it’s just a matter of finding out what motivates you.

How do you stay organized while working with other people?

Perforce (P4 for short) is the version control we use for the project. It has its quirks, but it’s probably the best free version control out there. I used SVN for a while, but I didn’t really like it as much. Perforce, Trello, and taking enough time to communicate with the team is really big. Keeping everybody in sync is extremely important. Communication should be huge in the “helping you stay organized” category.

Where do you get your best work done?

Well, let me say this. Working from home, and making home a work-place, changes what “home” is for you. Michael and I live together, work together, and travel together. For some people it works, and for some people it doesn’t. You have to learn to manage that. Having a place you can go and be like, “Okay, this is where we work.” And then going home and saying, “This is where we… ‘home’.” *laughs* “Don’t work here.” That is really important to a work-life balance, and it helps keep it separate.

Do you have a process in place for play-testing?

Right now we’ve been doing a lot of developer play-testing, just because we want people to ignore certain parts of the game that are not finished, and just focus on what we wanted them to play-test. Mike also knows a bunch of people from Phosphor, and I know a bunch of people from Wideload, and we have our friends from both colleges… so once we start mass-play-testing, I’m assuming we’ll be calling on people who aren’t devs and getting that done. I know someone in Chicago who wants to start a play-testing group, and I think there are a couple of other places that do that as well.

Also, friends and family can help play-test. At Wideload, we just had people who were like, “Okay, we’re going to set this up for the play-testers.” And there was a whole department at Disney that just dealt with it. I’m probably going to miss that, because you get a LOT more play-testing done that way. We’ve showed a game off at a couple of expos at this point, and getting people’s feedback from that is always good, because it’s usually like a grab-bag of random people.

The Google Form thing is a pretty cool part of testing. Michael has put in this thing so that, like, if we want to just test one part of our game, we can put in this node that says “Launch the play-test form,” and it will open up the browser and go to Google Forms, and ask you tons of questions. It’s really easy to change on the fly and get all of the information and see it from a top-down view. So that’s a neat resource you can plug it into your game and use.

Click here to read the rest of Cindy Miller’s interview with SheBuildsGames!