[In this exclusive Gamasutra postmortem, Torpex Games co-founder Jamie Fristrom (Spider-Man 2) presents a fascinating post-release analysis of the XNA-utilizing Xbox Live Arcade co-op title, which debuted in July 2008.]
While waiting for a lecture to start at GameFest a couple of years back, I was thinking about Geometry Wars and how the dual stick analog controller was what made it possible. Is there any other kind of game mechanic that would be just as suitable? I wondered. What if you control two ships at the same time? I scribbled a note to myself on the GameFest stationery.
At the time, Bill Dugan and I were trying to get our startup, Torpex Games, off the ground. We were going the standard route: pitching ourselves to publishers and asking if they had any licenses or ports they needed done.
Despite our long track records with the industry, we weren't getting much traction, and I had some free time, so I decided to make a game, really quick, just for fun, using XNA Game Studio, which had just recently become available.
What I had was just a quirky experiment in controlling two color-coded ships at once, but after showing it to our friends Richard Garfield and Skaff Elias of Magic: The Gathering fame, who suggested we make it cooperative, and agreed to help us, we discovered how addictive it was -- we couldn't stop playing.
Although we kept the quirky experiment in controlling two things at once (now called "Uberschizoid" mode, which is a unique hardcore challenge for those up to it) we realized that Schizoid truly shone as the ultimate teamwork game
Things snowballed from there -- we found ourselves becoming an indie developer (or a small publisher, depending on how you look at it) and doing something more satisfying than turning out a licensed game for a big publisher: we were creating our own game on our own terms, and it would go on to be one of the winners of Penny Arcade's PAX 10.
In the spirit of candor, "What Went Wrong" is going first, rather than "What Went Right".
What Went Wrong
1. The Single Player Problem
I can't think of a game that needs teamwork as much as Schizoid. The obvious question is "What do you do about single-player?" Originally, we didn't even want to have a single player mode, but decided to include one for two reasons: one was because Xbox Live Arcade games, up to this point, haven't been allowed to have Xbox Live in the trial. Another reason was because we knew that gaming is still predominantly a single-player hobby, and we were afraid that if we didn't have a single-player mode at all, it would be commercial suicide.
So we experimented with a bot wingman, knowing that it wouldn't be as fun as the co-op: either the wingman would be too good, ruining the fun for you, or not good enough, becoming a frustrating liability -- and that's what we found. On easy levels the wingman bot practically wins for you (in the level Scorpio Dawn, for example, you don't even have to touch the stick) but on the harder levels, where strategy matters, the bot -- who is, after all, just a bot -- does some boneheaded things.
Although we kind of enjoyed those later bot levels -- it became a game of figuring out how to win despite the bot -- the comparative weakness of the single-player mode was confirmed in focus tests, where they would give the co-op game four or five stars but the single-player game only three, or fewer if they were frustrated.
But we didn't know what to do about it -- although improving the bot AI (which we did do a little, believe it or not) made the game easier, it didn't make it more fun. What we decided to do, ultimately, was try to put in very strong messaging that it was intended to be a co-op game: we called the single-player mode "Training Mode"; we repeatedly put "Most Co-Op Game Ever" in much of the text; and we put in nag screens saying "Be Sure To Try Co-Op!"
With all that, it's not clear that the message got through. Most of our reviewers, for example, while giving us great testimonials about our co-op mode, seem to be doing some sort of mental review algebra where they say, "Hmm, co-op's a 9, but single-player's a 5... let's split the difference and give them a 7." (The exeception is one French website that explicitly split it out, giving us one rating for co-op and a different rating for single-player.)
2. XNA Game Studio (The Bad)
As has been discussed to death at various GameFests, there are various performance gotchas when using XNA Game Studio.
A lot of times the natural expressions you'd want to use when programming in C# will cause unseemly hitches when garbage collects on the 360, and you're probably going to want to multithread what would, if you had written in C++ in the first place, probably run fine entirely on one core.
The end result is the time you save prototyping and getting up-and-running in the first place can be lost in working around performance later.
3. TCRs (Technical Certification Requirements)
Having made many console games before, we thought we were old hands at getting through TCR. There were many reasons why TCR this time was Worse Than Ever:
- Although J Allard claimed at the GDC Microsoft Keynote a few years ago that they'd "streamlined" the TCR list for the Xbox 360 to a short list of 130 items, and that TCR would be easier to pass than ever before, this was somewhat deceiving: the previous TCR for the original Xbox was long, but it was effectively a list of test cases. There's still a test case document for the Xbox 360 TCR, and it's HUGE. I suggest you skip the short list of 130 items and go straight to the big one.
- All the console games we'd worked on before are single player. The number of TCR corner cases that crop up once you include local and online multiplayer in your game are huge.
- Even though XBLA games are smaller than their disc-based counterparts, they get a whole extra set of TCR cases they have to pass. The biggest and least necessary of these is having to be able to display leaderboards while the game is paused. This means your front-end-shell leaderboard displaying code better be compatible with your playing-the-game code. Being able to play the game from a memory card while still having it load fast is another fun one.
- When making a disc-based game you have a much larger budget and much more resources -- the end result is, for a low-budget game, TCR consumes a much more significant portion of your development.
All in all, fixing and passing TCR issues took more than half of our programmer time over the life of the project.
With future games, it won't be as much of a problem, because we already have an engine and know-how, and we'll be aware of the time investment required. For other starting studios, keeping your game single-player will cut away a huge number of corner cases.
4. Didn't Take Publisher Money
Well into development, we received two offers from publishers for the right to publish Schizoid -- no strings attached. We'd get to keep the IP and everything.
We knew that if we took the money, we'd probably never sell enough to see a single royalty check (as with 95% of publisher-developer deals), and we'd probably -- looking at median sales on Xbox Live Arcade -- make more in the long run if we didn't take it.
But we're a startup! We should have just taken the money and started to share the risk -- we had lived off our savings for long enough.
And no matter how well Schizoid sells, we now have to wait for the revenue to come in; if we'd taken the prepaids, we could use that money, now, to start making another game of our own. In the future, we'll be more apt to work with a publisher.
The silver lining is getting in the PAX 10. If we had taken publisher money we wouldn't be eligible. In fact, this may be better for our studio in the long run -- now we're an Award Winning studio.
5. Maybe The World Isn't Ready For A Co-Op Only Game Yet
It's conventional wisdom in the industry that games that only have multiplayer don't sell. MMO designers try to make sure that a player can solo the entire game; shooters and RTSes have single-player campaigns; Valve includes Half-Life, their single-player game, and Team Fortress 2, their multiplayer, in a single package; and so on.
Although we gave a nod to the single-player with our bot and uber modes, for the most part, we willfully ignored that conventional wisdom, hoping the sacred cow would make good steaks -- surely, we thought, Xbox Live Arcade, where most of its users are already hardcore and wired, is a place where the no-multiplayer-only rule can be broken.
Well, we can tell from the leaderboards that this isn't the case -- far more people are playing single-player than online.
It's surprising, since online co-op is often the number one feature hardcore gamers ask for. In our own belated, informal polling we've discovered that most people don't play co-op Xbox games over the internet.
Of potential players, some don't play online at all; some don't have headsets; some are perfectly willing to deathmatch with strangers but playing co-op with a stranger "feels weird"; with XBLA online populations being what they are, it can take several minutes for someone to show up for a match, and people don't want to wait that long.
Some can't talk their friends into playing; some have friends they would play with, but finding time in their busy schedules is tough. It's as if most gamers are a little... schizoid.
What Went Right
1. Creative Team Building
Schizoid was entirely self-funded; Bill and I were the only people who put money into the game. So how did we hire the rest of the team? An advantage that we had, that most young game developers starting independent studios don't, was that because we'd been in the industry so long, at various companies, we knew people who could help us.
Thus Bill's friends, Richard Garfield and Skaff Elias of Magic: The Gathering fame, were willing to come on as designers, and really help develop my embryonic idea into something good. Thus James Chao and Greg Taylor, old associates from Treyarch and my Spider-Man days, were able to come on and do art and programming.
It made me glad that we'd spent so long in the industry, paying our dues, before we struck off to do our own thing. For the most part, the guys on the team agreed to be paid entirely from the back-end, in royalties... which sounds a lot like paying everyone in lottery tickets, but they'd seen the prototype and were excited about its potential.
One problem was these friends were from all over: we were in Washington; Brian Luizetti, our musician, and James Chao, were in California; Greg Taylor was in Tokyo! So we did the "distributed development" thing, using a cheap subversion and bugzilla hosting service to centralize, so we wouldn't have to deal with maintaining our own servers.
Interns and friends would also pitch in a week here, a week there, to hammer in a few nails or touch-up some paint. As a result we were able to create the game very, very cheaply: our only expenses were equipment, localization, insurance, and the much-lower-than-standard wages for a part-time coder... and time. Lots and lots of time.
2. XNA Game Studio (The Good)
If it wasn't for XNA Game Studio making it so easy to get a prototype up-and-running and in front of people, Schizoid would never have happened. XNA Game Studio wasn't the first prototyping environment I tried -- I was playing with different programming languages, partly for fun, partly to see if I could find a good prototyping language.
I had spent a day working on Schizoid with PyGame and was confounded by a strange timing bug I never did understand when I decided to give XNA Game Studio a whirl. And I was hooked. The XNA Game Studio API is profoundly well-designed: the simplicity of PyGame with the power of DirectX.
The underlying philosophy seems to be: make what most users want to do easy, and if there's the rare user who needs something special, different, or under-the-hood, make that available as well. Their gamepad API is a great example -- getting it up and running with a nice dead zone only takes a couple of lines of code.
Much later in the project, when we decided we wanted to do our own, custom thing with the deadzone, that option was available to us. Schizoid was up-and-running in a day. A few days later, I had something I was ready to show to Bill Dugan, my business partner.
XNA Game Studio was so easy to use that we didn't have to write a single tool to make the game: Richard and Skaff typed the level designs straight into C# files as structure data; our musician, Brian Luizetti, worked in XACT; James Chao described the way his creatures would chain and animate using delegates and functions; and Bill, ostensibly the producer, did most of our audio programming! Finally, C# integrates with NUnit, so we were easily able to do test driven development as well. Oh, and did I mention the short build times? The short, short build times meant I didn't have time to read blogs anymore.
3. Relationship with Microsoft
Because we were using XNA Game Studio, Microsoft wanted to see the game succeed as badly as we did, as proof that XNA Game Studio could be used to create professional-caliber games. To that end, they did everything they could to make the tools we were using good enough for our needs, and helped us promote the game (like giving us a couple of minutes on the big stage at GameFest).
The PR was fantastic, also: considering we spent zero dollars on marketing, Schizoid was surprisingly high profile, using the "number of Google hits" metric.
Part of the reason was because we brought on PR guy Kirk Green (under similarly creative terms as the rest of the team) to get us in front of websites and magazines, but the fact that we were "the first professional XNA Game Studio Game" and Microsoft was promoting us as well was huge.
4. Art-Illuminated Design
With our first rough draft proof-of-concept with its "programmer art", we had no idea what the theme of the game would be -- it was entirely abstract, with various symbols for heroes and enemies.
James took that, and played it, and created enemies that fit the gameplay: egglayers are like cockroaches with sacs of eggs; the creatures that move around randomly are like clusters of eyes, looking in all directions; creatures that fire bullets in all directions look like bursting flowers; creatures that inexorably wriggle toward you, but get hung up on walls, look like lobsters.
From that organic, petri-dish universe it seemed clear we'd need curvy walls, and fortunately we had another friend, Chip Brown from Adobe, a master with Bezier curves, who was willing to make that happen, and make them animatable. The end result is a game that's much less "rectangle-y" or "Cartesian" than most arcade games; there are very few hard angles in Schizoid.
5. The Art of the Start
Bill and I both read Guy Kawasaki's The Art of the Start, and it occurs to me that the story of Schizoid and Torpex is a great example of his chapter one. We were making meaning: "We're going to change the world!" So many startups say this that it's become a cliché, but we believed it.
There's never been a game quite like Schizoid -- it may have elements reminiscent of other games but by putting them together in a new way to make the Ultimate Teamwork game we did something really new, and that inspired us: "We're creating what could be a new genre! A game one simply must play!" We had a mantra: "Co-op!"
We had gotten going: we started making a game instead of making design documents. Our business model, bone simple, as Kawasaki says it should be: sell it on XBLA. And our lists of milestones and tasks: a schedule made using the techniques from Mike Cohn's Agile Estimating and Planning. (Kawasaki enthusiasts know we should also have had a list of assumptions. We didn't... not written down, anyway.)
It's a powerful formula. Did we actually change the world? It's too early to tell, but I'm not sure it matters. What matters is the process. I think these elements, taken together, are why people joined up with us on faith, why we made it onto the XBLA platform, why we're hearing such nice testimonials, and why we're in the PAX 10. We've made a game we're really proud of and still enjoy playing to this day.