The concepts for the main characters were always directed towards simplicity -- Drake's outfit is really no more than a t-shirt and jeans. The reason for this, and for other choices like it, is that we wanted the characters' personalities to come through in the performances of the actors, rather than being expressed in accessories and trinkets attached to the character model.
We even took a minimalist approach with the story. We constantly applied the rule of "show, don't tell" during our writing sessions. If a line of dialog could be implied in a gesture or an expression, it was left out. Additionally, characters' lines almost always had two layers of meaning: what the character was apparently saying on the surface, and what they were really thinking (which, again, was conveyed by the physical performances).
There were times where we questioned ourselves and wondered whether this sort of depth in writing and performance would come off in the game -- but our fears were quickly laid to rest as the cutscenes started coming together.
The high-resolution characters that our artists created combined with the mocap data our talented animators finessed really brought the nuanced performances to life.
As characters delivered lines that contained layers of subtext, their true emotional state could be read in their gestures and expressions -- and it's this delicate combination and the resulting authenticity of character that we think is the key to the success of our story.
4. Animation and AI.
Animation and AI were very important for our project from the beginning. We'd been proud of the animation in our previous games, both in-game and in our cutscenes. We knew that in order to make our realistic characters' humanity and vulnerability as believable as they needed to be, we'd have to work extra hard. Excellent facial animation, in particular, would be key to depicting a relatable hero that you'd really want to root for.
Also, AI was really going to make or break the gameplay -- both for the enemies in combat and the friendly characters that Drake would journey through the game with. So at the beginning of the project, we set out to create very complex animation and AI systems, which were planned to provide a general solution to the problems associated with believable human interactions within a game environment.
Ultimately, our initial directions for both systems proved to be too complex. We had gotten hung up on aesthetics, and forgot about just getting the game working and making it fun. So instead we implemented simpler solutions, more focused on the kinds of activities and behaviors that you associate with the type of character-action game we had in mind.
We used layering and blending techniques to play back different full-body, partial, and additive animations on Drake's body and for the AI-driven characters, resulting in a huge apparent variety of animations. Sometimes we'd be playing back up to 25 layered Drake animations at once! We also used some inverse kinematics techniques to help register Drake to the environment, and in the end, we were very happy with the results that we got.
5. Next-gen graphics.
For our previous four projects, our studio worked exclusively on the PlayStation 2. That left us facing a big learning experience as far as developing modern graphics technologies -- such as shaders -- and Uncharted saw a tremendous amount of collaboration between programmers and artists in order to achieve the kinds of results we wanted.
As we'd done for previous Naughty Dog projects, we used multiple rendering engines at once, which we wrote specially to handle different parts of the game world.
Two of the major systems rendered our geometry and a third did water, while other renderers took care of particles, decals, and the HUD. All of these were very heavily optimized for the PlayStation 3 hardware, using the console's SPUs in some cases to supercharge the RSX graphics processor.
Our water shader not only uses the same basic reflection and refraction techniques as other games, but uniquely models water flow effectively.Color is computed not from textures but by using optical and physical principles, some based on water depth, which helps give our water a very realistic look. We did all of our water effects -- foam, water bubbles from churn, and silt -- in the shader, which also helped our water "sell."
All in all, we were very happy that we not only caught up in terms of graphics technologies, but even helped raise the bar.