Written primarily by writer and director John Garvin, the following incredibly detailed postmortem follows the ins and outs of Sony Bend's development of Uncharted: Golden Abyss, the PlayStation Vita launch title and premier game.
The development of Uncharted: Golden Abyss was a perfect storm of challenges: we were a launch title for new hardware, which meant that our schedule was not flexible; we were crafting gameplay mechanics we had no experience with (traversal and the PS Vita's touch and gyro controls), which meant a huge learning curve and lots of R&D time; we were creating a rendering engine that used next-gen shader techniques, which meant our artists had to learn an entirely new way to create assets; we were working on a franchise that was new to us, which meant we had to retool all of our processes, from the way we built assets to the way we thought about level design; and we were working on an Uncharted title, which meant an exponential increase -- from what we were used to -- in the amount of cinematics, detail, animation and polish that would be needed.
Somehow, we managed to pull it off. Not only did we ship on schedule with the hardware, but we were able to hit all of our milestones, including key demos for the 2011 PlayStation Meeting hardware reveal (when the PS Vita was still being called NGP) and the 2011 E3 press conference, where Bend Studio co-director and technical director Chris Reese and I demoed the game live on stage.
Uncharted: Golden Abyss became the PS Vita showcase title, acting as Sony's ambassador to third party developers, media and gamers. It was our job to show what could be done with a next-generation handheld and we delivered. We also think we managed to build a pretty darn good Uncharted game... but it wasn't easy.
Warning: Because narrative drove almost every aspect of production in Uncharted: Golden Abyss, there are spoilers galore here. Be forewarned.
What Went Right
(Note: Interestingly enough, "Story" is also in What Went Wrong. Skip ahead and read that first to get a clearer picture of the entire narrative process.)
For a narrative-driven game like Uncharted, story is everything. It drives the game's locations, characters, action, animation, set pieces and cinematics. It took us awhile to get there, but once the script was complete, it became the blueprint for the entire game. There are a couple of reasons we consider the Golden Abyss script to be one of our success stories.
First, even though the story went through major iterations, key visual elements in the story remained consistent, allowing us to begin creating assets with confidence that time-consuming production work wouldn't be tossed out. For example, from the beginning we knew that Drake was going to seek, and find, Quivira, one of the seven cities of gold. This allowed us to start, very early, visual development for Quiviran architecture, caverns, temples, statues and ruins.
We also knew that Quivira was going to be hidden deep within a rainforest. In the first few drafts of the script the rainforest's location changed several times (Mexico, Central America, South America), but the fact that we had a rainforest world was never in doubt. This allowed the environment team to complete a large amount of R&D even before we moved development from the PS3 to the PS Vita.
Second, once we started development, the script was locked (with one huge exception... see "Scope" in What Went Wrong) and became the backbone for the entire game. Game development is a messy business, because gameplay means iteration. You want things to change as you discover what makes your game fun. But from the beginning we felt that it was going to be necessary to separate narrative from gameplay as much as possible, to find the "fun" in things that could be changed, and leave the expensive narrative elements alone.
For example, the story called for a Shanty Town setting where Drake and Chase are held prisoner and escape, searching for her stolen gold amulet (one of the game's important MacGuffins) along the way. The exact details of the Shanty Town layouts, the minute-to-minute player experience, the traversal paths and combat areas, all changed during development as we refined our gameplay mechanics. But the story beats that drove the sequence never changed:
- Drake wakes up and finds himself prisoner. Chase breaks him out.
- Chase leads Drake to Guerro's headquarters to get her amulet
- Along the way Drake and Chase see Dante with Guerro and realize that Dante has betrayed them (surprise... not)
- Drake discovers truckloads of stolen artifacts and research, forcing Chase to come clean about her grandfather
- Drake becomes invested in Chase's quest and agrees to help her
- Drake retrieves the amulet and returns it to Chase... now she trusts him
Because the key narrative beats were locked, we could plan and schedule motion capture performance shoots, know what character assets would be needed for each level, start building environment assets and props and fine tune player paths, AI, collectible placement, all without fear that work was going to get tossed. Narrative didn't need to change as we made the levels more fun. If a designer came to us and said, "Hey, it would be fun if Drake was on a rickety rooftop and it collapsed beneath him," we could add that, no problem, because it wouldn't affect the core beats of the story. But if a designer said, "Hey, wouldn't it be fun if Drake woke up in the mountains and had to dig his way out of an ice cave?" That would be a problem.
Shot from the opening movie in the Shanty Town world. Though the flow of the level changed considerably during production, story beats like this were locked months in advance, allowing production of expensive cinematics to begin without fear of later revision.
We felt, and still feel, that development choices are almost analogous to the "any two cards" philosophy in Texas Hold'em: Is a cold-mountain environment and traversal over ice-covered rocks better than a rainy-rainforest environment and traversal over old ruins? Any given design choice could have potentially positive and negative impacts on the game. We always erred on the side of decisions that would have the least impact on our schedule. The locked script prevented us from making major and costly changes for their own sake. Gameplay could morph all it wanted, but the narrative beats remained as static as the laws of the universe. Iterative changes within the framework established by the story? No problem. Big changes that would change the narrative backbone? Uh-uh.
Because the script was locked before core production began, we could start planning and scheduling the creation of assets for all of our characters, sets, environments and more. The locked script helped with outsourcing as well: Over and over we were told by our support groups (animation, mocap, audio etc.) how much they appreciated the upfront planning we were able to do.
We completed our performance capture in just six shoots, starting in January of 2011 and finishing up the following May. Each shoot was three days -- one day of rehearsal and two days of shooting. This meant that we were able to shoot over 200 pages of script in just 12 days of performance capture, spread out over five months. While individual scenes and shots were still being written and polished during that time, the major beats of the story never changed. Such an aggressive -- and cost saving -- schedule would have been impossible if the story were still in flux.
Uncharted: Golden Abyss is a huge game, much larger than our core team of 55 people could hope to build on its own. To get the game done we relied on the hard work of several support teams. MK Productions (five people) did some of our large animated events; Scratch Image (three people) did almost all of our lip synching and facial animation; our producing team in Foster City (10 people) handled the logistics for everything, including localization, QA, interfacing with support groups, focus testing and more; the Sony music team (35 people) wrote and produced our soundtrack; the Sony sound department (34 people) developed all of the game's sound effects and VO; the Visual Arts and Services Group (32 people) helped with cinematic animation and motion capture clean-up; we did all of our motion capture at the Culver City motion-capture studio (30 people); and the performance capture director and actors (11 people) brought our characters to life. This doesn't even begin to count the many, many people working in Global Technology, Platform Architecture, Game Tech, HR, Finance, PR, Marketing, Management, as well as the many teams responsible for localization in Europe, Asia and Latin America.
Coordinating all of these people took a tremendous amount of direction, planning and scheduling. For our studio production manager, who normally manages our internal asset creation and milestone schedules, managing outsourcing became almost a second full time job. Even so, the outside work would have been impossible to manage without the help of key production managers from the support teams. To pull it off, you need solid, proactive and organized individuals in key management roles. We were, and are, very fortunate to have this. Sometimes you read a credit roll and think, "ah, come on... it doesn't take that many people to make a video game... they're padding this thing." The Uncharted: Golden Abyss credit roll is six minutes long, and yes, it took all those people, and more, to make the game and get it into the hands of players.
Finally, I can't emphasize enough the amount of assistance we got from Naughty Dog: Amy Hennig, their writer and creative director, helped considerably by assisting with casting, selecting a director, reading every page of every script, offering advice, suggestions, insights and revisions; the NDI design and engineering staff were on hand throughout the project to answer questions; we were allowed to use their mocap studio in Culver City; and as you'll read more about later, we used their source code as a blueprint for our engineering systems and their immense texture and animation libraries to make our game more authentically Uncharted. Without NDI, there would have been no Uncharted: Golden Abyss.
3. Focus Testing
For our previous games we had only done a limited amount of focus testing, usually very late in development. The reason was partly schedule and logistics -- the game would come together so late that we felt we really wouldn't have time to address issues that a focus test might reveal. But it was also partly our attitude: we were the developers! What could we possibly learn from mere gamers? We couldn't have been more wrong.
Our producers in Foster City had been extolling the virtues of focus testing for years. Because this was an Uncharted game, and because Naughty Dog integrates focus testing so completely into their process, we decided to embrace it as well. I'm glad we did.
We hired a consultant to help with recruiting and questionnaires, and built, for the first time, an internal focus testing area with six PS Vita stations, complete with "over the shoulder" cameras (so we could see how they were using the PS Vita touch and motion controls) and video feeds that were piped directly to our desks. Anyone on the team could watch the focus test playthroughs and we encouraged them to do so.
Bend Studio's new focus test area. Each station is set up with an external camera that allows us to see how gamers use the PS Vita controls.
The game had been in development for over a year and we were mere weeks from Alpha when in late September of 2011 we finally cobbled together a build of the game that could be played from beginning to end. Many levels were incomplete. You often could not load or stream from one level to another. There were incomplete features, crash bugs, missing polish and missing content. But for the first time, you could actually play the game and get a sense of what it was.
Chris Reese was one of the first to play the build. He came away from the experience with mixed feelings: "There's something there alright... it wasn't 'unfun'..." Hardly the high praise I was looking for. Our producer's reaction was more dramatic. He spent two days in our guest office playing the build and every time I walked by I could hear him swearing at the PS Vita. Not good. When he was done he told us he could see the potential, that there wasn't any one "big thing" wrong, just a thousand little things. His quote, "death by a thousand cuts," became our mantra over the next few weeks.
So we knew what to expect from our first internal focus test. We got six local gamers, set them up to play, and spent the next two days studying their actions. Every couple of hours we would stop them and have them fill out the questionnaires. At the end we did a group interview which turned into a free-wheeling discussion where they could say anything they liked -- which they did... in excruciating detail. Every little thing that could be picked on, they picked on.
A lot of issues they raised we already knew about, but there were a few key issues that we didn't. Equally important, we had implemented a metrics system that gathered information from their play sessions: how often did they die? Where? How long did they spend in each level? Where did they get stuck? How long did combat sequences last? How much ammo did they use? And so on. The metrics proved invaluable. Here are highlights of the important things we learned from focus testing:
Game Length. The game was big. Much bigger than it needed to be. We've never skimped when it comes to play time in our games. I think most of the Syphon Filter titles clocked in at eight to 10 hours, as did Resistance: Retribution. The first run through of Uncharted: Golden Abyss took players 16 hours.
Crazy as it sounds, up to that point we were honestly afraid the game wasn't long enough -- that the player wouldn't spend enough time with the game to give it that epic Uncharted feeling. Getting confirmation early about the game's length helped tremendously in terms of shaping the final polish because we were able to whittle things down instead of scrambling to add new content.
Flow. The game had multiple areas where the players simply got stuck or lost. This was one of the things contributing to that 16-hour playthrough. Our metrics showed us exactly where the players were spending the most time, and we were able to fix them.
One trouble spot, for example, was the maze in Chapter 15, where Drake must find four chimera statues in order to progress. Players got stuck here for hours because climbing ledges weren't obvious enough, and rooms either looked the same or were too dark. We were able to fix most of these problems: we broke holes into ceilings to let in light, making statues pop more; we made the rooms more distinctive. When these fixes didn't solve the problem we added an interactive map that updated when the player collected a symbol.
Fixing these types of problems improved flow while shortening the gameplay experience (in a good way). By the time we shipped, the game was still 10-12 hours long (again, see "Scope" in What Went Wrong), but players weren't getting as frustrated in these problem areas.
Chase's Character. Almost universally, focus testers hated Chase, the game's new female protagonist. This came as a surprise. We had done a thorough job vetting actresses in our casting process, which took weeks and involved dozens of readings -- including an audition where prospective actresses read with Nolan North. Everyone agreed that Christine Lakin was awesome, so she wasn't the problem.
And we had done all of our performance capture Naughty Dog style, a process new to us which gave the actors and director a full day of rehearsal before the performance was captured (mocap and voice at the same time.) The acting was top notch, the characters seemed natural, the banter flowed, the chemistry was there. So the performance capture wasn't the problem either.
The problem, we discovered, was the writing. In the script, Chase's character was a bit of a smart ass and a little sarcastic. Christine read these lines as intended and riffed on them, making Chase a little edgy. Drake was written to fire right back at her, to tease her, to cajole her. Their banter was great, we thought, and Nolan started to play off her tone, firing back attitude and one-liners. Players were going to love it.
But it didn't work out that way. Amy Hennig had warned us that writing female characters in this genre was hard, that you had to walk a fine line between making them too forceful or too wimpy (I'm paraphrasing like crazy here). To put it bluntly, they were calling Chase a wimp, a whiner, and a bitch.
The "bitch" label was unfair. What's that old adage? If a man acts forceful he's "take-charge and aggressive, a real leader" but if a woman acts that way, she's being "pushy and a bitch" -- an unfair gender stereotype, but one we had to deal with.
How? By making her less aggressive and critical. In the original script she told Drake that charcoal rubbings were "old school," in the revision, she told him they were cool. Focus testers' complaints about Chase being a "whiner" were spot on: in the original script she spent way too much time saying things like "Oh my God" and crying out every time Drake fell victim to a rickety structure (which he was prone to do), or every time something bad or unexpected happened; we strengthened her character by changing a lot of those responses.
Their "wimp" label was also a fair assessment. For gameplay reasons we constantly put Chase into situations where Drake needed to take action. Call it lazy if you want, but we ended up with a few "Princess Peach" scenarios... It seemed that poor Chase was constantly being choked, shot at, knocked out, dragged around and kidnapped. We fixed that, as well as we could, by changing the scenarios to make Chase less of a victim.
For example, in Chapter 10, Drake sees Chase being choked by a thug on a bridge; in the original version, Drake has so many seconds to use his sniper rifle to take the thug out, or Chase would die. In the revised version, Chase kicks the guy in the junk and runs. Drake still has to protect her as she runs, but at least she showed some initiative and power, and wasn't a complete victim.
We also found that focus testers were taking their cue from Drake: because he sounded annoyed with Chase for constantly getting into trouble, focus testers became annoyed with her as well. So when we revised Chase, we also revised Drake, making him react to her in a more positive way. In the bridge encounter mentioned above, for example, Drake originally sees Chase being choked and sounds exasperated -- "Not again!" In the revision, he sees Chase take action and says, "Chase... Ooooh, nice!"
A sample of some of the Chase and Drake lines that we revised as a result of the focus tests. Column C contains the dialogue: black text are the original lines, red text are the revisions. Column D contains directions for the actors. (Click for large version.)
In keeping with the "script is locked" approach to assets, all the new lines were written to match the existing animation and lip synch. Thanks to the magic of ADR (the process where actors speak their lines while watching video playback), we didn't have to redo a single frame of animation. By the time we got to our third focus test, the replacement lines were in and focus testers stopped complaining about Chase. Once the game shipped, some players ended up not liking her anyway (see "Story" in What Went Wrong), but without the focus test data we might have shipped a Chase that no one liked -- a disaster that could have ruined the game.
The Beginning. Originally, the game opened with Chapter 2, the scene where Dante and Drake put on their backpacks and head up the trail to the rope bridge. We chose this low-key, character oriented opening deliberately, knowing it would be hard to compete with the cinematic, vertical train-wreck climb that opened Uncharted 2: Among Thieves.
We spent weeks polishing Chapter 2 until the dialogue popped, the traversal flowed, the vistas sparkled... But focus testers complained that our opening was too slow because they didn't get to fire their first shot until something like 35 minutes into the game; there was too much traversal, too many puzzles, too much talking. They liked all that, but they also wanted to shoot their guns. Please, please let us shoot our guns.
So we added a prologue chapter to the game. Because we were already using our Serpent Temple level as the game's downloadable demo, we knew it wouldn't be much of a spoiler if we used it for a "flash-forward" opening. It was a good way to start the game with some action: Drake climbs all over the visually interesting Quiviran statues and dangles out over a precipice high above the rainforest, all while fighting an army of Dante's mercenaries.
But though the new opening improved pacing by starting the game with much needed action, it hurt the overall presentation because we no longer had a polished introduction movie. The Serpent Temple start-of-level movie was a low budget affair, with very little performance capture and dialogue that, frankly, wasn't very polished -- Drake's clichéd and forgettable line, "Son of a bitch... I'll see you in hell!" wasn't my best moment as a writer. But the movie was never intended to be more than just a short, load-masking cutscene; we didn't want to start the game with it, but there was no time or budget to replace it with something better.
Changing the game's opening required us to start the game with a low-budget movie (left), rather than the high-budget movie (right) that we originally planned. The new opening helped with pacing and gameplay flow, but hurt presentation and story. (Click for large version.)
In the end, even this change wasn't enough, and we had to add a combat sequence to Chapter 2. This was an example where the locked script hurt development (more on this later). It was difficult to introduce bad guys earlier, because we had already shot and produced the scenes at the Spanish gravesite where Drake is introduced to Guerro's thugs. We couldn't just introduce some random guys for Drake to shoot because it wouldn't be Uncharted -- Drake has to have justifiable motivation. Our solution, while it worked, wasn't optimal:
Who's shooting at us?
How do I know? Must be poachers. They come up here all the time.
Maybe Guerro's men?
No, I told you. Guerro don't come up here.
Again, weeks of carefully edited production that introduced Guerro's thugs was wasted as we were forced to use some hastily written pick-up VO and in-game animation in order to give them an earlier entrance.
The Ending. Focus testers also complained about our ending, saying it was too slow and anti-climactic. In the original ending, once the player rescued Chase from beneath the large stone block, they had to help her traverse along a dangerous path, avoiding crumbling statues and falling rocks, eventually making their way up to Sully as the cavern collapsed around them.
The focus testers made us realize that once players had beaten the bosses and rescued the heroine, emotionally, they were done with the game. More traversal, no matter how exciting the collapsing cavern might have been, was pointless busy-work. So we cut everything after the rescue and dove into the ending cinematic.
Overall we had four internal and two external focus test sessions. The data we got from watching these gamers play was invaluable, and helped us focus our time and energy during the polish phase of development. Some of the issues that came out of focus testing were things we would have discovered on our own, but there's no question that we also learned about -- and fixed -- important issues that would have gone unnoticed. We're now firm believers in making focus testing an integral part of development.
4. Hardware Prototyping
Because we were a launch title for new hardware, early support from the SCEI technology groups was going to be critical, and we got all the support we asked for. Chris Reese had this to say about our successes in developing for the new hardware:
Chris Reese: In the early days the challenge was prototyping proof of concept for gameplay ideas without the use of a game engine. Hardware prototypes for the PS Vita were changing frequently, and many of those prototype boards we had access to typically didn't have the full capabilities that the final hardware was spec'd to have.
This required us to work on very discrete elements of the engine that focused purely on a given aspect of hardware / gameplay that we wanted to test out and vet with the rest of the development team. Especially important was the inclusion of external groups within WWS / Sony / Sony Japan (SCEI) if hardware refinement was needed to make the gameplay feature work as designed.
We didn't have an engine, so we didn't have any pre-made assumptions as to what the hardware was capable of. Ultimately this led to the discovery of new ways to extend the Uncharted game experience and to the realization that by combining elements of motion, touch and traditional controls, we could create a unique integrated experience on the PS Vita that couldn't be achieved on the PS3 console. This was a key factor in confirming the direction of our technology and development for Uncharted on PS Vita.
Revisions of development hardware were always in short supply and had to be shared across multiple teams within Sony. Realistically, this meant our entire studio would often have one or two of the latest development kits -- which didn't stretch too well across a team of 50-plus people. To ensure we could move forward with production, the game and rendering engines were developed on the PS3, and in fact all production continued on our PS3 engine up until the final year, prior to launch of the PS Vita in Japan.
The PS Vita game and rendering engines were developed in tandem with the PS3. As we learned more about the performance of the hardware we could make better-educated assumptions on how the final target hardware would ultimately perform and consequently we would make changes to the PS3 engine to ensure that the production team was building for PS Vita and not the PS3. The engineering team had a mandate to never allow the production team to come to a halt, even in the event of catastrophic hardware failures -- which, thankfully, were a rare occurrence. Keeping development parity between PS Vita and PS3 did reduce our engineering bandwidth overall, but was also one of the single biggest successes for the team to remain productive during a period of time when PS Vita specs and available working hardware were in flux.
While we had a significant amount of experience and code written for the PSP by the time we finished Resistance: Retribution. The decision from day one was to build a new game engine that was developed to take advantage of the unique hardware that the PS Vita offered.
Naughty Dog also provided access to Uncharted: Drake's Fortune and Uncharted 2: Among Thieves source code, and this was invaluable. We did not port the Uncharted code from Naughty Dog, but instead used it more as a blueprint on how to approach the development for a PS Vita version of Uncharted. This proved to be especially useful for core systems, such as animation, to ensure we could replicate the look and feel from the PS3.
John Garvin: As Chris points out, we completed our first year of development without having anything remotely like final hardware. But this didn't stop us from getting a lot of development done. While the story department (i.e. me) was busy floundering away an entire year, design and engineering were making great progress. Partly this was because we had identified several features that we knew we wanted, regardless of what the story might be.
Since Uncharted is all about exploring historical mysteries, we spent some time brainstorming ways players could interact with artifacts using the PS Vita controls. We decided early on that we wanted to develop a PS Vita game, not just a stripped down version of a PS3 game. In other words, if you could play our game just as well on the PS3, we felt that we would have failed. We had a whole toy box full of new ways to interact with the game and we wanted to use them.
One example was the SLR camera. While we never thought we could work this directly into the story (would Nathan Drake really keep a camera in his pocket and whip it out like a tourist every time he saw something interesting?), we felt we could work a camera mode in as an unlock for collectables, regardless of story.
An early version of the game (June, 2010) took place between Uncharted 1 and 2 and had Drake helping Elena by taking photographs for her.
Drake would be asked to photograph statues, temple facades, ruins etc. and after equipping his trusty camera, as the player moved and rotated the PS Vita in real space, we updated the in-game camera to match. It made for a convincing and effective illusion. The PS Vita's gyro was so accurate, in fact, that we used this feature for our sniper rifle's scope mode as well as our Intu-Aim -- which allowed the player to adjust all reticle movement using the PS Vita's motion controls.
As various hardware features came online in the ever-evolving dev kits, we would brainstorm ways to use them. The touch screen could be used to clean artifacts, piece together torn documents or rotate stone puzzles; the rear touch could be used to rotate skulls and amulets; the camera could be used to detect light so ancient parchments could be held up to a light sources.
None of these were groundbreaking or original, but later on, when we were trying to break up core action or slow the pace of the game a bit, it was nice to have an entire library of mi