Environment artist Martin Teichmann reveals Naughty Dog's workflow on Uncharted 4 and provides his tips for creating better game environments
Environment artist Martin Teichmann began his career at Germany's
Deck13 Interactive, creating assets for fantasy RPG
moving first to Crytek to work on the
Crysis games, and then to
Rocksteady Studios for
Batman: Arkham Knight. Last year, he moved to Naughty Dog to work on its hit PlayStation 4
Uncharted 4: A Thief's End
– an experience he recalled during Gnomon's artist panel on 3D Environment Art for Video Games last week.
In a fascinating 30-minute talk, Martin outlined Naughty
Dog's environment art workflow, from early concept sketches through
to the initial block mesh, asset building, level refinement,
detailing and optimization. He also discussed the challenges
Uncharted 4's game mechanics presented to Naughty Dog's artists, and
provided his tips on how to add detail to a game environment, balancing visual quality and playability.
You can watch the complete recording of Martin's talk on Gnomon's Livestream channel, but below, we've provided a condensed transcript of the highlights.
Workflow: concept design
In all the Uncharted games, you have to discover a lost city at some point. In Uncharted 4, it comes fairly late in the game. It's supposed to be a pirate utopia.
When we started work, we had a couple of concepts from Aaron Limonick, who was doing amazing paintings to discover the look of the level. The image above shows the iterations you have to go through to nail the look you're going for.
Workflow: the block mesh
Once we'd designed the look we were going for, level design created a block mesh. As you can see, it's already really detailed; it shows you all the buildings and areas in the level. This is where I jump in as a modeler and start my work.
Workflow: overpainting and refinement
At this point, we needed to develop the look and style of the level further. I'd send screenshots of my work in progress to the concept team and they would do an overpaint, outlining materials and colors and adding more detail.
I think this overpaint by Aaron is awesome. For a long time, I had it as my
desktop background so I could get it in my brain. There's a lot of nice
foliage; and some nice materials to break up the buildings. Then we just had to
make those assets.
Here's the final shot. Ana Cho was
my texturing artist on this level and did a lot of awesome work on the
That's a quick overview of the workflow: I'd get the block mesh, start
modeling, get feedback, iterate on it, improve things and add more detail.
Challenges: preserving the game mechanics
Now I want to go into more detail about the challenges I encountered. Making a level look pretty is one aspect of what an artist needs to do, but there are a lot of others.
Above, you can see a screenshot of the final level. This part of the city is a poor area, and half of it is falling down the cliffs. But the block mesh was perfectly straight, so I wanted to break that up. The problem was that all the gameplay mechanics – all of the jumping, and ledge grabs, and cover – still needed to work.
In the center part of the level, I kept the buildings pretty straight, and just tried to move elements like the two prominent buildings in the background. I tilted them and let them run against each other: just enough to look interesting, but not so far that the gameplay wouldn't work. The center building is the only one in the area that I moved, but because it's pretty prominent, you get the most out of it. The result looks pretty organic, although most of the buildings are unchanged.
Challenges: preserving the collision mesh
Another thing to deal with when you're an environment modeler is the collision mesh. The geometry shown above is what the game engine sees. It's hidden in-game, so the player won't see it, but all of the gameplay mechanics are based on it.
At Naughty Dog we have one build which is live all the time, so when I submit updated artwork into Perforce, our version-control system, it's live for everyone in the company. If I submit a new building and the collision mesh is missing, the player falls through the level, so I get a call from the design team!
Even though as an environment artist, I do almost everything in Maya, we do
have a level editor in which we can fine-tune gameplay elements like edge grabs
and cover elements. Design works mainly in the level editor. It's way faster
than editing the collision mesh. But once they lock something down, no more
changes can be made, so it's a tool for the very end of development; for the
Challenges: preserving readability
Another big challenge was the readability of the level. This overpaint improves both visual quality and readability. As you can see on the left, we were trying to desaturate this area – this is the poor part of town, so it wasn't meant to be fancy – but we'd gone a bit far at this point. We came up with the solution of tinting all the accessible floors green, while the blue frames show windows you can jump through.
highlighting gameplay elements
Another big part of readability is to make sure all the gameplay elements read as gameplay elements. Here, I've highlighted all of the handholds in this level. All of them needed to be clearly visible: it's a combat area, so you need to be able to react quickly all the time. You should never die because you don't know where to go, or because you try to jump onto something you can't.
We had a gameplay rule that every handhold had to have a edge highlight so
you can tell that it is climbable. We had a standard white highlight colour.
But in this level, the wood was dark, so it came out almost cartoony-looking.
We had to go through quite a few iterations to get it looking good, but still
easy to read.
But that's only half of it. Every horizontal line might look like an edge
grab, including the beams separating the different floors of the houses. Rather than remove them, I chose to cover them with vegetation. At first, I thought it
might look weird, but it ended up looking pretty nice, with ivy growing on top
of man-made structures.
Tips: selective detailing
Because gameplay areas had to be kept clear, I tried hard to find other parts of the level where I could add detail. In the image above, the area underneath the stairs has no gameplay purpose, but it created a space I could fill with objects. It's a nice synergy: rather than cluttering everything, you have little pockets of detail, then other patches where the eye can rest; where you can read the gameplay clearly.
Tips: opening the background
In this area, in the original block mesh, the back was basically just a wall, so I took the chance to open it up and create an extra basement room. You can't access it – it's blocked with wooden beams – but it adds a lot of detail, and creates visual depth.
The last stage is optimization. The problem with this level is that you can see the entire thing right from the start, so there's a lot of stuff to render. But because it's a combat area, you want it to be really smooth. You don't want to frustrate the player by not having a solid 30fps.
We have a visibility system that hides elements that aren't visible from the renderer, but it works per-object, not per-pixel, so if a single pixel of a crate is visible, the entire crate will be rendered. Because the level is so open, with all the windows and broken walls, I added solid planes at some points so you can't see through them. I had to sacrifice a bit of visual quality, but it was quite a big improvement in performance.
I also had to disable real-time shadow casting on most of the foliage. Because we use lightmaps, the plants still have a grounding in the level, so it still works pretty well.
Being a games modeler involves working with a lot of departments: concept art, design, texturing, lighting, visual effects and programming. When you're an artist, you really just want to make things pretty, but there are some aspects you have to sacrifice for the sake of gameplay and performance.
But when you have limitations, use them as strengths. The vegetation I placed along the roof beams of the houses to indicate that they aren't climbable is a good example of a change that improves the visual quality of the environment – even though at first it was just a limitation I had to deal with.
Watch the complete recording of Martin Teichmann's Gnomon talk
Discover how Gnomon alumni helped create Uncharted 4
Read Naughty Dog's tips for landing a job at a AAA game developer
Browse Gnomon's training courses in games tools and techniques
Founded in 1997, Gnomon has trained thousands of students and professionals for careers in the entertainment industry. Find out more