|
What is visual look development?
Visual
look development is the process of nailing down the visual look of a
game and how it can be realized in the game engine. The goal is to
answer the question: What is your game going to look like and how are
you going to do it? By the end, you should have an in-game demo showing
your environment at near shippable quality.
Keep the area small. If there are multiple environments, develop one at a time. Choose the most important environments first.
This article describes the process using a case study: Star Trek Online.
Star Trek Online
takes place on board ships, in space and on the ground. Each of these
environments will be different and will require a separate look
development. For our first visual look development cycle, we chose the
interior of starships. By the end of the cycle, we wanted to show the
interior of a galaxy class starship in-game at near shippable quality.
To manage the workload, we kept the number of rooms low. We chose a hallway and a conference room from the Next Generation series.
Why do visual look development?
You
need confidence that you can achieve your visual look. If your game is
all about shadows and moody lighting, you better be sure you can pull
it off.
You
don't have time to do everything. The number of graphics techniques
available to PC games is increasing rapidly and differ widely in the
effects they produce. Implementing them takes time. Figure out what
effects are going to give the biggest bang-for-the-buck.
You
can't build assets for technology you don't understand. The graphics
techniques you choose will often impose restrictions on the way assets
are authored. For example, if you use stencil shadows, your geometry
must consist of closed manifolds. Figure out the restrictions on your
assets before you start building them.
The Star Trek Online team faces these same issues. In particular, we had to be sure we could meet expectations set by the television show. Star Trek
fans know what the interior of a starship looks like. It is one of the
most recognizable aspects of our IP. We had to make sure we could
deliver it.
When should you do visual look development?
Visual look development must be done in pre-production.
You
need to have your core technology understood before you can begin
creating assets. If you start producing assets before you understand
the parameters for their construction, you may end up with a lot to
throw away.
Once
production starts, there won't be enough time to experiment. Your
developers will be working hard to get the systems in place so that
artists and designers can do their jobs. It is difficult to justify
trying out things that might not work when other people are blocked.
Star Trek Online
is in pre-production. We have done one visual look development cycle
and plan on doing several more before pre-production ends.
How do you do visual look development?
Form a small team
Form
a look development team and keep it small. A couple artists and a
couple engineers should be all you need. Communication is important.
The engineers can't be serving too many masters. If they are, the turn
around time is going to suffer.
The Star Trek Online
visual look development team had two artists and one programmer working
together. The programmer was completely focused on serving the two
artists. When the artists asked for something, it would be delivered in
a matter of hours or even minutes. Everyone knew exactly what one
another was doing.
Choose a deadline
Have
a deadline and clear goals. Have the team form both so they buy into
it. When the deadline is reached, have a presentation. Without a
deadline, the development process can go on indefinitely. Knowing
you're going to show the fruits of your efforts to an audience is a
great motivator.
For
our most recent look development cycle, we scheduled 30 working days.
At the end of it, we presented the results to our team and company
executives.
Start with concept art
The
visual look of a game begins with concept art. Look at the concept art
and extract the key features which sell the look. These are the
features you will want to reproduce in engine.
The
kinds of details that are important to your game are going to vary
widely. These questions should help get at them: Are there lots of
lights? Are the shadows soft or hard? Are the surfaces highly detailed?
Does the lighting have strong contrast or is it more diffuse? What will
players spend most time looking at? Is realistic skin important?
We
set out to reproduce the interior of a starship from the television
show, so we began by examining shots of the sets. Looking over the
images, we made a few observations. There are many light sources. The
lighting is diffuse. Shadows are soft. There are several types of
material with different reflectivity and specularity. These were the
features we wanted to reproduce in game. We thought they were the key
to the look.
You can see some of our reference shots below.
|
|
|
 |
 |
 |
A reference shot of a Federation starship hallway.
|
|
|
|
 |
 |
 |
A reference shot of a Federation starship observation lounge.
|
|
|
|
 |
 |
 |
Star Trek Online Federation turbo lift reference.
|
Try lots of different things
Once
you have an idea of what you are trying to accomplish, experiment. Seek
out ideas and try them. You never know how well a technique will work
until you use it. If it isn't working, put it aside and try something
else.
Look
all over the place for ideas. Look at other games and game demos. Read
Gamasutra. Become familiar with the major video card manufacturers'
developer sites. Try out sample code with your assets.
Star Trek Online looked to other titles for inspiration for lighting our interiors. We studied and contrasted the approaches taken by Doom 3 and Half-Life 2. Both produce outstanding results, but the look of these two games is extremely different.
Doom 3
uses a direct lighting solution. Light is cast from light positions in
the world and calculated in real-time. There is no bounce lighting.
Shadows have hard edges. Only basic light types are supported – point,
directional, spot lights, etc. The result is a high-contrast and
dynamic lighting environment.
Half-life 2
uses a pre-calculated radiosity solution. The lighting information is
calculated offline by specialized software. Light can be cast by any
surface. Bounce light is calculated. Shadows are soft. The result is a
highly realistic but static lighting environment.
We
wanted to experiment with both of these techniques. We started by using
Maya to experiment with the direct lighting approach. It became clear
that the number of lights would be prohibitive. We put that technique
aside and turned to Mental Ray for a radiosity solution. After a lot of
experimentation, we were able to create the lighting we were after. It
looked good in Maya so we invested the time needed to get it in game.
Experiment in Content Creation Tools
Have
your artists try things in their favorite content creation tool. Study
how they accomplished the effect. Reproduce the effect in engine.
Our artists created the look they wanted using Maya. I sat down with him and learned how he accomplished it.
Keep your expectations flexible
If
you can't achieve the look you are after, change the look. If something
is working really well, take advantage of it. This process is about
finding a visual look which can be realized in game. Not only does the
desired look inform the type of technology used, but the capabilities
of the technology inform the visual look. Take advantage of your
strengths. Move away from your weaknesses.
During
our exploration, we realized that the radiosity solution was working
really well. This meant static lighting environments. We made a
decision that dynamic lights were less important than diffuse lighting.
Keep iteration time short
The
time it takes to go from an idea to seeing it in game must be as short
as possible. Keep the tools simple and quick. Don't spend time
optimizing the geometry. Make it easy to add and change shaders. Don't
optimize the shaders. Write throw away code if you need to. Use tools
like FX Composer and Rendermonkey.
On Star Trek Online,
our programmer was immediately available to make implementations
changes. The exporter and runtime code allowed new shaders to be added
quickly. Shaders could be changed and reloaded without restarting the
game. Assets could be changed and reloaded without restarting the game.
Have daily meetings
Get everyone together at least once a day. Keep the meetings short. These meetings have two major goals:
1.
Keep everyone aware of what one another are doing. Have everyone answer
the questions - What did you do yesterday? What are you doing today?
What do you need from one another?
2.
Look at what you have achieved in-game and talk frankly about the
status. Would you want to present this as the results of your hard work?
On Star Trek Online,
we had a 15-minute meeting every day at 10 AM to touch base. Later in
the day we would gather around one machine to see what we had in game.
At first, we were looking at very crude environments and it was a bit
painful. This prodded us to push ahead and soon these daily meetings
were an opportunity to pat one another on the back as things started to
come together.
What are the results?
The most important result of visual look development is an in-game demo showing your environment at near shippable quality.
The demo must be in-game. You cannot say confidently that you can achieve your goals without in-game proof.
The
results have to be near shippable quality. Reach a level of quality
that you would feel good showing an executive. The level of quality
does not have to be final. The last 10 percent takes 90 percent of the
effort, so don't spend too much time on polish.
Performance
doesn't have to be final. Understand your performance. Make sure you
have confidence that the performance can be improved.
The results of the Star Trek Online visual look development for starship interiors can be seen below.
|
|
|
 |
 |
 |
Star Trek Online Federation turbo lift demo.
|
|
|
|
 |
 |
 |
Star Trek Online Federation starship hallway demo.
|
|
|
|
 |
 |
 |
Star Trek Online Federation starship observation lounge demo.
|
Our results were not final, but we had enough confidence in the process that we'd eventually get to where we wanted to be.
_____________________________________________________
|