Doctor, I Feel a Crunch Coming On

11:09 pm Game Development

This could be your life!I went to a Grilled Cheese competetion (no joke) a few weeks ago with my wife and her boss. On the way there, her boss asked me about my job and what I do. Once I opened my mouth, I could tell she was lost. Words like crunch, polish, milestones, even AI had no meaning. The same thing usually happens when I talk to my family about my job. They simply don’t care about the ins and outs of the game industry. They’re happy if I’m happy. I don’t really blame them, as I’m not up on the current trends in education or food service either.

Talking about crunch is usually the worst though. Explaining that you work longer hours and don’t get paid more for it seems exclusive to software type industries, especially games. Everyone thinks we’re crazy. They think we’re even crazier when we say that we play games, and even work on other games (modding) for free in our spare time.

I’m actually somewhat indifferent to crunch. On one hand, I get really annoyed when people aren’t willing to spend some of their free time to make part of their level better, because dammit, I had to do! However, I only feel that way when people are genuinely behind and they probably should spend a little extra time making sure their work is up to snuff. I think it shows a lack of dedication and craftsmanship if you’re willing to say “this is good enough for me” when it clearly isn’t good enough for anyone besides yourself. Let’s face it, we’re in a competitive industry where only the most talented and hardest working people get to stay around.

On the flipside, I get annoyed when people use crunch as a source of bravado. How many times have I heard “Oh man, I was here for three weeks straight, and I even came in the weekends!” People “Oooh” and “Ahhh” but that kind of shit is bad for two reasons. First of all, we set insane crunch as the status quo for our managers, who then use that against us when we’re not crunching. “Oh, a level is behind? He’s probably not crunching.” Alternatively, “Oh he’s not crunching? Then the level won’t be as good as it could be.”

The second problem is that crunching rewards people for working hard but not smart. I’ve seen multiple cases where developers don’t pace themselves and get into a terrible procrastination / crunch loop. People will put off working hard until near the end of a milestone, where they crunch balls, sleep at work, and come in on weekends. This causes all kinds of problems: people are tired / angry from working terrible hours, people start coming in really late, so the entire production of the game gets thrown off, and typically, the overall quality of the game suffers in the long run. There might be some short term gains (a level has a little more gameplay, a a few models look a little better), but those short term gains are offset by the long term problems they cause due to hacks and quick fixes.

The thing that really bothers me about crunch is even after all the studies and books on this topic, people still do it. It’s like a drug. I think managers and developers can sometimes get addicted to crunch. Even when they try to get off crunching, they always go back to it because they don’t know how to live without it.

Ahhh, sweet, sweet cruuunnch. How I missed you…

But why does it still happen? What causes projects to go back into crunch cycles again and again? I have a few theories, but here are a few factors I’ve witnessed, or have heard about from friends in the industry. I present to you:

The Symptoms of Crunch

1. People in charge don’t understand the capabilities of the team and don’t scope the game appropriately to the team.

I think that people in charge of projects sometimes don’t understand what their team is capable of, or sometimes over estimate what can be done by their team. Example: Slappy the Clown is in charge of a team that is new, and has only made and an RTS expansion pack. One day, Slappy decides to suddenly decides he wants to make an FPS with a fully destructible environment because “its nextgen.” So, RTS team tries their best, but they don’t get how to make individual AI feel good to fight against or maybe they don’t understand the finer points of fighting behind cover. So, they try and try, but focus test after focus test is telling them their game isn’t fun. So what happens? Crunch em’ because we promised the publisher a 40 hour long shooter with fully destructible environments!

2. Not bringing features to completion.

I wrote about this in a previous post but not brining a feature to completion is one of the worst things that can happen to your game and it will always bite you in the ass. I promise. I’ve seen it multiple times. Some features are half finished, but people keep wanting more features put into the game up until the last minute. By alpha, your project is a house of cards and you must decide which cards need to be pulled out and which need to stay. If you would have built your house out of bricks and mortar, you could just stop building and say “Well, this is sturdy enough.” People then get crunched because a) features get cut that affect multiple systems which need more time to fix, b) some people simply can’t live without those features and are forced to finish them, and c) in general, half finished features require time to re-learn and sometimes re-implement.

3. Procrastination.

Procrastination is a terrible habit which everyone is guilty of at one time or another. Like I mentioned earlier, I’ve seen people get into the habit of taking it easy at work, then crunching like mad near milestones. People in charge start losing confidence that things will get done on time when they don’t see the project shaping up. Managers don’t like seeing a feature for the first time the day of the milestone, they want to see constant progress throughout the week, month, or year. If you teach others on your team that procrastinating is acceptable, they’ll starting doing it to and your team is now in a world of shit. One person procrastinating is bad, but a whole team procrastinating is like throwing a bunch metal, screws and rubber into the air and expecting a car to land. There’s a lot of build up, communication, prototyping, experiments, trials and errors leading up to a milestone. You’ll end up crunching later to make up for all the lost time in addition to the crunch to get things done at the end.

4. Feature creep towards the end of production.

“Feature creep” is term used for people requesting too many or simply outlandish features to the game. I’ve been in meetings with project leads towards the end of a project where people had a huge list of features and no one knew what some of those features were. Somehow, in some meeting, certain features ended up on a list which ended up on a schedule for a programmer. As we all know, the tendency for programmers is to fix easier problems first, so if there’s a super hard task that is necessary for the game to kick ass, but the priority is set equally to a super easy task which is not necessary to the game, the unnecessary thing gets done. Towards the end of the project, you end up with the core of the game un-polished and with lots of little things finished that no one notices. So, now it’s crunch time to get everything else done.

5. Not cutting and re-scoping the project when necessary.

This one is pretty straight forward: if things aren’t working out for your game, adjust. Crunching isn’t adjusting, it’s having your cake and eating it too at the expense of your team. Gamers will be fine with a shorter game if the quality is good. They won’t accept a long, mediocre game. Sometimes, you need to cut features and levels, because you can’t do everything you want. There just isn’t enough time in the day.

6. Not retaining talented people, over-promoting, and not passing knowledge along.

Your Super Lead Vehicle Coder leaves to work on a racing game because he loves racing games. Good for him! Well, he was the only guy in charge of drivable vehicle code in your game. Unfortunately, he didn’t teach anyone else how his systems work and he didn’t document them. Oh no, what do we do? “Well, we have this guy from test who knows Visual Basic and really wants to be in the industry. He’s a hard worker and will do whatever it takes!” That’s great, but you should kiss drivable vehicles goodbye, and maybe a few other features. Why? Because as talented as people are in this industry, no one is a cog in a giant game making machine. Coders in charge of graphics can’t simply jump into the physics code and just starting fixing rag-doll bugs. Artists working in Maya aren’t going to learn Motion Builder in a day. Testers cant be game designers overnight (okay, there are exceptions to the rule, and if they are on your team I promise you’re not paying them enough).

Back to my point: new guys have to be taught by someone, and those teachers need to be people who understand the current systems. If people that understand the systems leave, those systems need to be re-learned by the new guys, which can take years to become proficient in without help. Keeping turnover low on core people should be one of the highest priorities for the project, not only to put content in the game, but to teach others how it’s done.

Also, if a really talented guy leaves, and you have another guy that “sorta knows drivable vehicles, but is really good at animation programming” guess who gets to teach the new guy who to do drivable vehicles. Your animation programmer! Now you’re not improving your animation systems or drivable vehicles. So who gets to crunch here? Not the guy that left, who everyone is jealous of now.

I’m sure I could think of more symptoms, but those seem to be some of the worst offenders.

At the end of the day, I think that some crunch is fine, but only for a few hours here and there, and maybe for a few days, and only if the developer actually wants to crunch because they are motivated to do so. But “death marches,” “mandatory crunches,” or any crunch people are told to do are terrible and basically hurt projects overall. You won’t convince me otherwise. There are ways to head off crunch at the pass, but you have to be vigilant about spotting the symptoms of crunch before they sneak up and steal those precious GTA IV playing hours away from you.

2 Responses

  1. aggroNJ Says:

    Slappy is my favorite clown out of all the clowns. Nice post, it was super entertaining…

  2. Matthew Says:

    You lost me at grilled cheese sandwiches– like, so how were they?

Leave a Comment

Your comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.