On Crunch

Ben Kuchera wrote this on the PA Report about the “inhuman cost of game development”.

His take on it is entirely accurate, and it’s something I wanted to expound on a little more here, because I will always work really hard to do things differently than most “AAA” game companies.

A bit of history may be in order.

My first job in games was working on Seaman, at Sega. I was 24, and dating my future-wife who at the time lived in San Jose. We both worked ridiculous hours and basically only saw each other on weekends. I regularly worked from 9:30am until midnight, and about half the week, I slept on a couch in the office for the entire six months of the project.

My second job in games was at Maxis, working on the Sims. The longest stretch of crunch I did there were 14 hour days for 43 days straight, and I know that the folks who were working on the game on the floor above us had it much, much worse. We were regularly required to be in the office on the weekends even if we didn’t have anything to do because our managers wanted to impress the execs with our presence.

Every job I’ve had in the traditional game industry has been rife with crunch. The expectation is that you will work until the game is done regardless of anything in your personal life and regardless of whether the schedule is absurd or not. At another previous job, I was brought on to help figure out how to fix a demo that was being made, because it was due in six months, and the current schedule had been estimated at 153 person-years. The team was 15 people.

We started Self Aware Games in early 2009. It was an interesting time, early in the App Store days, when for the first time in years, independent development seemed possible. Circumstances were such that we could give it a shot, but there was one big caveat – my wife & I were going to have a child in 8.5 months. So that impacted a few things. First, either we succeeded in ~7 months, or I’d have to find a “real” job. Second, we knew that even as a sustainable thing, we’d have to deal with balancing work & kid, and that was going to be a non-negotiable element of making this work. Better still, the other co-founder of the company *also* was having a kid (though a few months later), so we were all on the same page about long-term sustainability.

There are a lot of reasons crunch exists:

  • Creating “fun” isn’t something you can schedule. Game development isn’t “production”, regardless of what anyone says. It’s always “Research & Development,” and R&D isn’t something you can lock to a timeline. It takes iteration & failure.
  • Most packaged games have to hit a specific date, because a lot of stuff “lines up” around a release. Marketing, shelf space at major retailers, etc. – and they’re usually tied to “holiday” – so everyone’s trying to hit the same date & the same shelf space. Missing a date on an AAA game means you lose a.) millions of dollars in pre-arranged marketing costs, and b.) damage your relationship with retailers.
  • Most games are designed to contain too much stuff. That’s not intentional – but the R&D nature of it, combined with designs that are really ambitious (or bloated by marketing-dictated bullet points), lays the trap. The trap triggersbecause as development begins to fall away from what you'd originally scheduled, what you need to do is cut stuff, and it’s very difficult to cut stuff, because it all seems critical. Or execs say you can’t. Or you really really want it. Or all kinds of reasons.
  • A lot of “managers” “manage up” – they want to seem like they’re getting a lot out of the team, and they don’t care about balancing short term gains vs. long term costs. This sounds insane and incredibly cynical, but I’ve experienced it first hand on multiple occasions, and I bet most of you have, too.

Okay, so there really aren’t a lot of fundamental reasons, but they work together in all manner of insidious ways. Ultimately, it’s a cost-benefit analysis somewhere that comes down to the following:

  • Is the cost of burning out this team worth more or less than shipping the game?

In many cases, the answer is unfortunately that for whatever middle manager/exec/whoever, the cost of burning out the team is perceived to be low. They can hire more people. There’s ALWAYS a glut of folks out of school who would kill for a job in the game industry. The cost of missing a date is high, because it’s their neck on the line. They have to weigh their personal career vs. the general team, and the general team often loses out. Obviously, not all crunch is a single weak middle manager who can’t make the right decisions. Often it’s a whole ecosystem of poor management – not just folks managing up, but creative directors who have negotiated bad contracts or overpromised, or marketers who have sold more than the team can provide, or circumstances that dictate inflexibility on certain variables in the equation (movie games, for instance).

But in the end, it always comes back to the cost-benefit analysis.

For me, it’s simple. It’s never worth burning out the team.

Oh, it’s easy to say, but it’s not an easy situation to be in. Self Aware Games was able to do this for a few reasons (more bullets incoming):

  • We developed on mobile, where the overhead of a new release was low & little marketing ever lined up around a release (intentionally).
  • We made games that are “services”, which means they’re never done.
  • We built an infrastructure that allowed fast iteration.
  • We released new content often - usually weekly, but often faster than that.

The important thing here is that we created an environment where no feature is so time-critical that it can’t be pushed. Obviously, we’d love to have everything out faster, faster, faster – but we can’t. Some stuff slips. It always slips. So rather than saying, “We’re locking down this hard-and-fast date for feature X,” we didn’t do that. Which sounds simple, and frankly, it is.

The difficult part is mitigating the practical cost of missing those features. You have to be able to release often, because then instead of slipping and missing a ship date, in which case the feature doesn’t slip, it gets cut, you can just push it to the next release with minimal cost. You have to be able to adjust your schedule quickly enough that those changes don’t create huge ripples out through a bunch of dependencies (and weirdly, the way we did this is by not having a long-term plan we knew we couldn’t stick to – which also sounds a bit crazy, but if anyone's interested, I can write a longer post on why forecasting is BS, and has a dramatically negative but practically invisibleimpact on development).

This is radically different on every level than traditional AAA development, where there is X content that has to be pressed to disk and shipped on Y date – intentionally so. No, I don’t know how to solve the crunch problem in AAA development. I think the way to change it is to change everything.

So the key is being able to remain flexible. Like Bruce Lee says, "Be like water."

Now, this isn’t just a thing we did in order to not burn out the team. It has additionalvery positive benefits:

  • Obviously, not burning out the team is a huge priority – we ran games that are a service, and as a result, stuff periodically gets explodey. If I had to personally call an engineer at 3am to get the game back up & running, I wanted that to be an astonishingly rare occurrence that I did only in a dire emergency, and for them not to mind (as much as possible). I couldn’t do that if we’re already working someone into the ground.
  • Games are “young” as a medium. If you work all the time, and all your do is games, then the experience you will bring to the table is all from existing games. A lot of new things come from synthesizing new experiences. So go cook. Make something out of wood. Dance. Fight. Whatever – learn something new, and bring that experience back to the team. Teach people stuff. That will all bleed into the games in some way. One of the things I’m proudest of having made in my career was a new system for cooking food in the Sims, and that was directly tied to my personal enthusiasm for cooking. But you NEED that diversity of experience. When you have a team that eats, lives, breathes, and sleeps work, then work is the only experience they have. That sucks, and your games show it.
  • It’s sort of folded into general “burnout”, but a big part of what we wanted was for the team to like each other & be able to work well together. Stick a bunch of people in a high-pressure environment for long enough, and the vast, vast majority of the time they’ll just end up hating each other. You get some Stockholm Syndrome elements in there, and some folks will build a very strong bond, but for the overall team it’s just not sustainable.

The proof is in the pudding. We had a small team of folks who worked together incredibly well. We were able to be more flexible, and move faster than our competition. We made (in my totally biased opinion) a better game than our competitors. Success is never a true metric of quality, so don’t take this to mean that – but we were regularly in the top grossing charts on iOS, and we’ve made one of the most successful iOS apps ever. That’s no small thing, particularly given that the casino market is insane – with hundreds of new competitors every week, and it was dominated by folks like Zynga – companies with much larger budgets, and much larger teams. We succeeded because a team that works well, isn’t burned out, doesn’t hate their jobs works better than a team that’s overworked, exhausted, has no life outside of work, and is 100% stressed all the time.

Ultimately, the issue really is simple – there is no point – none – where game development is worth more than your marriage, attending a funeral, missing an important milestone in your kid’s life. NoneThere should be no way that any individual’s task is worth so much that we cannot account for it in some other way.

  • Communication should never be so bad that something like this springs up out of the blue.
  • Information should not be structured in some way that someone else cannot lend a hand at a critical time
  • Our business should not be so brittle that one thing causes the whole thing to collapse.

Now, were we perfect? Of course not. But we worked really hard to maintain that balance. And I feel confident enough that I can say this without any “cover-your-ass” clauses involved. If in the future I EVER demand employees to miss something like a funeral, or plan the birth of their child around a company milestone, or crunch them so hard their relationship falls apart – I will fire myself, or anyone who wants to make the call can do it as well if I have lost perspective. They can point to this post no matter what job I'm at.

There were a very small number of times when we’ve asked folks to work some overtime (a few hours in the evening for two days, and once a few hours on a single weekend). They did it, we got the feature done, and everything worked out really well. When that happens, there is a very strong impulse at that time to say, “Good job, manager – you pulled it out of the fire.” And that is part of the message that was delivered. Usually it ends there.

But the other element of the message was, “This is still a net negative. We should have planned better, and we have to do better next time.” The message overall was not rewarding, because the experience overall was not rewarding. It was a failure of planning, and the team came together to compensate for it. Team++, manager–. It’s important to maintain that, because it is not a success for the manager to succeed in overtime at the expense of the team, even if it wasn’t an expense this time, because if you reward that, then you’re incentivizing a repeat of the same situation. (<- game design = business design sometimes.)

I wanted Self Aware Games, and I want any place that I work in the future, to be a place where people can work for a long time. A place where:

  • You can have a career that doesn’t end because you can’t deal with the hours anymore once you have a family.
  • You can have a career that doesn’t end because you now hate game development, and can’t stand it for another minute.
  • You can have a career that doesn’t end because you're not exhausted all the time, and have lost all your relationships outside of work.
  • You can keep making games and never stop learning.
  • You can keep contributing that experience to the games we make.

When it's done right - when you care about the people, and you do the things you need to do to show you care about them first and foremost, a lot of things can happen.

  • We can have people who have worked in the industry for 20 years working alongside and mentoring people who are just out of college.
  • We can have continuity, because continuity is tremendously valuable.
  • We can have a team that’s worked together for years and years, and knows each others’ idiosyncrasies and instinctively account for them because they know each other, care about each other as people, not as resources, and we all want to make something amazing.

That has a cost. I’d pay it a thousand times over.